refactor: store (#3164)

This commit is contained in:
pochoclin
2025-10-01 15:54:24 -04:00
committed by GitHub
parent a7fc94b8d5
commit 8f04c57667
44 changed files with 1303 additions and 1396 deletions

View File

@@ -0,0 +1,44 @@
import { clearMocks, mockIPC } from "@tauri-apps/api/mocks";
import { act, render } from "@testing-library/react";
import { afterEach, describe, expect, it } from "vitest";
import { SettingsLoaderMount } from "@/loaders/settings";
import { resetGlobalStore, useGlobalStore } from "@/stores/global";
afterEach(() => {
clearMocks();
resetGlobalStore();
});
describe("SettingsLoaderMount", () => {
it("handle valid onboarding", async () => {
mockIPC((cmd, _args) => {
if (cmd === "is_onboarded") return false;
});
useGlobalStore.getState().sessionSucceeded(true);
const r = render(<SettingsLoaderMount />);
await act(async () => {});
expect(useGlobalStore.getState().settings.status).toBe("ready");
expect(useGlobalStore.getState().settings.onboarded).toBe(false);
r.unmount();
});
it("handle invalid onboarding flow", async () => {
mockIPC((cmd, _args) => {
if (cmd === "is_onboarded")
throw { message: "Failed to get settings", code: "errors.graphql.server" };
});
useGlobalStore.getState().sessionSucceeded(true);
const r = render(<SettingsLoaderMount />);
await act(async () => {});
expect(useGlobalStore.getState().settings.status).toBe("error");
r.unmount();
});
});