@applicaster/zapp-react-native-utils
Version:
Applicaster Zapp React Native utilities package
147 lines (122 loc) • 3.25 kB
text/typescript
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,
},
],
]);
});
});