Remove misleading home 'Update' button (reloaded the page without changing any data — looked like a broken update); settings route + notification prefs lint/type-clean; wire sync progress into guidance dialog; sw.test mocks getRegistrations for clean-update register path
This commit is contained in:
parent
a0db9f7862
commit
cd111da42f
10 changed files with 418 additions and 23 deletions
|
|
@ -119,12 +119,20 @@ describe("SW registration — page bridge", () => {
|
|||
it("registers /sw.js with scope / when supported", async () => {
|
||||
const mockReg = { scope: "/", waiting: null } as unknown as ServiceWorkerRegistration;
|
||||
const mockRegister = vi.fn().mockResolvedValue(mockReg);
|
||||
const mockUnregister = vi.fn().mockResolvedValue(true);
|
||||
Object.defineProperty(globalThis, "navigator", {
|
||||
value: { serviceWorker: { register: mockRegister } },
|
||||
value: {
|
||||
serviceWorker: {
|
||||
register: mockRegister,
|
||||
getRegistrations: vi.fn().mockResolvedValue([{ unregister: mockUnregister }]),
|
||||
},
|
||||
},
|
||||
writable: true,
|
||||
configurable: true,
|
||||
});
|
||||
const res = await registerSW();
|
||||
// clean-update: any pre-existing worker is unregistered before re-registering
|
||||
expect(mockUnregister).toHaveBeenCalled();
|
||||
expect(mockRegister).toHaveBeenCalledWith("/sw.js", { scope: "/" });
|
||||
expect(res.status).toBe("registered");
|
||||
});
|
||||
|
|
@ -132,7 +140,12 @@ describe("SW registration — page bridge", () => {
|
|||
it("returns failed when register throws (offline or HTTPS issue)", async () => {
|
||||
const mockRegister = vi.fn().mockRejectedValue(new Error("HTTPS required"));
|
||||
Object.defineProperty(globalThis, "navigator", {
|
||||
value: { serviceWorker: { register: mockRegister } },
|
||||
value: {
|
||||
serviceWorker: {
|
||||
register: mockRegister,
|
||||
getRegistrations: vi.fn().mockResolvedValue([]),
|
||||
},
|
||||
},
|
||||
writable: true,
|
||||
configurable: true,
|
||||
});
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue