UNPKG

swe-validation

Version:

Validation for Swedish Social Security number and Corporation identity number

139 lines (109 loc) 7.01 kB
"use strict"; var assert = require('assert'), validate = require('./../index'); describe('Social Security numbers', function() { describe('isSSn()', function() { it('Should return String', function() { assert.equal('8112189876', validate.isSSn('19811218-9876')); assert.equal('8112189876', validate.isSSn('19811218+9876')); assert.equal('8112189876', validate.isSSn('8112189876')); assert.equal('8112189876', validate.isSSn('198112189876')); assert.equal('8112189876', validate.isSSn(8112189876)); }); it('Should return NULL', function() { assert.equal(null, validate.isSSn(undefined)); assert.equal(null, validate.isSSn(null)); assert.equal(null, validate.isSSn([])); assert.equal(null, validate.isSSn({})); assert.equal(null, validate.isSSn(false)); assert.equal(null, validate.isSSn(true)); assert.equal(null, validate.isSSn(1122334455)); assert.equal(null, validate.isSSn('112233-4455')); assert.equal(null, validate.isSSn('19112233-4455')); assert.equal(null, validate.isSSn('')); assert.equal(null, validate.isSSn('19811218-9877')); assert.equal(null, validate.isSSn('811218+9877')); assert.equal(null, validate.isSSn('811218-9877')); assert.equal(null, validate.isSSn('8112189877')); }); }); describe('ssn()', function() { it('Should return Object { isValid }', function() { assert.deepEqual({ isValid: true, person: { type: 'Personnummer', sex: 'Man', ssn: '8112189876' } }, validate.ssn('19811218-9876')); assert.deepEqual({ isValid: true, person: { type: 'Personnummer', sex: 'Man', ssn: '8112189876' } }, validate.ssn('19811218+9876')); assert.deepEqual({ isValid: true, person: { type: 'Personnummer', sex: 'Man', ssn: '8112189876' } }, validate.ssn('8112189876')); assert.deepEqual({ isValid: true, person: { type: 'Personnummer', sex: 'Man', ssn: '8112189876' } }, validate.ssn('198112189876')); assert.deepEqual({ isValid: true, person: { type: 'Samordningsnummer', sex: 'Man', ssn: '7010632391' } }, validate.ssn('701063-2391')); assert.deepEqual({ isValid: true, person: { type: 'Samordningsnummer', sex: 'Man', ssn: '7010632391' } }, validate.ssn('701063+2391')); assert.deepEqual({ isValid: true, person: { type: 'Samordningsnummer', sex: 'Man', ssn: '7010632391' } }, validate.ssn('19701063-2391')); }); it('Should return false', function() { assert.deepEqual({ isValid: false }, validate.ssn(undefined)); assert.deepEqual({ isValid: false }, validate.ssn(null)); assert.deepEqual({ isValid: false }, validate.ssn([])); assert.deepEqual({ isValid: false }, validate.ssn({})); assert.deepEqual({ isValid: false }, validate.ssn(false)); assert.deepEqual({ isValid: false }, validate.ssn(true)); assert.deepEqual({ isValid: false }, validate.ssn(1122334455)); assert.deepEqual({ isValid: false }, validate.ssn('112233-4455')); assert.deepEqual({ isValid: false }, validate.ssn('19112233-4455')); assert.deepEqual({ isValid: false }, validate.ssn('')); assert.deepEqual({ isValid: false }, validate.ssn('19811218-9877')); assert.deepEqual({ isValid: false }, validate.ssn('811218+9877')); assert.deepEqual({ isValid: false }, validate.ssn('811218-9877')); assert.deepEqual({ isValid: false }, validate.ssn('8112189877')); }); }); }); describe('Corporate identity numbers', function() { describe('isCin()', function() { it('Should return String', function () { assert.equal('5560360793', validate.isCin('165560360793')); assert.equal('5560360793', validate.isCin('556036-0793')); assert.equal('5560360793', validate.isCin('5560360793')); assert.equal('2120000142', validate.isCin('212000-0142')); assert.equal('2120000142', validate.isCin('2120000142')); }); it('Should return NULL', function() { assert.equal(null, validate.isCin('8112189876')); assert.equal(null, validate.isCin(undefined)); assert.equal(null, validate.isCin(null)); assert.equal(null, validate.isCin([])); assert.equal(null, validate.isCin({})); assert.equal(null, validate.isCin(false)); assert.equal(null, validate.isCin(true)); assert.equal(null, validate.isCin(1122334455)); assert.equal(null, validate.isCin('112233-4455')); assert.equal(null, validate.isCin('19112233-4455')); assert.equal(null, validate.isCin('')); assert.equal(null, validate.isCin('19811218-9877')); assert.equal(null, validate.isCin('811218+9877')); assert.equal(null, validate.isCin('811218-9877')); assert.equal(null, validate.isCin('8112189877')); }); }); describe('cin()', function() { it('Should return Object { isValid }', function() { assert.deepEqual({ isValid: true, corporation: { type: 'Aktiebolag', id: '5560360793' } }, validate.cin('556036-0793')); assert.deepEqual({ isValid: true, corporation: { type: 'Aktiebolag', id: '5560360793' } }, validate.cin('5560360793')); assert.deepEqual({ isValid: true, corporation: { type: 'Stat, landsting, kommuner, församlingar', id: '2120000142' } }, validate.cin('212000-0142')); assert.deepEqual({ isValid: true, corporation: { type: 'Stat, landsting, kommuner, församlingar', id: '2120000142' } }, validate.cin('2120000142')); }); it('Should return false', function() { assert.deepEqual({ isValid: false }, validate.cin(undefined)); assert.deepEqual({ isValid: false }, validate.cin(null)); assert.deepEqual({ isValid: false }, validate.cin([])); assert.deepEqual({ isValid: false }, validate.cin({})); assert.deepEqual({ isValid: false }, validate.cin(false)); assert.deepEqual({ isValid: false }, validate.cin(true)); assert.deepEqual({ isValid: false }, validate.cin(1122334455)); assert.deepEqual({ isValid: false }, validate.cin('112233-4455')); assert.deepEqual({ isValid: false }, validate.cin('19112233-4455')); assert.deepEqual({ isValid: false }, validate.cin('')); assert.deepEqual({ isValid: false }, validate.cin('19811218-9877')); assert.deepEqual({ isValid: false }, validate.cin('811218+9877')); assert.deepEqual({ isValid: false }, validate.cin('811218-9877')); assert.deepEqual({ isValid: false }, validate.cin('8112189877')); }); }); });