Adds the unit tests called out in the PR #120 review (test-coverage aspect). No production logic changes — the only non-test edit is exporting the already-injectable warmInfiniteAll helper so it can be unit tested. Server (Jest): - persistence.extension.spec.ts: onStoreDocument classification matrix (no-op / title-only / body+title / body-only), onLoadDocument seed + persist gating (early-return, page-null, ydoc seed, already-seeded no-persist, legacy content->ydoc), and seedTitleFragment 4-branch guard. - collaboration.util.spec.ts: buildTitleSeedYdoc round-trip. - environment.service.spec.ts: getCorsAllowedOrigins / isSwaggerEnabled. - auth.controller.spec.ts: login returnToken opt-in branch. Client (Vitest): - query-persister.test.ts: shouldDehydrateOfflineQuery status + allowlist gates and OFFLINE_PERSIST_ROOTS membership. - is-capacitor.test.ts: isCapacitorNativePlatform platform detection. - make-offline.test.ts: warmInfiniteAll cursor walk / maxPages / error swallow, and warmPageYdoc settle-once + timeout + teardown. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
40 lines
1.3 KiB
TypeScript
40 lines
1.3 KiB
TypeScript
import { describe, it, expect, afterEach } from "vitest";
|
|
import { isCapacitorNativePlatform } from "./is-capacitor";
|
|
|
|
describe("isCapacitorNativePlatform", () => {
|
|
afterEach(() => {
|
|
// Keep tests isolated from each other and from the rest of the suite.
|
|
delete (globalThis as any).Capacitor;
|
|
});
|
|
|
|
it("returns false when Capacitor is undefined", () => {
|
|
expect(isCapacitorNativePlatform()).toBe(false);
|
|
});
|
|
|
|
it("uses isNativePlatform() when it is a function", () => {
|
|
(globalThis as any).Capacitor = { isNativePlatform: () => true };
|
|
expect(isCapacitorNativePlatform()).toBe(true);
|
|
|
|
(globalThis as any).Capacitor = { isNativePlatform: () => false };
|
|
expect(isCapacitorNativePlatform()).toBe(false);
|
|
});
|
|
|
|
it("falls back to the boolean property when isNativePlatform is not a function", () => {
|
|
(globalThis as any).Capacitor = { isNativePlatform: true };
|
|
expect(isCapacitorNativePlatform()).toBe(true);
|
|
|
|
(globalThis as any).Capacitor = { isNativePlatform: false };
|
|
expect(isCapacitorNativePlatform()).toBe(false);
|
|
});
|
|
|
|
it("returns false when reading Capacitor throws (try/catch)", () => {
|
|
Object.defineProperty(globalThis, "Capacitor", {
|
|
configurable: true,
|
|
get() {
|
|
throw new Error("boom");
|
|
},
|
|
});
|
|
expect(isCapacitorNativePlatform()).toBe(false);
|
|
});
|
|
});
|