Skip to content

Commit ba275c3

Browse files
committed
test: update session test
1 parent 22807f2 commit ba275c3

File tree

1 file changed

+39
-36
lines changed

1 file changed

+39
-36
lines changed

test/session.test.ts

Lines changed: 39 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import supertest from "supertest";
22
import { describe, it, expect, beforeEach } from "vitest";
33
import {
44
createApp,
5+
createRouter,
56
toNodeListener,
67
App,
78
eventHandler,
@@ -12,18 +13,23 @@ import {
1213

1314
describe("session", () => {
1415
let app: App;
16+
let router: ReturnType<typeof createRouter>;
1517
let request: ReturnType<typeof supertest>;
16-
let cookie: string | undefined;
18+
let cookie = "";
19+
20+
let sessionIdCtr = 0;
21+
const sessionConfig: SessionConfig = {
22+
name: "h3-test",
23+
password: "1234567123456712345671234567123456712345671234567",
24+
generateId: () => ++sessionIdCtr + "",
25+
};
1726

1827
beforeEach(() => {
19-
app = createApp({ debug: true });
20-
let sessionIdCtr = 0;
21-
const sessionConfig: SessionConfig = {
22-
name: "h3-test",
23-
password: "1234567123456712345671234567123456712345671234567",
24-
generateId: () => ++sessionIdCtr + "",
25-
};
26-
app.use(
28+
router = createRouter({ preemptive: true });
29+
app = createApp({ debug: true }).use(router);
30+
request = supertest(toNodeListener(app));
31+
32+
router.use(
2733
"/",
2834
eventHandler(async (event) => {
2935
const session = await useSession(event, sessionConfig);
@@ -33,40 +39,37 @@ describe("session", () => {
3339
return { session };
3440
}),
3541
);
36-
request = supertest(toNodeListener(app));
3742
});
3843

39-
describe("useSession", () => {
40-
it("initiates session", async () => {
41-
const result = await request.get("/");
42-
expect(result.headers["set-cookie"]).toHaveLength(1);
43-
cookie = result.headers["set-cookie"][0];
44-
expect(result.body).toMatchObject({
45-
session: { id: "1", data: {} },
46-
});
44+
it("initiates session", async () => {
45+
const result = await request.get("/");
46+
expect(result.headers["set-cookie"]).toHaveLength(1);
47+
cookie = result.headers["set-cookie"][0];
48+
expect(result.body).toMatchObject({
49+
session: { id: "1", data: {} },
4750
});
51+
});
4852

49-
it("gets same session back", async () => {
50-
const result = await request.get("/");
51-
expect(result.body).toMatchObject({
52-
session: { id: "1", data: {} },
53-
});
53+
it("gets same session back", async () => {
54+
const result = await request.get("/").set("Cookie", cookie);
55+
expect(result.body).toMatchObject({
56+
session: { id: "1", data: {} },
5457
});
58+
});
5559

56-
it("set session data", async () => {
57-
const result = await request
58-
.post("/")
59-
.set("Cookie", cookie as string)
60-
.send({ foo: "bar" });
61-
cookie = result.headers["set-cookie"][0];
62-
expect(result.body).toMatchObject({
63-
session: { id: "1", data: { foo: "bar" } },
64-
});
60+
it("set session data", async () => {
61+
const result = await request
62+
.post("/")
63+
.set("Cookie", cookie)
64+
.send({ foo: "bar" });
65+
cookie = result.headers["set-cookie"][0];
66+
expect(result.body).toMatchObject({
67+
session: { id: "1", data: { foo: "bar" } },
68+
});
6569

66-
const result2 = await request.get("/").set("Cookie", cookie as string);
67-
expect(result2.body).toMatchObject({
68-
session: { id: "1", data: { foo: "bar" } },
69-
});
70+
const result2 = await request.get("/").set("Cookie", cookie);
71+
expect(result2.body).toMatchObject({
72+
session: { id: "1", data: { foo: "bar" } },
7073
});
7174
});
7275
});

0 commit comments

Comments
 (0)