@applicaster/zapp-react-native-utils
Version:
Applicaster Zapp React Native utilities package
67 lines (54 loc) • 1.68 kB
text/typescript
import { toPositiveNumberWithDefaultZero } from "..";
const DEFAULT = 0;
describe("toNumber", () => {
it("return number if input is positive number", () => {
const inputs = [0, 1, 2, 100, 200.12];
expect.assertions(inputs.length);
inputs.forEach((input) => {
const output = toPositiveNumberWithDefaultZero(input);
expect(output).toBe(input);
});
});
it("return number if input is positive number as string", () => {
const inputs = ["0", "1", "2", "100", "200.12"];
expect.assertions(inputs.length);
inputs.forEach((input) => {
const output = toPositiveNumberWithDefaultZero(input);
expect(output).toBe(Number(input));
});
});
it("return default number if input is negative number", () => {
const inputs = [-1, -2, -100];
expect.assertions(inputs.length);
inputs.forEach((input) => {
const output = toPositiveNumberWithDefaultZero(input);
expect(output).toBe(DEFAULT);
});
});
it("return default number if input is negative number as string", () => {
const inputs = ["-1", "-2", "-100"];
expect.assertions(inputs.length);
inputs.forEach((input) => {
const output = toPositiveNumberWithDefaultZero(input);
expect(output).toBe(DEFAULT);
});
});
it("return default if input is not a number or infinite", () => {
const inputs = [
"vfdvf",
null,
undefined,
NaN,
"",
{},
{ test: 1 },
[],
[1],
];
expect.assertions(inputs.length);
inputs.forEach((input) => {
const output = toPositiveNumberWithDefaultZero(input);
expect(output).toBe(DEFAULT);
});
});
});