feat(admin): unified ticket inbox over CMS and help-center queues
Merged read-model inbox at /admin/tickets and /mod/tickets with type badges and deep links; CMS-only lists moved to /desk. No DB schema merge. Co-authored-by: Cursor <[email protected]>
This commit is contained in:
1 parent
24d0b735c1
commit
d8199ea1e4
31 files changed
+1580
-394
No files matched your search
@@ -125,9 +125,9 @@ describe("staff smoke contract", () => {
|
||||
|
||||
it("guards dual ticket queues on admin and mod", () => {
|
||||
for (const path of [
|
||||
"src/app/admin/tickets/page.tsx",
|
||||
"src/app/admin/tickets/desk/page.tsx",
|
||||
"src/app/admin/help-tickets/page.tsx",
|
||||
"src/app/mod/tickets/page.tsx",
|
||||
"src/app/mod/tickets/desk/page.tsx",
|
||||
"src/app/mod/help-tickets/page.tsx",
|
||||
]) {
|
||||
expect(existsSync(path), path).toBe(true);
|
||||
@@ -135,6 +135,25 @@ describe("staff smoke contract", () => {
|
||||
}
|
||||
});
|
||||
|
||||
it("ships unified ticket inbox over both queues", () => {
|
||||
expect(existsSync("src/lib/admin/ticket-inbox.ts")).toBe(true);
|
||||
expect(readFileSync("src/lib/admin/ticket-inbox.ts", "utf8")).toContain(
|
||||
"fetchUnifiedTicketInbox",
|
||||
);
|
||||
expect(existsSync("src/components/admin/unified-tickets-table.tsx")).toBe(
|
||||
true,
|
||||
);
|
||||
expect(readFileSync("src/app/admin/tickets/page.tsx", "utf8")).toContain(
|
||||
"fetchUnifiedTicketInbox",
|
||||
);
|
||||
expect(readFileSync("src/app/mod/tickets/page.tsx", "utf8")).toContain(
|
||||
"fetchUnifiedTicketInbox",
|
||||
);
|
||||
expect(readFileSync("src/lib/admin-nav.ts", "utf8")).toContain(
|
||||
"ticketInbox",
|
||||
);
|
||||
});
|
||||
|
||||
it("ships items_base browser", () => {
|
||||
expect(existsSync("src/app/admin/items/page.tsx")).toBe(true);
|
||||
expect(existsSync("src/app/admin/items/[id]/page.tsx")).toBe(true);
|
||||
|
||||
Reference in new issue
Block a user