diff --git a/src/routes/login.spec.ts b/src/routes/login.spec.ts new file mode 100644 index 000000000..395119de7 --- /dev/null +++ b/src/routes/login.spec.ts @@ -0,0 +1,36 @@ +import { beforeAll, describe, it } from "vitest"; +import supertest from "supertest"; +import { initializeTranslations } from "../services/i18n.js"; +import type { Application, Request, Response, NextFunction } from "express"; + +let app: Application; + +describe("Login Route test", () => { + + beforeAll(async () => { + initializeTranslations(); + app = (await import("../app.js")).default; + }); + + it("return a 401 status, when login fails with wrong password", async () => { + + await supertest(app) + .post("/login") + .send({ password: "fakePassword" }) + .expect(401) + + }); + + // TriliumNextTODO: how to handle different configs here? e.g. TOTP, or different cookieMaxAge from config.ini + + /* + + it("sets correct Expires, when 'Remember Me' is ticked", async () => { + await supertest(app) + .post("/login") + .expect(302) + .expect("Set-Cookie", "trilium.sid=trilium.sid; Path=/; Expires=TODO"); + }); + + */ +}); \ No newline at end of file