import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
import { render } from "@testing-library/react";
import { resetDocument } from "@/lib/appearance/test-helpers";
import { AppearanceSync } from "./appearance-sync";
let pathname = "/a";
vi.mock("next/navigation", () => ({ usePathname: () => pathname }));
beforeEach(resetDocument);
afterEach(resetDocument);
describe("AppearanceSync", () => {
it("puts the chosen theme-color back after a route change", () => {
const meta = document.createElement("meta");
meta.name = "theme-color";
document.head.append(meta);
window.localStorage.setItem("apicore.contrast", "sun");
const { rerender } = render();
expect(meta.content).toBe("#ffffff");
meta.content = "#f9f4ea"; // Next's metadata update
pathname = "/b";
rerender();
expect(meta.content).toBe("#ffffff");
});
});