@cristiansantana/chile-rut
Version:
Javascript (Typescript ready) chilean RUT toolset: Validate, generate and verify format.
50 lines (44 loc) • 2.1 kB
text/typescript
import { getCheckDigit, validateRut } from ".";
describe("testing index", () => {
test("getCheckDigit of well formed rut ids", () => {
expect(getCheckDigit("12345678")).toBe("5");
expect(getCheckDigit("12.345.678")).toBe("5");
expect(getCheckDigit("12,345,678")).toBe("5");
expect(getCheckDigit("00012345678")).toBe("5");
expect(getCheckDigit("00.012.345.678")).toBe("5");
expect(getCheckDigit("0,012,345,678")).toBe("5");
});
test("getCheckDigit of malformed rut ids", () => {
expect(() => getCheckDigit("")).toThrow();
expect(() => getCheckDigit("a")).toThrow();
expect(() => getCheckDigit("a")).toThrow();
});
test("validateRut of well formed and valid ruts", () => {
expect(validateRut("12345678-5")).toBe(true);
expect(validateRut("12.345.678-5")).toBe(true);
expect(validateRut("12,345,678-5")).toBe(true);
expect(validateRut("00012345678-5")).toBe(true);
expect(validateRut("0.012.345.678-5")).toBe(true);
expect(validateRut("0,012,345,678-5")).toBe(true);
});
test("validateRut of well formed and invalid ruts", () => {
expect(validateRut("12345678-0")).toBe(false);
expect(validateRut("12345678-1")).toBe(false);
expect(validateRut("12345678-2")).toBe(false);
expect(validateRut("12345678-3")).toBe(false);
expect(validateRut("12345678-4")).toBe(false);
expect(validateRut("12345678-6")).toBe(false);
expect(validateRut("12345678-7")).toBe(false);
expect(validateRut("12345678-8")).toBe(false);
expect(validateRut("12345678-9")).toBe(false);
expect(validateRut("12345678-K")).toBe(false);
expect(validateRut("12345678-k")).toBe(false);
});
test("validateRut of malformed ruts", () => {
expect(validateRut("")).toBe(false);
expect(validateRut(" ")).toBe(false);
expect(validateRut("a")).toBe(false);
expect(validateRut("1 2")).toBe(false);
expect(validateRut("123456785")).toBe(false);
});
});