mirror of
https://github.com/lensapp/lens.git
synced 2025-05-20 05:10:56 +00:00
Add some tests
Signed-off-by: Sebastian Malton <sebastian@malton.name>
This commit is contained in:
parent
9a42523a24
commit
95d2fb288b
@ -0,0 +1,105 @@
|
||||
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
||||
|
||||
exports[`<DrawerParamToggler /> after clicking the toggle after clicking the toggle again renders 1`] = `
|
||||
<body>
|
||||
<div>
|
||||
<div>
|
||||
<div
|
||||
class="flex gaps align-center params"
|
||||
>
|
||||
<div>
|
||||
Foo
|
||||
</div>
|
||||
<div
|
||||
data-testid="drawer-param-toggler"
|
||||
>
|
||||
<span>
|
||||
Show
|
||||
</span>
|
||||
<i
|
||||
class="Icon material focusable"
|
||||
>
|
||||
<span
|
||||
class="icon"
|
||||
data-icon-name="arrow_drop_down"
|
||||
>
|
||||
arrow_drop_down
|
||||
</span>
|
||||
</i>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
`;
|
||||
|
||||
exports[`<DrawerParamToggler /> after clicking the toggle renders 1`] = `
|
||||
<body>
|
||||
<div>
|
||||
<div>
|
||||
<div
|
||||
class="flex gaps align-center params"
|
||||
>
|
||||
<div>
|
||||
Foo
|
||||
</div>
|
||||
<div
|
||||
data-testid="drawer-param-toggler"
|
||||
>
|
||||
<span>
|
||||
Hide
|
||||
</span>
|
||||
<i
|
||||
class="Icon material focusable"
|
||||
>
|
||||
<span
|
||||
class="icon"
|
||||
data-icon-name="arrow_drop_up"
|
||||
>
|
||||
arrow_drop_up
|
||||
</span>
|
||||
</i>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div
|
||||
data-testid="drawer-child"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
`;
|
||||
|
||||
exports[`<DrawerParamToggler /> renders 1`] = `
|
||||
<body>
|
||||
<div>
|
||||
<div>
|
||||
<div
|
||||
class="flex gaps align-center params"
|
||||
>
|
||||
<div>
|
||||
Foo
|
||||
</div>
|
||||
<div
|
||||
data-testid="drawer-param-toggler"
|
||||
>
|
||||
<span>
|
||||
Show
|
||||
</span>
|
||||
<i
|
||||
class="Icon material focusable"
|
||||
>
|
||||
<span
|
||||
class="icon"
|
||||
data-icon-name="arrow_drop_down"
|
||||
>
|
||||
arrow_drop_down
|
||||
</span>
|
||||
</i>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
`;
|
||||
@ -4,24 +4,20 @@
|
||||
*/
|
||||
|
||||
.DrawerParamToggler {
|
||||
.param-label {
|
||||
.label {
|
||||
flex-grow: 2
|
||||
}
|
||||
|
||||
.param-link {
|
||||
.link {
|
||||
cursor: pointer;
|
||||
|
||||
.param-link-text {
|
||||
.linkText {
|
||||
color: var(--blue);
|
||||
text-decoration: underline;
|
||||
}
|
||||
}
|
||||
|
||||
.param-content {
|
||||
&.open {
|
||||
display: block;
|
||||
}
|
||||
|
||||
display: none;
|
||||
.content {
|
||||
display: block;
|
||||
}
|
||||
}
|
||||
59
src/renderer/components/drawer/drawer-param-toggler.test.tsx
Normal file
59
src/renderer/components/drawer/drawer-param-toggler.test.tsx
Normal file
@ -0,0 +1,59 @@
|
||||
/**
|
||||
* Copyright (c) OpenLens Authors. All rights reserved.
|
||||
* Licensed under MIT License. See LICENSE in root directory for more information.
|
||||
*/
|
||||
|
||||
import type { RenderResult } from "@testing-library/react";
|
||||
import { render } from "@testing-library/react";
|
||||
import React from "react";
|
||||
import { DrawerParamToggler } from "./drawer-param-toggler";
|
||||
|
||||
describe("<DrawerParamToggler />", () => {
|
||||
let result: RenderResult;
|
||||
|
||||
beforeEach(() => {
|
||||
result = render((
|
||||
<DrawerParamToggler
|
||||
label="Foo"
|
||||
>
|
||||
<div data-testid="drawer-child"></div>
|
||||
</DrawerParamToggler>
|
||||
));
|
||||
});
|
||||
|
||||
it("renders", () => {
|
||||
expect(result.baseElement).toMatchSnapshot();
|
||||
});
|
||||
|
||||
it("does not render children by default", () => {
|
||||
expect(result.queryByTestId("drawer-child")).toBeNull();
|
||||
});
|
||||
|
||||
describe("after clicking the toggle", () => {
|
||||
beforeEach(() => {
|
||||
result.getByTestId("drawer-param-toggler").click();
|
||||
});
|
||||
|
||||
it("renders", () => {
|
||||
expect(result.baseElement).toMatchSnapshot();
|
||||
});
|
||||
|
||||
it("renders children", () => {
|
||||
expect(result.queryByTestId("drawer-child")).not.toBeNull();
|
||||
});
|
||||
|
||||
describe("after clicking the toggle again", () => {
|
||||
beforeEach(() => {
|
||||
result.getByTestId("drawer-param-toggler").click();
|
||||
});
|
||||
|
||||
it("renders", () => {
|
||||
expect(result.baseElement).toMatchSnapshot();
|
||||
});
|
||||
|
||||
it("does not children", () => {
|
||||
expect(result.queryByTestId("drawer-child")).toBeNull();
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
@ -3,10 +3,9 @@
|
||||
* Licensed under MIT License. See LICENSE in root directory for more information.
|
||||
*/
|
||||
|
||||
import "./drawer-param-toggler.scss";
|
||||
import * as styles from "./drawer-param-toggler.module.scss";
|
||||
import React from "react";
|
||||
import { Icon } from "../icon";
|
||||
import { cssNames } from "../../utils";
|
||||
|
||||
export interface DrawerParamTogglerProps {
|
||||
label: string | number;
|
||||
@ -30,16 +29,20 @@ export class DrawerParamToggler extends React.Component<DrawerParamTogglerProps,
|
||||
const link = open ? `Hide` : `Show`;
|
||||
|
||||
return (
|
||||
<div className="DrawerParamToggler">
|
||||
<div className={styles.DrawerParamToggler}>
|
||||
<div className="flex gaps align-center params">
|
||||
<div className="param-label">{label}</div>
|
||||
<div className="param-link" onClick={this.toggle}>
|
||||
<span className="param-link-text">{link}</span>
|
||||
<div className={styles.label}>{label}</div>
|
||||
<div
|
||||
className={styles.link}
|
||||
onClick={this.toggle}
|
||||
data-testid="drawer-param-toggler"
|
||||
>
|
||||
<span className={styles.linkText}>{link}</span>
|
||||
<Icon material={icon}/>
|
||||
</div>
|
||||
</div>
|
||||
{open && (
|
||||
<div className={cssNames("param-content", { open })}>
|
||||
<div className={styles.content}>
|
||||
{children}
|
||||
</div>
|
||||
)}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user