feat: restore the alert feed homepage widget

This commit is contained in:
LukeGus committed 2026-09-30 16:21:22 -05:00
1 parent 0d94ad5e5f
commit e1f2cc975d
11 files changed
+319 -5

No files matched your search

@@ -148,3 +148,50 @@ describe("the alerts panel", () => {
);
});
});
describe("the alert feed homepage widget", () => {
it("registers under the 2.8 widget id", async () => {
rendered = await renderWithApp(plugin, { manifest, locales });
expect(rendered.registered.extensions("homepage.widgets")).toEqual([
"alert_feed",
]);
});
it("shows unread alerts and marks one read", async () => {
const { api, calls } = stubApi();
rendered = await renderWithApp(plugin, { manifest, locales, api });
const view = rendered.renderExtension(
"homepage.widgets",
"alert_feed",
"view",
{
widget: { title: null },
config: { maxItems: 5, showRead: false },
},
);
await waitFor(() =>
expect(view.textContent).toContain("Certificate renewal failed"),
);
expect(calls).toContainEqual(["GET", "/items?unread=true&limit=5"]);
fireEvent.click(view.querySelector('[title="Mark as read"]')!);
await waitFor(() =>
expect(calls).toContainEqual([
"POST",
"/items/read",
{ ids: [2], read: true },
]),
);
});
it("reads the 2.8 showAcknowledged option", async () => {
const { api, calls } = stubApi();
rendered = await renderWithApp(plugin, { manifest, locales, api });
rendered.renderExtension("homepage.widgets", "alert_feed", "view", {
widget: {},
config: { maxItems: 3, showAcknowledged: true },
});
await waitFor(() =>
expect(calls).toContainEqual(["GET", "/items?limit=3"]),
);
});
});