UNPKG

vanilla-validation

Version:

Vanilla JavaScript validation rules

85 lines (62 loc) 3.05 kB
const jsdom = require("jsdom"); const { JSDOM } = jsdom; describe("vrule_mobileNumber", function() { var vRules = require('../src/utilities/form-validation'); console.log("testing: vrule_mobileNumber") it("should return error message - spaces", function() { const dom = new JSDOM( `<!DOCTYPE html><input id="test" value="0797 9797 979">` ); let dummyInput = dom.window.document.getElementById("test") expect(vRules.vrule_mobileNumber(dummyInput).message).toBe("Please remove spaces from your phone number") }); it("should return error message - contains letters", function() { const dom = new JSDOM( `<!DOCTYPE html><input id="test" value="0797979797a">` ); let dummyInput = dom.window.document.getElementById("test") expect(vRules.vrule_mobileNumber(dummyInput).message).toBe("Please enter a valid mobile number") }); it("should return error message - too short", function() { const dom = new JSDOM( `<!DOCTYPE html><input id="test" value="0797">` ); let dummyInput = dom.window.document.getElementById("test") expect(vRules.vrule_mobileNumber(dummyInput).message).toBe("Please enter a valid mobile number") }); it("should return error message - too long", function() { const dom = new JSDOM( `<!DOCTYPE html><input id="test" value="07979797979123">` ); let dummyInput = dom.window.document.getElementById("test") expect(vRules.vrule_mobileNumber(dummyInput).message).toBe("Please enter a valid mobile number") }); it("should return error message - doesnt start 07", function() { const dom = new JSDOM( `<!DOCTYPE html><input id="test" value="09797979797">` ); let dummyInput = dom.window.document.getElementById("test") expect(vRules.vrule_mobileNumber(dummyInput).message).toBe("Please enter a valid mobile number") }); it("should return error message - symbols", function() { const dom = new JSDOM( `<!DOCTYPE html><input id="test" value="0797(07)978">` ); let dummyInput = dom.window.document.getElementById("test") expect(vRules.vrule_mobileNumber(dummyInput).message).toBe("Please remove any non-numerical characters from your phone number") }); it("should pass validation - empty", function() { const dom = new JSDOM( `<!DOCTYPE html><input id="test" value=""></fieldset>` ); let dummyInput = dom.window.document.getElementById("test") expect(vRules.vrule_mobileNumber(dummyInput).message).not.toBeDefined(); }); it("should pass validation", function() { const dom = new JSDOM( `<!DOCTYPE html><input id="test" value="07979797979"></fieldset>` ); let dummyInput = dom.window.document.getElementById("test") expect(vRules.vrule_mobileNumber(dummyInput).message).not.toBeDefined(); }); });