@applicaster/zapp-react-native-utils
Version:
Applicaster Zapp React Native utilities package
66 lines (57 loc) • 1.76 kB
text/typescript
import { getMediaItems } from "..";
import { entry as baseEntry } from "./testEntry";
describe("getMediaItems", () => {
it("returns both image and thumbnail media items", () => {
const items = getMediaItems(baseEntry);
expect(items).toHaveLength(2);
expect(items[0].key).toBe("image_base");
expect(items[1].key).toBe("logo_thumbnail");
});
it("returns only image media items if no thumbnail present", () => {
const entry = {
...baseEntry,
media_group: [
{
type: "image",
media_item: [
{ key: "image_base", src: "img.png" },
{ key: "other", src: "other.png" },
],
},
],
};
const items = getMediaItems(entry);
expect(items).toHaveLength(2);
expect(items[0].key).toBe("image_base");
expect(items[1].key).toBe("other");
});
it("returns only thumbnail media items if no image present", () => {
const entry = {
...baseEntry,
media_group: [
{
type: "thumbnail",
media_item: [{ key: "thumb1", src: "thumb1.png" }],
},
],
};
const items = getMediaItems(entry);
expect(items).toHaveLength(1);
expect(items[0].key).toBe("thumb1");
});
it("returns undefined if no media_group present", () => {
const entry = { ...baseEntry };
delete entry.media_group;
expect(getMediaItems(entry)).toBeUndefined();
});
it("returns undefined if media_group is present but has no image or thumbnail", () => {
const entry = {
...baseEntry,
media_group: [
{ type: "audio", media_item: [{ key: "audio1", src: "audio1.mp3" }] },
],
};
const items = getMediaItems(entry);
expect(items).toBeUndefined();
});
});