UNPKG

@applicaster/zapp-react-native-utils

Version:

Applicaster Zapp React Native utilities package

73 lines (60 loc) 1.88 kB
import { ImageCache } from "../index"; const imageUrl = "http://lorempixel/400/200"; describe("ImageCache", () => { beforeEach(() => { ImageCache.reset(); ImageCache.cache(imageUrl); }); describe("cacheImage", () => { it("returns the existing image if it is already set", () => { const image = ImageCache.cache(imageUrl); expect(image).not.toBe(null); expect(image.url).toEqual(imageUrl); }); it("it sets the cache and returns the image if it is not set", () => { ImageCache.reset(); const image = ImageCache.cache(imageUrl); expect(image).not.toBe(null); expect(image.url).toEqual(imageUrl); }); }); describe("get", () => { it("returns the Image object of the given URL", () => { const image = ImageCache.get(imageUrl); expect(image).not.toBe(null); expect(image.url).toEqual(imageUrl); }); it("returns null if the image is not cached", () => { expect(ImageCache.get("not_cached_url")).toBe(null); }); }); describe("removeImage", () => { it("removes the image from the cache", () => { ImageCache.remove(imageUrl); expect(ImageCache.get(imageUrl)).toBe(null); }); }); describe("reset", () => { it("clears the entire image cache", () => { ImageCache.reset(); expect(ImageCache.get(imageUrl)).toBe(null); }); describe("if not on test env", () => { let env; beforeEach(() => { env = process.env.NODE_ENV; process.env.NODE_ENV = "not_test"; }); afterEach(() => { process.env.NODE_ENV = env; }); it("does nothing", () => { ImageCache.cache(imageUrl); ImageCache.reset(); const image = ImageCache.get(imageUrl); expect(image).not.toBe(null); expect(image.url).toEqual(imageUrl); }); }); }); });