@applicaster/zapp-react-native-utils
Version:
Applicaster Zapp React Native utilities package
111 lines (97 loc) • 2.13 kB
text/typescript
import { getImageFromEntry } from "..";
const entry = {
media_group: [
{
media_item: [
{
key: "image_base_key",
src: "image_base_src",
},
{
key: "thumb_1",
src: null,
},
{
key: "thumb_2",
src: null,
},
{
key: "thumb_3",
src: null,
},
],
type: "image",
},
],
};
describe("getImageFromEntry", () => {
it("returns the src value for existing key", () => {
const result = getImageFromEntry({
entry,
imageKey: "image_base_key",
});
expect(result).toEqual("image_base_src");
});
it("returns undefined for non-existing key", () => {
const result = getImageFromEntry({
entry,
imageKey: "non_existing_key",
});
expect(result).toBeUndefined();
});
it("returns undefined for undefined key", () => {
const result = getImageFromEntry({
entry,
imageKey: undefined,
});
expect(result).toBeUndefined();
});
it("returns undefined for non string src", () => {
const entryWithNonStringSrc = {
media_group: [
{
media_item: [
{
key: "image_base_key",
src: 123,
},
{
key: "thumb_1",
src: null,
},
],
type: "image",
},
],
};
const result = getImageFromEntry({
entry: entryWithNonStringSrc,
imageKey: "image_base_key",
});
expect(result).toBeUndefined();
});
it("returns undefined for empty src", () => {
const entryWithEmptySrc = {
media_group: [
{
media_item: [
{
key: "image_base_key",
src: "",
},
{
key: "thumb_1",
src: null,
},
],
type: "image",
},
],
};
const result = getImageFromEntry({
entry: entryWithEmptySrc,
imageKey: "image_base_key",
});
expect(result).toBeUndefined();
});
});