UNPKG

@navikt/ds-react

Version:

React components from the Norwegian Labour and Welfare Administration.

97 lines (82 loc) 3.03 kB
import { getMonth } from "date-fns"; import { nb } from "date-fns/locale"; import { describe, expect, test } from "vitest"; import { isValidDate } from "./check-dates"; import { parseDate } from "./parse-date"; const check = (inp: string) => // eslint-disable-next-line vitest/valid-expect expect(isValidDate(parseDate(inp, new Date(), nb, "date", false))); const checkTwoDigit = (inp: string) => // eslint-disable-next-line vitest/valid-expect expect(isValidDate(parseDate(inp, new Date(), nb, "date", true))); const parse = (inp: string) => parseDate(inp, new Date(), nb, "date", false); describe("Parse date-inputs with 4-digit years", () => { // eslint-disable-next-line vitest/expect-expect test("No spaces", () => { check("11052022").toBeTruthy(); check("15052022").toBeTruthy(); }); // eslint-disable-next-line vitest/expect-expect test(". divider", () => { check("1.5.2022").toBeTruthy(); check("11.05.2022").toBeTruthy(); }); // eslint-disable-next-line vitest/expect-expect test("/ divider", () => { check("1/5/2022").toBeTruthy(); check("10/5/2022").toBeTruthy(); check("1/05/2022").toBeTruthy(); check("10/05/2022").toBeTruthy(); }); // eslint-disable-next-line vitest/expect-expect test("- divider", () => { check("1-5-2022").toBeTruthy(); check("10-5-2022").toBeTruthy(); check("1-05-2022").toBeTruthy(); check("10-05-2022").toBeTruthy(); }); }); describe("Parse date-inputs with 2-digit years", () => { // eslint-disable-next-line vitest/expect-expect test("No spaces", () => { checkTwoDigit("110522").toBeTruthy(); checkTwoDigit("150522").toBeTruthy(); }); // eslint-disable-next-line vitest/expect-expect test(". divider", () => { checkTwoDigit("1.5.22").toBeTruthy(); checkTwoDigit("11.05.22").toBeTruthy(); }); // eslint-disable-next-line vitest/expect-expect test("/ divider", () => { checkTwoDigit("1/5/22").toBeTruthy(); checkTwoDigit("10/5/22").toBeTruthy(); checkTwoDigit("1/05/22").toBeTruthy(); checkTwoDigit("10/05/22").toBeTruthy(); }); // eslint-disable-next-line vitest/expect-expect test("- divider", () => { checkTwoDigit("1-5-22").toBeTruthy(); checkTwoDigit("10-5-22").toBeTruthy(); checkTwoDigit("1-05-22").toBeTruthy(); checkTwoDigit("10-05-22").toBeTruthy(); }); // eslint-disable-next-line vitest/expect-expect test("Dissallow 1 and 3 digit years", () => { checkTwoDigit("11052").toBeFalsy(); checkTwoDigit("1105222").toBeFalsy(); checkTwoDigit("1105999").toBeFalsy(); }); // eslint-disable-next-line vitest/expect-expect test("Dissallow date before year 1000", () => { checkTwoDigit("11050999").toBeFalsy(); checkTwoDigit("11050010").toBeFalsy(); checkTwoDigit("11051000").toBeTruthy(); }); }); describe("Parse date-inputs to correct month", () => { test("No spaces", () => { expect(getMonth(parse("11052022"))).toEqual(4); expect(getMonth(parse("15052022"))).toEqual(4); }); });