frontend/test/common/auth/token_storage/askWrite.test.ts

63 lines
1.5 KiB
TypeScript

import { afterEach, describe, expect, test, vi } from "vitest";
let askWrite;
describe("token_storage.askWrite", () => {
afterEach(() => {
vi.resetModules();
});
test("askWrite", async () => {
vi.stubGlobal(
"window.__tokenCache",
(window.__tokenCache = {
tokens: undefined,
writeEnabled: true,
})
);
({ askWrite } = await import("../../../../src/common/auth/token_storage"));
expect(askWrite()).toBe(false);
});
test("askWrite prefilled token", async () => {
vi.stubGlobal(
"window.__tokenCache",
(window.__tokenCache = {
tokens: {
access_token: "test",
expires: 1800,
expires_in: 1800,
hassUrl: "http://localhost",
refresh_token: "refresh",
clientId: "client",
},
writeEnabled: undefined,
})
);
({ askWrite } = await import("../../../../src/common/auth/token_storage"));
expect(askWrite()).toBe(true);
});
test("askWrite prefilled token, write enabled", async () => {
vi.stubGlobal(
"window.__tokenCache",
(window.__tokenCache = {
tokens: {
access_token: "test",
expires: 1800,
expires_in: 1800,
hassUrl: "http://localhost",
refresh_token: "refresh",
clientId: "client",
},
writeEnabled: true,
})
);
({ askWrite } = await import("../../../../src/common/auth/token_storage"));
expect(askWrite()).toBe(false);
});
});