Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Next Next commit
Update template page automatically
  • Loading branch information
presleyp committed Sep 8, 2022
commit 97ce2a7168abd92067fadb34d2d7c2bc5dc9a4c9
20 changes: 19 additions & 1 deletion site/src/pages/TemplatePage/TemplatePage.test.tsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import { fireEvent, screen } from "@testing-library/react"
import { fireEvent, screen, waitFor } from "@testing-library/react"
import dayjs from "dayjs"
import { rest } from "msw"
import { ResizeObserver } from "resize-observer"
import { server } from "testHelpers/server"
Expand Down Expand Up @@ -58,4 +59,21 @@ describe("TemplatePage", () => {
const dropdownButton = screen.queryByLabelText("open-dropdown")
expect(dropdownButton).toBe(null)
})
it("automatically reflects updates", async () => {
renderWithAuth(<TemplatePage />, {
route: `/templates/${MockTemplate.id}`,
path: "/templates/:template",
})
const lastUpdated = screen.queryByText("a minute ago")
expect(lastUpdated).toBeNull()
server.use(
rest.get(`/api/v2/templates/${MockTemplate.id}/authorization`, async (req, res, ctx) => {
return res(ctx.status(200), ctx.json({ ...MockTemplate, updated_at: dayjs() }))
}),
)
await waitFor(() => {
const lastUpdated2 = screen.getByText("a minute ago")
expect(lastUpdated2).not.toBeNull()
})
})
})
16 changes: 14 additions & 2 deletions site/src/xServices/template/templateXService.ts
Original file line number Diff line number Diff line change
Expand Up @@ -162,8 +162,20 @@ export const templateMachine =
target: "confirmingDelete",
},
},
onDone: {
target: "loaded",
initial: "refreshingTemplate",
states: {
refreshingTemplate: {
invoke: {
id: "refreshTemplate",
src: "getTemplate",
onDone: { target: "waiting", actions: "assignTemplate" },
},
},
waiting: {
after: {
5000: "refreshingTemplate",
},
},
},
},
confirmingDelete: {
Expand Down