vanilla-validation
Version:
Vanilla JavaScript validation rules
85 lines (62 loc) • 3.05 kB
JavaScript
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(
`<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(
`<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(
`<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(
`<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(
`<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(
`<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(
`<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(
`<input id="test" value="07979797979"></fieldset>`
);
let dummyInput = dom.window.document.getElementById("test")
expect(vRules.vrule_mobileNumber(dummyInput).message).not.toBeDefined();
});
});