feat(FN-4743): complete Step 4 — add mail retention setting UI
Fusion-Task-Id: FN-4743 Fusion-Task-Lineage: 50d1d8e4-66d5-4299-843b-28072a904277
This commit is contained in:
committed by
gsxdsm
parent
96be8d4cd7
commit
8a521a565d
@@ -904,6 +904,36 @@ describe("SettingsModal", () => {
|
||||
expect(payload.chatAutoCleanupDays).toBe(14);
|
||||
});
|
||||
|
||||
it("renders and saves mail auto-prune retention", async () => {
|
||||
renderModal({ initialSection: "general" });
|
||||
await waitForSettingsModalReady();
|
||||
|
||||
const mailCleanupSelect = screen.getByLabelText("Auto-prune old mail") as HTMLSelectElement;
|
||||
expect(mailCleanupSelect.value).toBe("0");
|
||||
|
||||
await userEvent.selectOptions(mailCleanupSelect, "7");
|
||||
await userEvent.click(screen.getByRole("button", { name: "Save" }));
|
||||
|
||||
await waitFor(() => {
|
||||
expect(mockUpdateSettings).toHaveBeenCalled();
|
||||
});
|
||||
|
||||
const payload = mockUpdateSettings.mock.calls[0][0] as Record<string, unknown>;
|
||||
expect(payload.mailAutoCleanupDays).toBe(7);
|
||||
|
||||
mockUpdateSettings.mockClear();
|
||||
|
||||
await userEvent.selectOptions(mailCleanupSelect, "0");
|
||||
await userEvent.click(screen.getByRole("button", { name: "Save" }));
|
||||
|
||||
await waitFor(() => {
|
||||
expect(mockUpdateSettings).toHaveBeenCalled();
|
||||
});
|
||||
|
||||
const offPayload = mockUpdateSettings.mock.calls[0][0] as Record<string, unknown>;
|
||||
expect(offPayload.mailAutoCleanupDays).toBe(0);
|
||||
});
|
||||
|
||||
it("renders and saves chat room compaction controls", async () => {
|
||||
renderModal({ initialSection: "general" });
|
||||
await waitForSettingsModalReady();
|
||||
|
||||
Reference in New Issue
Block a user