diff options
author | Julien Dessaux | 2023-01-04 18:19:08 +0100 |
---|---|---|
committer | Julien Dessaux | 2023-01-04 18:19:08 +0100 |
commit | ea86dc22ce704c85f5f8e4b600e3395ef7ba3612 (patch) | |
tree | 9b049a788ea4d804e08de17ea4ba380e97f6bda9 /test | |
parent | Fixed fixtures and testing (diff) | |
download | jeux-de-mots-ea86dc22ce704c85f5f8e4b600e3395ef7ba3612.tar.gz jeux-de-mots-ea86dc22ce704c85f5f8e4b600e3395ef7ba3612.tar.bz2 jeux-de-mots-ea86dc22ce704c85f5f8e4b600e3395ef7ba3612.zip |
Added more tests
Diffstat (limited to '')
-rw-r--r-- | tests/games.spec.js | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/tests/games.spec.js b/tests/games.spec.js new file mode 100644 index 0000000..00ae1e7 --- /dev/null +++ b/tests/games.spec.js @@ -0,0 +1,23 @@ +import { beforeEach, describe, test } from "vitest"; +import supertest from "supertest"; + +import app from "../main.js"; + +describe.concurrent("Games handlers tests", function() { + describe.concurrent("When not logged in", function() { + test("GET /games", async function() { await supertest(app).get("/games").expect("Content-Type", /text\/plain/).expect(302, /Redirecting to \/login$/); }); + test("GET /games/1", async function() { await supertest(app).get("/games").expect("Content-Type", /text\/plain/).expect(302, /Redirecting to \/login$/); }); + }); + describe.concurrent("With valid credentials", function() { + beforeEach(async function(ctx) { + const authResponse = await supertest(app).post("/login") + .send("username=Alice&password=Alice42!") + .expect("Content-Type", /text\/plain/) + .expect("set-cookie", /JDMSessionId=/) + .expect(302, /Redirecting to \/games$/); + ctx.cookie = authResponse.get("Set-Cookie"); + }); + test("GET /games", async function(ctx) { await supertest(app).get("/games").set("Cookie", ctx.cookie).expect("Content-Type", /text\/html/).expect(200, /<td><a href="\/games\/1">Alice vs Bob<\/a><\/td>/); }); + test("GET /games/1", async function(ctx) { await supertest(app).get("/games/1").set("Cookie", ctx.cookie).expect("Content-Type", /text\/html/).expect(200, /<h2>Alice vs Bob<\/h2>/); }); + }); +}); |