UNPKG

@applicaster/zapp-react-native-utils

Version:

Applicaster Zapp React Native utilities package

147 lines (122 loc) 3.25 kB
import { ContextKeysManager } from "../.."; import { StorageLevel } from "../../consts"; describe("Context Keys Manager - setKeys", () => { it("returns [true] if saved one key with success", async () => { // setup const keys = [ { key: "namespace.key", value: "value", storageLevel: StorageLevel.default, }, ]; const contextManager = new ContextKeysManager({}); const setKey = jest .spyOn(contextManager, "setKey") .mockResolvedValueOnce(true); // run const result = await contextManager.setKeys(keys); // verify const map = new Map(); map.set(keys[0].key, true); expect(result).toEqual(map); expect(setKey).toHaveBeenCalledTimes(keys.length); expect(setKey.mock.calls).toEqual([ [ { key: "namespace.key", value: "value", storageLevel: StorageLevel.default, }, ], ]); }); it("returns [true, true] if saved two keys with success", async () => { // setup const keys = [ { key: "namespace.key1", value: "value1", storageLevel: StorageLevel.default, }, { key: "namespace.key2", value: "value2", storageLevel: StorageLevel.secure, }, ]; const contextManager = new ContextKeysManager({}); const setKey = jest .spyOn(contextManager, "setKey") .mockResolvedValueOnce(true) .mockResolvedValueOnce(true); // run const result = await contextManager.setKeys(keys); // verify const map = new Map(); map.set(keys[0].key, true); map.set(keys[1].key, true); expect(result).toEqual(map); expect(setKey).toHaveBeenCalledTimes(keys.length); expect(setKey.mock.calls).toEqual([ [ { key: "namespace.key1", value: "value1", storageLevel: StorageLevel.default, }, ], [ { key: "namespace.key2", value: "value2", storageLevel: StorageLevel.secure, }, ], ]); }); it("returns [true, false] if first key saved but not the second one", async () => { // setup const keys = [ { key: "namespace.key1", value: "value1", storageLevel: StorageLevel.default, }, { key: "namespace.key2", value: "value2", storageLevel: StorageLevel.secure, }, ]; const contextManager = new ContextKeysManager({}); const setKey = jest .spyOn(contextManager, "setKey") .mockResolvedValueOnce(true) .mockResolvedValueOnce(false); // run const result = await contextManager.setKeys(keys); // verify const map = new Map(); map.set(keys[0].key, true); map.set(keys[1].key, false); expect(result).toEqual(map); expect(setKey).toHaveBeenCalledTimes(keys.length); expect(setKey.mock.calls).toEqual([ [ { key: "namespace.key1", value: "value1", storageLevel: StorageLevel.default, }, ], [ { key: "namespace.key2", value: "value2", storageLevel: StorageLevel.secure, }, ], ]); }); });