63 lines
1.5 KiB
TypeScript
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);
|
|
});
|
|
});
|