Files
easy-png-tools2/web/src/lib/favorites.test.ts
T

34 lines
884 B
TypeScript

import { describe, expect, it } from "vitest";
import {
favFirst,
favPages,
initFavorites,
isFav,
toggleFav,
} from "./favorites.svelte";
describe("favorites", () => {
it("toggle adds and removes, isFav reflects state", () => {
expect(isFav("flip-png")).toBe(false);
toggleFav("flip-png");
expect(isFav("flip-png")).toBe(true);
toggleFav("flip-png");
expect(isFav("flip-png")).toBe(false);
});
it("favPages filters, favFirst lifts favorites", () => {
toggleFav("resize-png");
const pages = [{ slug: "crop-png" }, { slug: "resize-png" }];
expect(favPages(pages)).toEqual([{ slug: "resize-png" }]);
expect(favFirst(pages).map((p) => p.slug)).toEqual([
"resize-png",
"crop-png",
]);
toggleFav("resize-png");
});
it("initFavorites without localStorage and with junk does not throw", () => {
expect(() => initFavorites()).not.toThrow();
});
});