UNPKG

@deposits/validators

Version:

A collection of Fintech-specific and general-purpose validators, designed to extend popular validation libraries like Vuelidate, Zod, and yup.

70 lines (64 loc) 2.44 kB
import { name } from "./index.js"; import { expect, test, describe } from "@jest/globals"; describe("name", () => { test("Test a valid first name", () => { expect(name("Eric")).toBe(true); expect(name("eric")).toBe(true); expect(name("ERIC")).toBe(true); }); test("Allows multiple words", () => { expect(name("Eric Apriok")).toBe(true); }); test("Prevents special characters", () => { expect(name("Eric@")).toBe(false); expect(name("Eric?")).toBe(false); expect(name("Eric=")).toBe(false); expect(name("Eric!")).toBe(false); expect(name("Eric+")).toBe(false); expect(name("Eric*")).toBe(false); expect(name("Eric/")).toBe(false); expect(name("Eric\\")).toBe(false); expect(name("Eric|")).toBe(false); expect(name("Eric,")).toBe(true); expect(name("Eric's Cafe")).toBe(true); expect(name("Eric & Son's Ltd")).toBe(true); expect(name("Eric.McWinner-Cafe")).toBe(true); expect(name("Eric;")).toBe(false); expect(name("Eric:")).toBe(false); expect(name('Eric"')).toBe(false); expect(name("Eric<")).toBe(false); expect(name("Eric>")).toBe(false); expect(name("Eric{")).toBe(false); expect(name("Eric}")).toBe(false); expect(name("Eric[")).toBe(false); expect(name("Eric]")).toBe(false); expect(name("Eric(")).toBe(false); expect(name("Eric)")).toBe(false); expect(name("Eric!")).toBe(false); expect(name("Eric@")).toBe(false); expect(name("Eric#")).toBe(false); expect(name("Eric$")).toBe(false); expect(name("Eric%")).toBe(false); expect(name("Eric^")).toBe(false); expect(name("Eric*")).toBe(false); expect(name("Eric_")).toBe(false); expect(name("Eric+")).toBe(false); expect(name("Eric=")).toBe(false); expect(name("Eric`")).toBe(false); expect(name("Eric~")).toBe(false); expect(name("Eric?")).toBe(false); expect(name("Eric/")).toBe(false); expect(name("Eric\\")).toBe(false); expect(name("Eric|")).toBe(false); expect(name("Eric;")).toBe(false); expect(name("Eric:")).toBe(false); expect(name('Eric"')).toBe(false); expect(name("Eric<")).toBe(false); }); test("Allows only - . and ' as special characters", () => { expect(name("Eric-.'")).toBe(true); }); test("Prevents names with length of characters greater than 40", () => { expect(name("MariaAbdEl-MaksoudAlyMohamedEl-GuindyErick")).toBe(false); }); });