@applicaster/zapp-react-native-ui-components
Version:
Applicaster Zapp React Native ui components for the Quick Brick App
82 lines (54 loc) • 1.88 kB
text/typescript
import { normalizeProgressValue } from "../utils";
describe("normalizeProgressValue", () => {
const DEFAULT_VALUE = 0;
describe("valid numbers", () => {
it("convert it to numbers", () => {
const inputs = [0, 0.5, 1];
inputs.forEach((input) => {
const output = normalizeProgressValue(DEFAULT_VALUE, input);
expect(output).toBe(input);
});
expect.assertions(inputs.length);
});
it("convert string 0.5 to 0.5", () => {
const input = "0.5";
const output = normalizeProgressValue(DEFAULT_VALUE, input);
expect(output).toBe(0.5);
});
it("convert 0.99 to 0.99", () => {
const input = 0.99;
const output = normalizeProgressValue(DEFAULT_VALUE, input);
expect(output).toBe(0.99);
});
it("convert 0.999999999 to 1", () => {
const input = 0.999999999;
const output = normalizeProgressValue(DEFAULT_VALUE, input);
expect(output).toBe(1);
});
it("convert 0.06175109281767956 to 0.06", () => {
const input = 0.06175109281767956;
const output = normalizeProgressValue(DEFAULT_VALUE, input);
expect(output).toBe(0.06);
});
it("convert -1 to 0", () => {
const input = -1;
const output = normalizeProgressValue(DEFAULT_VALUE, input);
expect(output).toBe(0);
});
it("convert 2 to 1", () => {
const input = 2;
const output = normalizeProgressValue(DEFAULT_VALUE, input);
expect(output).toBe(1);
});
});
describe("invalid numbers", () => {
it("convert it to zero", () => {
const inputs = [NaN, "vfdnkvnfjk", null, undefined, {}, [], [0]];
inputs.forEach((input) => {
const output = normalizeProgressValue(DEFAULT_VALUE, input);
expect(output).toBe(DEFAULT_VALUE);
});
expect.assertions(inputs.length);
});
});
});