fix: resolve type errors across test suite

This commit is contained in:
2026-02-26 12:49:04 -06:00
parent 827b018f25
commit 51eb36f4a6
26 changed files with 2847 additions and 0 deletions
@@ -0,0 +1,58 @@
import { describe, test, expect } from "bun:test";
import { SessionController } from "../../../src/controllers/SessionController";
import { buildMockSession } from "../../setup";
describe("SessionController", () => {
// -------------------------------------------------------------------
// Constructor
// -------------------------------------------------------------------
describe("constructor", () => {
test("sets all public properties from session data", () => {
const data = buildMockSession();
const ctrl = new SessionController(data);
expect(ctrl.id).toBe("session-1");
expect(ctrl.sessionKey).toBe("sk-abc123");
expect(ctrl.userId).toBe("user-1");
expect(ctrl.expires).toBeInstanceOf(Date);
expect(ctrl.refreshedAt).toBeNull();
expect(ctrl.invalidatedAt).toBeNull();
expect(ctrl.terminated).toBe(false);
});
test("sets custom values from overrides", () => {
const refreshDate = new Date("2025-06-01");
const ctrl = new SessionController(
buildMockSession({ refreshedAt: refreshDate }),
);
expect(ctrl.refreshedAt).toEqual(refreshDate);
});
});
// -------------------------------------------------------------------
// invalidate
// -------------------------------------------------------------------
describe("invalidate()", () => {
test("throws when session is already invalidated", async () => {
const ctrl = new SessionController(
buildMockSession({ invalidatedAt: new Date() }),
);
await expect(ctrl.invalidate()).rejects.toThrow(
"Session has already been invalidated",
);
});
});
// -------------------------------------------------------------------
// generateTokens
// -------------------------------------------------------------------
describe("generateTokens()", () => {
test("throws when tokens have already been generated", async () => {
const ctrl = new SessionController(
buildMockSession({ refreshTokenGenerated: true }),
);
await expect(ctrl.generateTokens()).rejects.toThrow(
"Tokens have alredy been generated",
);
});
});
});