@applicaster/zapp-react-native-utils
Version:
Applicaster Zapp React Native utilities package
93 lines (70 loc) • 2.08 kB
text/typescript
import * as utils from "..";
describe("Context Keys Manager Utils - keyIsValid", () => {
describe("invalid key", () => {
it("returns false if it doesn't have a key prop", () => {
const key = {
namespace: "namespace",
};
expect(utils.keyIsValid(key)).toBe(false);
});
it("returns false if it doesn't have an namespace prop", () => {
const key = {
key: "key",
};
expect(utils.keyIsValid(key)).toBe(false);
});
it("returns false if the key prop is empty", () => {
const key = {
namespace: "namespace",
key: "",
};
expect(utils.keyIsValid(key)).toBe(false);
});
it("returns false if the namespace prop is empty", () => {
const key = {
namespace: "",
key: "key",
};
expect(utils.keyIsValid(key)).toBe(false);
});
it("returns false if the key prop is undefined", () => {
const key = {
namespace: "namespace",
key: undefined,
};
expect(utils.keyIsValid(key)).toBe(false);
});
it("returns false if the namespace prop is undefined", () => {
const key = {
namespace: undefined,
key: "key",
};
expect(utils.keyIsValid(key)).toBe(false);
});
it("returns false if the input is a string", () => {
const key = "key";
expect(utils.keyIsValid(key)).toBe(false);
});
it("returns false if key is an array", () => {
const key = ["namespace", "key"];
expect(utils.keyIsValid(key)).toBe(false);
});
it("returns false if key is undefined", () => {
const key = undefined;
expect(utils.keyIsValid(key)).toBe(false);
});
it("returns false if key is empty object", () => {
const key = {};
expect(utils.keyIsValid(key)).toBe(false);
});
});
describe("valid key", () => {
it("returns true for valid key", () => {
const key = {
namespace: "namespace",
key: "key",
};
expect(utils.keyIsValid(key)).toBe(true);
});
});
});