mirror of
https://github.com/Quad4-Software/MeshChatX.git
synced 2026-08-18 09:49:09 -04:00
69 lines
2.6 KiB
JavaScript
69 lines
2.6 KiB
JavaScript
import { describe, it, expect, beforeEach } from "vitest";
|
|
import {
|
|
loadVisualiserDisplayPrefs,
|
|
persistVisualiserLiveLayout,
|
|
persistVisualiserAutoReload,
|
|
persistVisualiserShowDisabled,
|
|
persistVisualiserShowDiscovered,
|
|
persistVisualiserRenderer,
|
|
persistVisualiserViewMode,
|
|
normalizeVisualiserRenderer,
|
|
normalizeVisualiserViewMode,
|
|
} from "@/js/settings/settingsVisualiserPrefs.js";
|
|
|
|
describe("settingsVisualiserPrefs", () => {
|
|
beforeEach(() => {
|
|
localStorage.clear();
|
|
});
|
|
|
|
it("defaults live layout on, auto-reload off, renderer auto, view flat", () => {
|
|
expect(loadVisualiserDisplayPrefs()).toEqual({
|
|
showDisabledInterfaces: false,
|
|
showDiscoveredInterfaces: false,
|
|
enablePhysics: true,
|
|
autoReload: false,
|
|
renderer: "auto",
|
|
viewMode: "flat",
|
|
});
|
|
});
|
|
|
|
it("persists live layout and auto-reload across loads", () => {
|
|
persistVisualiserLiveLayout(false);
|
|
persistVisualiserAutoReload(true);
|
|
persistVisualiserShowDisabled(true);
|
|
persistVisualiserShowDiscovered(true);
|
|
expect(loadVisualiserDisplayPrefs()).toEqual({
|
|
showDisabledInterfaces: true,
|
|
showDiscoveredInterfaces: true,
|
|
enablePhysics: false,
|
|
autoReload: true,
|
|
renderer: "auto",
|
|
viewMode: "flat",
|
|
});
|
|
persistVisualiserLiveLayout(true);
|
|
expect(loadVisualiserDisplayPrefs().enablePhysics).toBe(true);
|
|
});
|
|
|
|
it("can persist live layout without emitting rebuild events", () => {
|
|
persistVisualiserLiveLayout(false, { emit: false });
|
|
expect(loadVisualiserDisplayPrefs().enablePhysics).toBe(false);
|
|
persistVisualiserAutoReload(true, { emit: false });
|
|
expect(loadVisualiserDisplayPrefs().autoReload).toBe(true);
|
|
});
|
|
|
|
it("normalizes and persists renderer preference", () => {
|
|
expect(normalizeVisualiserRenderer("nope")).toBe("auto");
|
|
persistVisualiserRenderer("webgl");
|
|
expect(loadVisualiserDisplayPrefs().renderer).toBe("webgl");
|
|
persistVisualiserRenderer("vis", { emit: false });
|
|
expect(loadVisualiserDisplayPrefs().renderer).toBe("vis");
|
|
});
|
|
|
|
it("normalizes and persists planet view mode", () => {
|
|
expect(normalizeVisualiserViewMode("nope")).toBe("flat");
|
|
persistVisualiserViewMode("planet");
|
|
expect(loadVisualiserDisplayPrefs().viewMode).toBe("planet");
|
|
persistVisualiserViewMode("flat", { emit: false });
|
|
expect(loadVisualiserDisplayPrefs().viewMode).toBe("flat");
|
|
});
|
|
});
|