@applicaster/zapp-react-native-utils
Version:
Applicaster Zapp React Native utilities package
46 lines (37 loc) • 1.12 kB
text/typescript
import { ContextKeysManager, REFERENCE_NAMESPACE } from "../..";
import { buildNamespaceKey } from "../../utils";
import { StorageLevel } from "../../consts";
describe("Context Keys Manager - setReferenceForKey", () => {
it("returns true if save success", async () => {
// setup
const key = "key";
const namespace = "namespace";
const value = StorageLevel.default;
const mockedLogger = {
warn: jest.fn(),
};
const mockedReferenceStorage = {
getItem: jest.fn(),
setItem: jest.fn().mockResolvedValueOnce(true),
removeItem: jest.fn(),
};
const contextManager = new ContextKeysManager({
logger: mockedLogger,
referenceStorage: mockedReferenceStorage,
});
// run
const result = await contextManager.setReferenceForKey(
key,
namespace,
value
);
// verify
expect(result).toBe(true);
expect(mockedLogger.warn).not.toHaveBeenCalled();
expect(mockedReferenceStorage.setItem).toHaveBeenCalledWith(
buildNamespaceKey(key, namespace),
value,
REFERENCE_NAMESPACE
);
});
});