@applicaster/zapp-react-native-utils
Version:
Applicaster Zapp React Native utilities package
68 lines (49 loc) • 1.67 kB
text/typescript
import { ContextKeysManager } from "../..";
describe("Context Keys Manager - removeKeys", () => {
it("returns Map with [false] if remove was failed for one key", async () => {
// setup
const keys = ["namespace.key"];
const mockedLogger = {
warn: jest.fn(),
};
const contextManager = new ContextKeysManager({
logger: mockedLogger,
});
const removeKey = jest
.spyOn(contextManager, "removeKey")
.mockResolvedValueOnce(false);
// run
const result = await contextManager.removeKeys(keys);
// verify
const map = new Map();
map.set(keys[0], false);
expect(result).toEqual(map);
expect(mockedLogger.warn).not.toHaveBeenCalled();
expect(removeKey).toHaveBeenCalledTimes(keys.length);
expect(removeKey.mock.calls).toEqual([[keys[0]]]);
});
it("returns Map with [false, false] if remove was failed for one key", async () => {
// setup
const keys = ["namespace.key1", "namespace.key2"];
const mockedLogger = {
warn: jest.fn(),
};
const contextManager = new ContextKeysManager({
logger: mockedLogger,
});
const removeKey = jest
.spyOn(contextManager, "removeKey")
.mockResolvedValueOnce(false)
.mockResolvedValueOnce(false);
// run
const result = await contextManager.removeKeys(keys);
// verify
const map = new Map();
map.set(keys[0], false);
map.set(keys[1], false);
expect(result).toEqual(map);
expect(mockedLogger.warn).not.toHaveBeenCalled();
expect(removeKey).toHaveBeenCalledTimes(keys.length);
expect(removeKey.mock.calls).toEqual([[keys[0]], [keys[1]]]);
});
});