@applicaster/zapp-react-native-utils
Version:
Applicaster Zapp React Native utilities package
73 lines (59 loc) • 2.13 kB
text/typescript
import { getBackgroundImage } from "..";
import { DEFAULT_IMAGE } from "../assets";
describe("getBackgroundImage", () => {
const entryBase = {
media_group: [
{
media_item: [
{ key: "image_key_1", src: "image_src_1" },
{ key: "image_key_2", src: "image_src_2" },
],
type: "image",
},
],
extensions: {},
};
const pluginConfigBase = {};
it("returns image from entry.extensions.image_key if present", () => {
const entry = {
...entryBase,
extensions: { image_key: "image_key_2" },
};
const result = getBackgroundImage({
entry,
plugin_configuration: pluginConfigBase,
});
expect(result).toBe("image_src_2");
});
it("returns audio_player_background_image from entry.extensions if present and no image_key image", () => {
const entry = {
...entryBase,
extensions: { audio_player_background_image: "audio_img_ext" },
};
const result = getBackgroundImage({
entry,
plugin_configuration: pluginConfigBase,
});
expect(result).toBe("audio_img_ext");
});
it("returns image from plugin_configuration.audio_player_image_key if present and not found in entry.extensions", () => {
const entry = { ...entryBase };
const plugin_configuration = { audio_player_image_key: "image_key_1" };
const result = getBackgroundImage({ entry, plugin_configuration });
expect(result).toBe("image_src_1");
});
it("returns audio_player_background_image from plugin_configuration if present and not found in entry/extensions", () => {
const entry = { ...entryBase };
const plugin_configuration = {
audio_player_background_image: "audio_img_conf",
};
const result = getBackgroundImage({ entry, plugin_configuration });
expect(result).toBe("audio_img_conf");
});
it("returns DEFAULT_IMAGE if nothing is found", () => {
const entry = { media_group: [], extensions: {} };
const plugin_configuration = {};
const result = getBackgroundImage({ entry, plugin_configuration });
expect(result).toBe(DEFAULT_IMAGE);
});
});