UNPKG

stitch-ui

Version:

132 lines (103 loc) 4.38 kB
/* global it, describe, expect */ import { validateCollectionName, validateDBName, validateNamespace, validateFieldName } from "../validation"; describe("validateCollectionName", () => { it("Should return null when input is valid", () => { expect(validateCollectionName("funNameHere")).toEqual(null); }); it("Should return null when input is valid", () => { expect(validateCollectionName("funNameHere.notReally")).toEqual(null); }); it("Should return an error message when input is empty", () => { expect(validateCollectionName("")).not.toEqual(null); }); it("Should return an error message when input starts with 'system.'", () => { expect(validateCollectionName("system.testCollection")).not.toEqual(null); }); it("Should return an error message when input starts with '.'", () => { expect(validateCollectionName(".startingWithDot")).not.toEqual(null); }); it("Should return an error message when input contains '$'", () => { expect(validateCollectionName("illegal$Name")).not.toEqual(null); }); it("Should return an error message when input contains '\\'", () => { expect(validateCollectionName("illegal\\Name")).not.toEqual(null); }); it("Should return an error message when input contains '/'", () => { expect(validateCollectionName("illegal/Name")).not.toEqual(null); }); it("Should return an error message when input contains null byte '\u0000'", () => { expect(validateCollectionName("illegal\u0000Name")).not.toEqual(null); }); }); describe("validateDBName", () => { it("Should return null when input is valid", () => { expect(validateDBName("seriousNameHere")).toEqual(null); }); it("Should return an error message when input is empty", () => { expect(validateDBName("")).not.toEqual(null); }); it("Should return an error message when input is too long", () => { expect( validateDBName( "reallyLongDatabaseNameWhereYouProbablyDontKeepDataBecauseItsLong" ) ).not.toEqual(null); }); it("Should return an error message when input contains '$'", () => { expect(validateDBName("illegal$Name")).not.toEqual(null); }); it("Should return an error message when input contains '\\'", () => { expect(validateDBName("illegal\\Name")).not.toEqual(null); }); it("Should return an error message when input contains '.''", () => { expect(validateDBName("illegal.Name")).not.toEqual(null); }); it("Should return an error message when input contains '/'", () => { expect(validateDBName("illegal/Name")).not.toEqual(null); }); it("Should return an error message when input contains null byte '\u0000'", () => { expect(validateDBName("illegal\u0000Name")).not.toEqual(null); }); it("Should return an error message when input is 'system'", () => { expect(validateDBName("system")).not.toEqual(null); }); it("Should return an error message when input is 'local'", () => { expect(validateDBName("local")).not.toEqual(null); }); it("Should return an error message when input is 'admin'", () => { expect(validateDBName("admin")).not.toEqual(null); }); }); describe("validateNamespace", () => { it("Should return null when input is valid", () => { expect(validateNamespace("serious.namespace")).toEqual(null); }); it("Should return null when input is valid", () => { expect(validateNamespace("serious.name.space")).toEqual(null); }); it("Should return an error message when input beings with '.'", () => { expect(validateNamespace(".invalidNamespace")).not.toEqual(null); }); it("Should return an error message when input ends with '.'", () => { expect(validateNamespace("invalidNamespace.")).not.toEqual(null); }); it("Should return an error message when input does not contain a delimiting '.'", () => { expect(validateNamespace("invalidNamespace")).not.toEqual(null); }); }); describe("validateFieldName", () => { it("Should return null when input is valid", () => { expect(validateFieldName("thisIsAField")).toEqual(null); }); it("Should return an error message when input contains null byte '\u0000'", () => { expect(validateFieldName("invalid\u0000Field")).not.toEqual(null); }); it("Should return an error message when input contains '$'", () => { expect(validateFieldName("$no")).not.toEqual(null); }); });