@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
JavaScript
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);
});
});