Skip to content

Commit 96f4827

Browse files
committed
test: add msw
1 parent 30a745f commit 96f4827

File tree

3 files changed

+257
-4
lines changed

3 files changed

+257
-4
lines changed

__tests__/msw-example.test.ts

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
import { HttpResponse, http } from "msw";
2+
import { setupServer } from "msw/node";
3+
import { afterAll, afterEach, beforeAll, expect, test } from "vitest";
4+
5+
const server = setupServer(
6+
http.get("https://api.example.com/greet", () =>
7+
HttpResponse.json({ message: "hello from msw" }),
8+
),
9+
);
10+
11+
beforeAll(() => server.listen({ onUnhandledRequest: "error" }));
12+
afterEach(() => server.resetHandlers());
13+
afterAll(() => server.close());
14+
15+
test("fetches mocked data from MSW handler", async () => {
16+
const res = await fetch("https://api.example.com/greet");
17+
expect(res.ok).toBe(true);
18+
const json = (await res.json()) as { message: string };
19+
expect(json).toEqual({ message: "hello from msw" });
20+
});
21+
22+
test("can override handler per test", async () => {
23+
server.use(
24+
http.get("https://api.example.com/greet", () =>
25+
HttpResponse.json({ message: "override" }),
26+
),
27+
);
28+
29+
const res = await fetch("https://api.example.com/greet");
30+
expect(res.ok).toBe(true);
31+
const json = (await res.json()) as { message: string };
32+
expect(json.message).toBe("override");
33+
});

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
"better-auth": "1.4.0-beta.21",
2323
"class-variance-authority": "0.7.1",
2424
"clsx": "2.1.1",
25+
"msw": "^2.12.2",
2526
"next": "16.0.3",
2627
"react": "19.2.0",
2728
"react-dom": "19.2.0",

0 commit comments

Comments
 (0)