Skip to content

Commit 83ac657

Browse files
author
Tamoor Shahid
committed
Added a simple drawer test and allowed for automatic DOM clean up after each test.
1 parent 2e8ca8f commit 83ac657

File tree

3 files changed

+15
-2
lines changed

3 files changed

+15
-2
lines changed

setUpFiles.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
import { afterEach } from "vitest";
2+
import { cleanup } from "@testing-library/react";
3+
4+
afterEach(() => {
5+
cleanup();
6+
});

src/screens/OavMover.test.tsx

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { it, expect, describe } from "vitest";
2-
import { OavMover } from "./OavMover";
3-
import { render, screen } from "@testing-library/react";
2+
import { OavMover, SideDrawer } from "./OavMover";
3+
import { fireEvent, render, screen } from "@testing-library/react";
44
import { Provider } from "react-redux";
55
import { store } from "@diamondlightsource/cs-web-lib";
66
import "@testing-library/jest-dom/vitest";
@@ -18,4 +18,10 @@ describe("OavMover Components", () => {
1818
expect(screen.getByLabelText("Backlight")).toBeInTheDocument();
1919
expect(screen.getByLabelText("ZoomControl")).toBeInTheDocument();
2020
});
21+
it("should open the side drawer upon pressing a specific button", () => {
22+
render(<SideDrawer />);
23+
expect(screen.queryByText(/Collect Position/i)).not.toBeInTheDocument();
24+
fireEvent.click(screen.getByRole("button", { name: /Preset Positions/i }));
25+
expect(screen.getByText(/Collect Position/i)).toBeInTheDocument();
26+
});
2127
});

vitest.config.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,5 +3,6 @@ import { defineConfig } from "vitest/config";
33
export default defineConfig({
44
test: {
55
environment: "jsdom",
6+
setupFiles: ["./setUpFiles.ts"],
67
},
78
});

0 commit comments

Comments
 (0)