fleet/frontend/pages/SoftwarePage/SoftwareTitles/SoftwareTable/helpers.tests.ts

49 lines
1.6 KiB
TypeScript

import { isValidNumber } from "./helpers";
describe("isValidNumber", () => {
// Test valid numbers
it("returns true for valid numbers", () => {
expect(isValidNumber(0)).toBe(true);
expect(isValidNumber(42)).toBe(true);
expect(isValidNumber(-10)).toBe(true);
expect(isValidNumber(3.14)).toBe(true);
});
// Test invalid inputs
it("returns false for non-number inputs", () => {
expect(isValidNumber("42")).toBe(false);
expect(isValidNumber(null)).toBe(false);
expect(isValidNumber(undefined)).toBe(false);
expect(isValidNumber({})).toBe(false);
expect(isValidNumber([])).toBe(false);
expect(isValidNumber(true)).toBe(false);
});
// Test NaN
it("returns false for NaN", () => {
expect(isValidNumber(NaN)).toBe(false);
});
// Test with min value
it("respects min value when provided", () => {
expect(isValidNumber(5, 0)).toBe(true);
expect(isValidNumber(5, 5)).toBe(true);
expect(isValidNumber(5, 6)).toBe(false);
});
// Test with max value
it("respects max value when provided", () => {
expect(isValidNumber(5, undefined, 10)).toBe(true);
expect(isValidNumber(5, undefined, 5)).toBe(true);
expect(isValidNumber(5, undefined, 4)).toBe(false);
});
// Test with both min and max values
it("respects both min and max values when provided", () => {
expect(isValidNumber(5, 0, 10)).toBe(true);
expect(isValidNumber(0, 0, 10)).toBe(true);
expect(isValidNumber(10, 0, 10)).toBe(true);
expect(isValidNumber(-1, 0, 10)).toBe(false);
expect(isValidNumber(11, 0, 10)).toBe(false);
});
});