Initial local backup snapshot
This commit is contained in:
commit
acd9e14ba5
367 changed files with 118038 additions and 0 deletions
70
server/cancelRequest.test.ts
Normal file
70
server/cancelRequest.test.ts
Normal file
|
|
@ -0,0 +1,70 @@
|
|||
import { describe, it, expect } from "vitest";
|
||||
|
||||
describe("Cancel request feature", () => {
|
||||
describe("Cancel procedure validation", () => {
|
||||
it("should define the cancel procedure in the request router", async () => {
|
||||
const { appRouter } = await import("./routers");
|
||||
// Verify the cancel procedure exists
|
||||
expect(appRouter._def.procedures).toHaveProperty("request.cancel");
|
||||
}, 15000);
|
||||
|
||||
it("should have cancel as a callable procedure", async () => {
|
||||
const { appRouter } = await import("./routers");
|
||||
const procedure = (appRouter._def.procedures as any)["request.cancel"];
|
||||
expect(procedure).toBeDefined();
|
||||
expect(procedure._def).toBeDefined();
|
||||
}, 15000);
|
||||
});
|
||||
|
||||
describe("Schema validation", () => {
|
||||
it("should include 'annulee' in request statuses", async () => {
|
||||
const { requestStatuses } = await import("../drizzle/schema");
|
||||
expect(requestStatuses).toContain("annulee");
|
||||
});
|
||||
|
||||
it("should include 'annulation' in request history actions", async () => {
|
||||
const { requestHistory } = await import("../drizzle/schema");
|
||||
const actionColumn = requestHistory.action;
|
||||
// Verify the column exists and has the right enum values
|
||||
expect(actionColumn).toBeDefined();
|
||||
expect(actionColumn.enumValues).toContain("annulation");
|
||||
});
|
||||
|
||||
it("should include 'annulation_demande' in admin notification types", async () => {
|
||||
const { adminNotifications } = await import("../drizzle/schema");
|
||||
const typeColumn = adminNotifications.type;
|
||||
expect(typeColumn).toBeDefined();
|
||||
expect(typeColumn.enumValues).toContain("annulation_demande");
|
||||
});
|
||||
|
||||
it("should include 'modification_demande' in admin notification types", async () => {
|
||||
const { adminNotifications } = await import("../drizzle/schema");
|
||||
const typeColumn = adminNotifications.type;
|
||||
expect(typeColumn).toBeDefined();
|
||||
expect(typeColumn.enumValues).toContain("modification_demande");
|
||||
});
|
||||
});
|
||||
|
||||
describe("Update procedure with notification", () => {
|
||||
it("should define the update procedure in the request router", async () => {
|
||||
const { appRouter } = await import("./routers");
|
||||
expect(appRouter._def.procedures).toHaveProperty("request.update");
|
||||
}, 15000);
|
||||
|
||||
it("should have update as a callable procedure", async () => {
|
||||
const { appRouter } = await import("./routers");
|
||||
const procedure = (appRouter._def.procedures as any)["request.update"];
|
||||
expect(procedure).toBeDefined();
|
||||
expect(procedure._def).toBeDefined();
|
||||
}, 15000);
|
||||
});
|
||||
|
||||
describe("Calendar integration", () => {
|
||||
it("getApprovedReservations should only return validated requests (not annulee)", async () => {
|
||||
// The getApprovedReservations function filters by status = 'validee'
|
||||
// so cancelled requests are automatically excluded from the calendar
|
||||
const dbModule = await import("./db");
|
||||
expect(typeof dbModule.getApprovedReservations).toBe("function");
|
||||
});
|
||||
});
|
||||
});
|
||||
Loading…
Add table
Add a link
Reference in a new issue