refactor(private-zone): use canonical product name
This commit is contained in:
@@ -0,0 +1,51 @@
|
||||
import { describe, expect, it } from "vitest";
|
||||
|
||||
import { PrivateAlbumSchema } from "@/data/schemas/private-zone";
|
||||
|
||||
import {
|
||||
findPrivateAlbumDisplayImage,
|
||||
getPrivateAlbumDisplayImages,
|
||||
getPrivateAlbumGridLayout,
|
||||
} from "../private-album-images";
|
||||
|
||||
describe("private album display images", () => {
|
||||
const album = PrivateAlbumSchema.parse({
|
||||
albumId: "album-1",
|
||||
images: [
|
||||
{ url: " /images/photo-1.png ", locked: false, index: 0 },
|
||||
{ url: "/images/photo-2.png", locked: true, index: 1 },
|
||||
{ url: " ", locked: false, index: 2 },
|
||||
{ url: "/images/photo-4.png", locked: false, index: 3 },
|
||||
],
|
||||
unlocked: true,
|
||||
lockDetail: { locked: false },
|
||||
});
|
||||
|
||||
it("filters unavailable images while preserving source indexes", () => {
|
||||
expect(getPrivateAlbumDisplayImages(album)).toEqual([
|
||||
{ sourceIndex: 0, url: "/images/photo-1.png" },
|
||||
{ sourceIndex: 3, url: "/images/photo-4.png" },
|
||||
]);
|
||||
});
|
||||
|
||||
it("resolves Gallery images by their original source index", () => {
|
||||
expect(findPrivateAlbumDisplayImage(album, 3)).toEqual({
|
||||
sourceIndex: 3,
|
||||
url: "/images/photo-4.png",
|
||||
});
|
||||
expect(findPrivateAlbumDisplayImage(album, 1)).toBeNull();
|
||||
expect(findPrivateAlbumDisplayImage(album, 2)).toBeNull();
|
||||
});
|
||||
|
||||
it.each([
|
||||
[0, "empty"],
|
||||
[1, "single"],
|
||||
[2, "double"],
|
||||
[3, "triple"],
|
||||
[4, "double"],
|
||||
[5, "triple"],
|
||||
[9, "triple"],
|
||||
] as const)("uses the expected grid for %i images", (count, layout) => {
|
||||
expect(getPrivateAlbumGridLayout(count)).toBe(layout);
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user