UNPKG

french-ssn

Version:

🇫🇷 A parser / validator for French Social Security Number

115 lines • 3.77 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const makePlace_1 = __importDefault(require("./makePlace")); describe("birth country", () => { it("is born in France", () => { expect((0, makePlace_1.default)("78403").country).toEqual({ insee: "100", name: "France", }); }); it("is born abroad", () => { expect((0, makePlace_1.default)("99351")).toEqual({ country: { insee: "351", name: "Tunisie", }, county: { unknown: true, }, city: { unknown: true, }, }); }); it("works for Algerian people before 1962", () => { ; ["91112", "92519", "93101", "94423"].map((insee) => { expect((0, makePlace_1.default)(insee, 1962).country).toEqual({ insee: "352", name: "Algérie", }); expect((0, makePlace_1.default)(insee, 1963).country).toEqual({ insee: "100", name: "France", }); }); }); it("works for Morocan people before 1964", () => { expect((0, makePlace_1.default)("95101", 1964).country).toEqual({ insee: "350", name: "Maroc", }); expect((0, makePlace_1.default)("95101", 1965).country).toEqual({ insee: "100", name: "France", }); }); it("works for Tunisian people before 1964", () => { expect((0, makePlace_1.default)("96101", 1964).country).toEqual({ insee: "351", name: "Tunisie", }); expect((0, makePlace_1.default)("96101", 1965).country).toEqual({ unknown: true }); }); it("works for DOM", () => { expect((0, makePlace_1.default)("97801").country).toEqual({ insee: "100", name: "France", }); }); }); it("00, 20 and 96 county codes have an unknown country", () => { ; ["00", "20", "96"].map((countyCode) => { expect((0, makePlace_1.default)(`${countyCode}101`, 1980)).toEqual({ city: { insee: `${countyCode}101` }, country: { unknown: true }, county: { insee: countyCode, unknown: true, error: "appears to be incorrect", }, }); }); }); it("includes the county name when born in France", () => { expect((0, makePlace_1.default)("78304").county).toEqual({ insee: "78", name: "Yvelines", }); expect((0, makePlace_1.default)("97801").county).toEqual({ insee: "978", name: "Saint-Martin", }); }); it("works for Corsica", () => { expect((0, makePlace_1.default)("2A048").county).toEqual({ insee: "2A", name: "Corse-du-Sud", }); expect((0, makePlace_1.default)("2A048").city).toEqual({ insee: "2A048", }); }); it("includes the city when born in France", () => { expect((0, makePlace_1.default)("78396").city).toEqual({ insee: "78396", }); }); it("includes the city when born in Algeria before 1962", () => { expect((0, makePlace_1.default)("91112", 1956).city).toEqual({ insee: "91112", }); expect((0, makePlace_1.default)("91112", 1978).city).toEqual({ insee: "91112", }); }); it("throws if input is not a string of 5 digits", () => { // @ts-expect-error this is to test a pure JS behavior expect(() => (0, makePlace_1.default)()).toThrow("Unkown error"); }); //# sourceMappingURL=makePlace.test.js.map