feat(web): render cms pages and navigation from db
This commit is contained in:
@@ -12,6 +12,7 @@ const { mockDb } = vi.hoisted(() => ({
|
||||
navigationMenu: {
|
||||
create: vi.fn(),
|
||||
findMany: vi.fn(),
|
||||
findFirst: vi.fn(),
|
||||
},
|
||||
navigationItem: {
|
||||
create: vi.fn(),
|
||||
@@ -29,6 +30,7 @@ import {
|
||||
createNavigationItem,
|
||||
createNavigationMenu,
|
||||
createPage,
|
||||
listPublicNavigation,
|
||||
updatePage,
|
||||
} from "./pages-navigation"
|
||||
|
||||
@@ -89,4 +91,33 @@ describe("pages-navigation service", () => {
|
||||
expect(mockDb.navigationMenu.create).toHaveBeenCalledTimes(1)
|
||||
expect(mockDb.navigationItem.create).toHaveBeenCalledTimes(1)
|
||||
})
|
||||
|
||||
it("maps public navigation href from linked pages", async () => {
|
||||
mockDb.navigationMenu.findFirst.mockResolvedValue({
|
||||
id: "menu-1",
|
||||
items: [
|
||||
{
|
||||
id: "item-1",
|
||||
label: "Home",
|
||||
href: null,
|
||||
parentId: null,
|
||||
page: {
|
||||
slug: "home",
|
||||
status: "published",
|
||||
},
|
||||
},
|
||||
],
|
||||
})
|
||||
|
||||
const navigation = await listPublicNavigation("header")
|
||||
|
||||
expect(navigation).toEqual([
|
||||
{
|
||||
id: "item-1",
|
||||
label: "Home",
|
||||
href: "/",
|
||||
children: [],
|
||||
},
|
||||
])
|
||||
})
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user