company-email-validator
Version:
Provides a fast company / work email validator by checking whether the email domain is in the free email provider list.
66 lines (54 loc) • 2.07 kB
JavaScript
const expect = require('chai').expect;
const validator = require(".");
const validSupported =
[
"test@utterly.app",
"test@getutterly.com"
];
const validUnsupported =
[
];
const invalidSupported =
[
"john.doe@gmail.com",
"maria.doe@outlook.com"
];
describe('TEST EMAILS AGAINST VALIDATOR', () => {
describe('.isCompanyEmail', () => {
it('Should Be Valid', () => {
validSupported.forEach( email => {
expect(validator.isCompanyEmail(email)).to.equal(true);
});
});
it('Should Be Invalid', () => {
invalidSupported.forEach( email => {
expect(validator.isCompanyEmail(email)).to.equal(false);
});
});
it('Should Be Invalid(UnSupported By Module)', () => {
validUnsupported.forEach( email => {
expect(validator.isCompanyEmail(email)).to.equal(false);
});
});
it('Should Handle Case Insensitive Emails', () => {
expect(validator.isCompanyEmail('TEST@UTTERLY.APP')).to.equal(true);
expect(validator.isCompanyEmail('Test@Utterly.App')).to.equal(true);
expect(validator.isCompanyEmail('JOHN.DOE@GMAIL.COM')).to.equal(false);
expect(validator.isCompanyEmail('John.Doe@Gmail.Com')).to.equal(false);
});
});
describe('.isCompanyDomain', () => {
it('Should Allow Valid Domains', () => {
expect(validator.isCompanyDomain('utterly.app')).to.equal(true);
});
it('Should Disallow Public Domains', () => {
expect(validator.isCompanyDomain('gmail.com')).to.equal(false);
});
it('Should Handle Case Insensitive Domains', () => {
expect(validator.isCompanyDomain('GMAIL.COM')).to.equal(false);
expect(validator.isCompanyDomain('Gmail.Com')).to.equal(false);
expect(validator.isCompanyDomain('UTTERLY.APP')).to.equal(true);
expect(validator.isCompanyDomain('Utterly.App')).to.equal(true);
});
});
});