8000 Add test for scratch flow · coder/coder@f8a6efc · GitHub
[go: up one dir, main page]

Skip to content

Commit f8a6efc

Browse files
committed
Add test for scratch flow
1 parent 0609511 commit f8a6efc

File tree

1 file changed

+42
-0
lines changed

1 file changed

+42
-0
lines changed
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
import { render, screen } from "@testing-library/react";
2+
import { AppProviders } from "App";
3+
import { RequireAuth } from "contexts/auth/RequireAuth";
4+
import { RouterProvider, createMemoryRouter } from "react-router-dom";
5+
import TemplatesPage from "./TemplatesPage";
6+
import userEvent from "@testing-library/user-event";
7+
8+
test("create template from scratch", async () => {
9+
const user = userEvent.setup();
10+
const router = createMemoryRouter(
11+
[
12+
{
13+
element: <RequireAuth />,
14+
children: [
15+
{
16+
path: "/templates",
17+
element: <TemplatesPage />,
18+
},
19+
{
20+
path: "/templates/new",
21+
element: <div data-testid="new-template-page" />,
22+
},
23+
],
24+
},
25+
],
26+
{ initialEntries: ["/templates"] },
27+
);
28+
render(
29+
<AppProviders>
30+
<RouterProvider router={router} />
31+
</AppProviders>,
32+
);
33+
const createTemplateButton = await screen.findByRole("button", {
34+
name: "Create Template",
35+
});
36+
await user.click(createTemplateButton);
37+
const fromScratchMenuItem = await screen.findByText("From scratch");
38+
await user.click(fromScratchMenuItem);
39+
await screen.findByTestId("new-template-page");
40+
expect(router.state.location.pathname).toBe("/templates/new");
41+
expect(router.state.location.search).toBe("?exampleId=scratch");
42+
});

0 commit comments

Comments
 (0)
0