test(stores): add state machine coverage

This commit is contained in:
2026-06-25 13:28:08 +08:00
parent 0bff65dd32
commit 6081f2896a
8 changed files with 1081 additions and 2 deletions
@@ -0,0 +1,51 @@
import { describe, expect, it } from "vitest";
import { toView } from "@/stores/user/user-machine.helpers";
describe("toView", () => {
it("fills optional user fields with stable defaults", () => {
expect(toView({ id: "user-1", username: "Luna" })).toEqual({
id: "user-1",
username: "Luna",
email: "",
avatarUrl: "",
intimacy: 0,
dolBalance: 0,
relationshipStage: "",
currentMood: "",
isGuest: false,
isVip: false,
voiceMinutesRemaining: 0,
});
});
it("preserves provided user fields", () => {
expect(
toView({
id: "user-2",
username: "Elio",
email: "elio@example.com",
avatarUrl: "https://example.com/avatar.png",
intimacy: 42,
dolBalance: 12,
relationshipStage: "close_friend",
currentMood: "playful",
isGuest: true,
isVip: true,
voiceMinutesRemaining: 30,
}),
).toEqual({
id: "user-2",
username: "Elio",
email: "elio@example.com",
avatarUrl: "https://example.com/avatar.png",
intimacy: 42,
dolBalance: 12,
relationshipStage: "close_friend",
currentMood: "playful",
isGuest: true,
isVip: true,
voiceMinutesRemaining: 30,
});
});
});