Files
obsidian-livesync/test/e2e-obsidian/runner/liveSyncWorkflow.test.ts
T
2026-07-20 08:54:20 +00:00

35 lines
1.3 KiB
TypeScript

import { VER } from "@vrtmrz/livesync-commonlib/compat/common/types";
import { describe, expect, it, vi } from "vitest";
const { evalObsidianJson } = vi.hoisted(() => ({
evalObsidianJson: vi.fn(),
}));
vi.mock("./cli.ts", () => ({ evalObsidianJson }));
import { assertE2eCompatibilityMarker, type CompatibilityMarkerState } from "./liveSyncWorkflow.ts";
describe("compatibility marker persistence", () => {
it("waits for an accepted review to reach device-local storage", async () => {
const pending: CompatibilityMarkerState = {
vaultName: "fixture",
additionalSuffix: "-",
expectedStorageKey: "fixture--database-compatibility-version",
rawStorageValue: null,
serviceValue: "",
versionUpFlash: "",
};
const persisted: CompatibilityMarkerState = {
...pending,
rawStorageValue: `${VER}`,
serviceValue: `${VER}`,
};
evalObsidianJson.mockResolvedValueOnce(pending).mockResolvedValueOnce(persisted);
await expect(
assertE2eCompatibilityMarker("obsidian-cli", {}, { timeoutMs: 100, intervalMs: 0 })
).resolves.toEqual(persisted);
expect(evalObsidianJson).toHaveBeenCalledTimes(2);
});
});