|
|
@@ -3210,10 +3210,9 @@ describe('id', function() {
|
|
|
});
|
|
|
|
|
|
describe('imo', function() {
|
|
|
- beforeEach(function () {
|
|
|
+ beforeEach(function() {
|
|
|
$([
|
|
|
'<form class="form-horizontal" id="imoForm">',
|
|
|
- '<div id="msg"></div>',
|
|
|
'<div class="form-group">',
|
|
|
'<input type="text" name="imo" data-bv-imo />',
|
|
|
'</div>',
|
|
|
@@ -3226,7 +3225,7 @@ describe('imo', function() {
|
|
|
this.$imo = this.bv.getFieldElements('imo');
|
|
|
});
|
|
|
|
|
|
- afterEach(function () {
|
|
|
+ afterEach(function() {
|
|
|
$('#imoForm').bootstrapValidator('destroy').remove();
|
|
|
});
|
|
|
|
|
|
@@ -3612,10 +3611,9 @@ describe('lessThan', function() {
|
|
|
});
|
|
|
|
|
|
describe('meid', function() {
|
|
|
- beforeEach(function () {
|
|
|
+ beforeEach(function() {
|
|
|
$([
|
|
|
'<form class="form-horizontal" id="meidForm">',
|
|
|
- '<div id="msg"></div>',
|
|
|
'<div class="form-group">',
|
|
|
'<input type="text" name="meid" data-bv-meid />',
|
|
|
'</div>',
|
|
|
@@ -3628,7 +3626,7 @@ describe('meid', function() {
|
|
|
this.$meid = this.bv.getFieldElements('meid');
|
|
|
});
|
|
|
|
|
|
- afterEach(function () {
|
|
|
+ afterEach(function() {
|
|
|
$('#meidForm').bootstrapValidator('destroy').remove();
|
|
|
});
|
|
|
|
|
|
@@ -3924,6 +3922,7 @@ describe('vat', function() {
|
|
|
'<option value="GR">Greece</option>',
|
|
|
'<option value="HU">Hungary</option>',
|
|
|
'<option value="IE">Ireland</option>',
|
|
|
+ '<option value="IS">Iceland</option>',
|
|
|
'<option value="IT">Italy</option>',
|
|
|
'<option value="LV">Latvia</option>',
|
|
|
'<option value="LT">Lithuania</option>',
|
|
|
@@ -3942,6 +3941,7 @@ describe('vat', function() {
|
|
|
'<option value="SE">Sweden</option>',
|
|
|
'<option value="CH">Switzerland</option>',
|
|
|
'<option value="GB">United Kingdom</option>',
|
|
|
+ '<option value="ZA">South Africa</option>',
|
|
|
'</select>',
|
|
|
'</div>',
|
|
|
'<div class="form-group">',
|
|
|
@@ -3987,7 +3987,7 @@ describe('vat', function() {
|
|
|
expect(this.bv.isValid()).toEqual(false);
|
|
|
});
|
|
|
|
|
|
- it('Austrian VAT number', function () {
|
|
|
+ it('Austrian VAT number', function() {
|
|
|
// Valid samples
|
|
|
var validSamples = ['ATU13585627'];
|
|
|
for (var i in validSamples) {
|
|
|
@@ -4007,7 +4007,7 @@ describe('vat', function() {
|
|
|
}
|
|
|
});
|
|
|
|
|
|
- it('Belgian VAT number', function () {
|
|
|
+ it('Belgian VAT number', function() {
|
|
|
// Valid samples
|
|
|
var validSamples = ['BE0428759497'];
|
|
|
for (var i in validSamples) {
|
|
|
@@ -4027,7 +4027,7 @@ describe('vat', function() {
|
|
|
}
|
|
|
});
|
|
|
|
|
|
- it('Bulgarian VAT number', function () {
|
|
|
+ it('Bulgarian VAT number', function() {
|
|
|
// Valid samples
|
|
|
var validSamples = ['BG175074752', 'BG7523169263', 'BG8032056031', 'BG7542011030', 'BG7111042925'];
|
|
|
for (var i in validSamples) {
|
|
|
@@ -4047,7 +4047,7 @@ describe('vat', function() {
|
|
|
}
|
|
|
});
|
|
|
|
|
|
- it('Cypriot VAT number', function () {
|
|
|
+ it('Cypriot VAT number', function() {
|
|
|
// Valid samples
|
|
|
var validSamples = ['CY10259033P'];
|
|
|
for (var i in validSamples) {
|
|
|
@@ -4067,7 +4067,7 @@ describe('vat', function() {
|
|
|
}
|
|
|
});
|
|
|
|
|
|
- it('Czech Republic VAT number', function () {
|
|
|
+ it('Czech Republic VAT number', function() {
|
|
|
// Valid samples
|
|
|
var validSamples = ['CZ25123891', 'CZ7103192745', 'CZ991231123', 'CZ640903926'];
|
|
|
for (var i in validSamples) {
|
|
|
@@ -4087,7 +4087,7 @@ describe('vat', function() {
|
|
|
}
|
|
|
});
|
|
|
|
|
|
- it('German VAT number', function () {
|
|
|
+ it('German VAT number', function() {
|
|
|
// Valid samples
|
|
|
var validSamples = ['DE136695976'];
|
|
|
for (var i in validSamples) {
|
|
|
@@ -4107,7 +4107,7 @@ describe('vat', function() {
|
|
|
}
|
|
|
});
|
|
|
|
|
|
- it('Danish VAT number', function () {
|
|
|
+ it('Danish VAT number', function() {
|
|
|
// Valid samples
|
|
|
var validSamples = ['DK13585628'];
|
|
|
for (var i in validSamples) {
|
|
|
@@ -4127,7 +4127,7 @@ describe('vat', function() {
|
|
|
}
|
|
|
});
|
|
|
|
|
|
- it('Estonian VAT number', function () {
|
|
|
+ it('Estonian VAT number', function() {
|
|
|
// Valid samples
|
|
|
var validSamples = ['EE100931558', 'EE100594102'];
|
|
|
for (var i in validSamples) {
|
|
|
@@ -4147,7 +4147,7 @@ describe('vat', function() {
|
|
|
}
|
|
|
});
|
|
|
|
|
|
- it('Spanish VAT number (NIF)', function () {
|
|
|
+ it('Spanish VAT number (NIF)', function() {
|
|
|
// Valid samples
|
|
|
var validSamples = ['ES54362315K', 'ESX2482300W', 'ESX5253868R', 'ESM1234567L', 'ESJ99216582', 'ESB58378431', 'ESB64717838'];
|
|
|
for (var i in validSamples) {
|
|
|
@@ -4167,7 +4167,7 @@ describe('vat', function() {
|
|
|
}
|
|
|
});
|
|
|
|
|
|
- it('Finnish VAT number', function () {
|
|
|
+ it('Finnish VAT number', function() {
|
|
|
// Valid samples
|
|
|
var validSamples = ['FI20774740'];
|
|
|
for (var i in validSamples) {
|
|
|
@@ -4187,7 +4187,7 @@ describe('vat', function() {
|
|
|
}
|
|
|
});
|
|
|
|
|
|
- it('French VAT number (TVA)', function () {
|
|
|
+ it('French VAT number (TVA)', function() {
|
|
|
// Valid samples
|
|
|
var validSamples = ['FR40303265045', 'FR23334175221', 'FRK7399859412', 'FR4Z123456782'];
|
|
|
for (var i in validSamples) {
|
|
|
@@ -4207,7 +4207,7 @@ describe('vat', function() {
|
|
|
}
|
|
|
});
|
|
|
|
|
|
- it('United Kingdom VAT number', function () {
|
|
|
+ it('United Kingdom VAT number', function() {
|
|
|
// Valid samples
|
|
|
var validSamples = ['GB980780684'];
|
|
|
for (var i in validSamples) {
|
|
|
@@ -4227,7 +4227,7 @@ describe('vat', function() {
|
|
|
}
|
|
|
});
|
|
|
|
|
|
- it('Greek VAT number', function () {
|
|
|
+ it('Greek VAT number', function() {
|
|
|
// Valid samples
|
|
|
var validSamples = ['GR023456780', 'EL094259216'];
|
|
|
for (var i in validSamples) {
|
|
|
@@ -4247,7 +4247,7 @@ describe('vat', function() {
|
|
|
}
|
|
|
});
|
|
|
|
|
|
- it('Hungarian VAT number', function () {
|
|
|
+ it('Hungarian VAT number', function() {
|
|
|
// Valid samples
|
|
|
var validSamples = ['HU12892312'];
|
|
|
for (var i in validSamples) {
|
|
|
@@ -4267,7 +4267,7 @@ describe('vat', function() {
|
|
|
}
|
|
|
});
|
|
|
|
|
|
- it('Croatian VAT number', function () {
|
|
|
+ it('Croatian VAT number', function() {
|
|
|
// Valid samples
|
|
|
var validSamples = ['HR33392005961'];
|
|
|
for (var i in validSamples) {
|
|
|
@@ -4287,7 +4287,7 @@ describe('vat', function() {
|
|
|
}
|
|
|
});
|
|
|
|
|
|
- it('Irish VAT number', function () {
|
|
|
+ it('Irish VAT number', function() {
|
|
|
// Valid samples
|
|
|
var validSamples = ['IE6433435F', 'IE6433435OA', 'IE8D79739I'];
|
|
|
for (var i in validSamples) {
|
|
|
@@ -4307,7 +4307,27 @@ describe('vat', function() {
|
|
|
}
|
|
|
});
|
|
|
|
|
|
- it('Italian VAT number', function () {
|
|
|
+ it('Iceland VAT (VSK) number', function() {
|
|
|
+ // Valid samples
|
|
|
+ var validSamples = ['IS11111', 'IS111111'];
|
|
|
+ for (var i in validSamples) {
|
|
|
+ this.bv.resetForm();
|
|
|
+ this.$vat.val(validSamples[i]);
|
|
|
+ this.bv.validate();
|
|
|
+ expect(this.bv.isValid()).toBeTruthy();
|
|
|
+ }
|
|
|
+
|
|
|
+ // Invalid samples
|
|
|
+ var invalidSamples = ['IS1234567', 'IS123456ABC'];
|
|
|
+ for (i in invalidSamples) {
|
|
|
+ this.bv.resetForm();
|
|
|
+ this.$vat.val(invalidSamples[i]);
|
|
|
+ this.bv.validate();
|
|
|
+ expect(this.bv.isValid()).toEqual(false);
|
|
|
+ }
|
|
|
+ });
|
|
|
+
|
|
|
+ it('Italian VAT number', function() {
|
|
|
// Valid samples
|
|
|
var validSamples = ['IT00743110157'];
|
|
|
for (var i in validSamples) {
|
|
|
@@ -4327,7 +4347,7 @@ describe('vat', function() {
|
|
|
}
|
|
|
});
|
|
|
|
|
|
- it('Lithuanian VAT number', function () {
|
|
|
+ it('Lithuanian VAT number', function() {
|
|
|
// Valid samples
|
|
|
var validSamples = ['LT119511515', 'LT100001919017', 'LT100004801610'];
|
|
|
for (var i in validSamples) {
|
|
|
@@ -4347,7 +4367,7 @@ describe('vat', function() {
|
|
|
}
|
|
|
});
|
|
|
|
|
|
- it('Luxembourg VAT number', function () {
|
|
|
+ it('Luxembourg VAT number', function() {
|
|
|
// Valid samples
|
|
|
var validSamples = ['LU15027442'];
|
|
|
for (var i in validSamples) {
|
|
|
@@ -4367,7 +4387,7 @@ describe('vat', function() {
|
|
|
}
|
|
|
});
|
|
|
|
|
|
- it('Latvian VAT number', function () {
|
|
|
+ it('Latvian VAT number', function() {
|
|
|
// Valid samples
|
|
|
var validSamples = ['LV40003521600', 'LV16117519997'];
|
|
|
for (var i in validSamples) {
|
|
|
@@ -4387,7 +4407,7 @@ describe('vat', function() {
|
|
|
}
|
|
|
});
|
|
|
|
|
|
- it('Maltese VAT number', function () {
|
|
|
+ it('Maltese VAT number', function() {
|
|
|
// Valid samples
|
|
|
var validSamples = ['MT11679112'];
|
|
|
for (var i in validSamples) {
|
|
|
@@ -4407,7 +4427,7 @@ describe('vat', function() {
|
|
|
}
|
|
|
});
|
|
|
|
|
|
- it('Dutch VAT number', function () {
|
|
|
+ it('Dutch VAT number', function() {
|
|
|
// Valid samples
|
|
|
var validSamples = ['NL004495445B01'];
|
|
|
for (var i in validSamples) {
|
|
|
@@ -4427,7 +4447,7 @@ describe('vat', function() {
|
|
|
}
|
|
|
});
|
|
|
|
|
|
- it('Polish VAT number', function () {
|
|
|
+ it('Polish VAT number', function() {
|
|
|
// Valid samples
|
|
|
var validSamples = ['PL8567346215'];
|
|
|
for (var i in validSamples) {
|
|
|
@@ -4447,7 +4467,7 @@ describe('vat', function() {
|
|
|
}
|
|
|
});
|
|
|
|
|
|
- it('Portuguese VAT number', function () {
|
|
|
+ it('Portuguese VAT number', function() {
|
|
|
// Valid samples
|
|
|
var validSamples = ['PT501964843'];
|
|
|
for (var i in validSamples) {
|
|
|
@@ -4467,7 +4487,7 @@ describe('vat', function() {
|
|
|
}
|
|
|
});
|
|
|
|
|
|
- it('Romanian VAT number', function () {
|
|
|
+ it('Romanian VAT number', function() {
|
|
|
// Valid samples
|
|
|
var validSamples = ['RO18547290'];
|
|
|
for (var i in validSamples) {
|
|
|
@@ -4487,7 +4507,7 @@ describe('vat', function() {
|
|
|
}
|
|
|
});
|
|
|
|
|
|
- it('Swedish VAT number', function () {
|
|
|
+ it('Swedish VAT number', function() {
|
|
|
// Valid samples
|
|
|
var validSamples = ['SE123456789701'];
|
|
|
for (var i in validSamples) {
|
|
|
@@ -4507,7 +4527,7 @@ describe('vat', function() {
|
|
|
}
|
|
|
});
|
|
|
|
|
|
- it('Slovenian VAT number', function () {
|
|
|
+ it('Slovenian VAT number', function() {
|
|
|
// Valid samples
|
|
|
var validSamples = ['SI50223054'];
|
|
|
for (var i in validSamples) {
|
|
|
@@ -4527,7 +4547,7 @@ describe('vat', function() {
|
|
|
}
|
|
|
});
|
|
|
|
|
|
- it('Slovak VAT number', function () {
|
|
|
+ it('Slovak VAT number', function() {
|
|
|
// Valid samples
|
|
|
var validSamples = ['SK2022749619'];
|
|
|
for (var i in validSamples) {
|
|
|
@@ -4546,6 +4566,26 @@ describe('vat', function() {
|
|
|
expect(this.bv.isValid()).toEqual(false);
|
|
|
}
|
|
|
});
|
|
|
+
|
|
|
+ it('South African VAT number', function() {
|
|
|
+ // Valid samples
|
|
|
+ var validSamples = ['ZA4012345678'];
|
|
|
+ for (var i in validSamples) {
|
|
|
+ this.bv.resetForm();
|
|
|
+ this.$vat.val(validSamples[i]);
|
|
|
+ this.bv.validate();
|
|
|
+ expect(this.bv.isValid()).toBeTruthy();
|
|
|
+ }
|
|
|
+
|
|
|
+ // Invalid samples
|
|
|
+ var invalidSamples = ['ZA40123456789', 'ZA0123456789'];
|
|
|
+ for (i in invalidSamples) {
|
|
|
+ this.bv.resetForm();
|
|
|
+ this.$vat.val(invalidSamples[i]);
|
|
|
+ this.bv.validate();
|
|
|
+ expect(this.bv.isValid()).toEqual(false);
|
|
|
+ }
|
|
|
+ });
|
|
|
});
|
|
|
|
|
|
function getCountryCode(value, validator, $field) {
|