Initial local backup snapshot

This commit is contained in:
Selecta Keke 2026-06-24 00:02:55 -03:00
commit acd9e14ba5
367 changed files with 118038 additions and 0 deletions

View 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");
});
});
});