Browse Source

#426: Add ismn validator test suite

nghuuphuoc 11 years ago
parent
commit
0d95ece3ec
2 changed files with 137 additions and 0 deletions
  1. 69 0
      test/spec.js
  2. 68 0
      test/spec/validator/ismn.js

+ 69 - 0
test/spec.js

@@ -846,3 +846,72 @@ describe('isin', function() {
         expect(this._bs.isValidField('isin')).toEqual(false);
         expect(this._bs.isValidField('isin')).toEqual(false);
     });
     });
 });
 });
+
+describe('ismn', function() {
+    // Override the default options
+    $.extend($.fn.bootstrapValidator.DEFAULT_OPTIONS, {
+        feedbackIcons: {
+            valid: 'glyphicon glyphicon-ok',
+            invalid: 'glyphicon glyphicon-remove',
+            validating: 'glyphicon glyphicon-refresh'
+        }
+    });
+
+    beforeEach(function() {
+        var html = [
+            '<div class="container">',
+                '<form class="form-horizontal" id="form">',
+                    '<div class="form-group">',
+                        '<input type="text" name="ismn" data-bv-ismn />',
+                    '</div>',
+                '</form>',
+            '</div>'
+        ].join('\n');
+
+        $(html).appendTo('body');
+        $('#form').bootstrapValidator();
+
+        this._bs     = $('#form').data('bootstrapValidator');
+        this._$field = this._bs.getFieldElements('ismn');
+    });
+
+    afterEach(function() {
+        $('#form').bootstrapValidator('destroy').remove();
+    });
+
+    it('valid start with M', function() {
+        this._$field.val('M230671187');
+        this._bs.validate();
+        expect(this._bs.isValidField('ismn')).toBeTruthy();
+    });
+
+    it('valid start with 979', function() {
+        this._$field.val('9790060115615');
+        this._bs.validate();
+        expect(this._bs.isValidField('ismn')).toBeTruthy();
+    });
+
+    it('valid contains spaces', function() {
+        this._$field.val('979 0 3452 4680 5');
+        this._bs.validate();
+        expect(this._bs.isValidField('ismn')).toBeTruthy();
+    });
+
+    it('valid contains dashes', function() {
+        this._$field.val('979-0-0601-1561-5');
+        this._bs.validate();
+        expect(this._bs.isValidField('ismn')).toBeTruthy();
+    });
+
+    it('invalid format', function() {
+        this._$field.val('N123456789');
+        this._bs.validate();
+        expect(this._bs.isValidField('ismn')).toEqual(false);
+    });
+
+    it('invalid check digit', function() {
+        this._$field.val('9790060115614');
+        this._bs.validate();
+        expect(this._bs.isValidField('ismn')).toEqual(false);
+    });
+});

+ 68 - 0
test/spec/validator/ismn.js

@@ -0,0 +1,68 @@
+describe('ismn', function() {
+    // Override the default options
+    $.extend($.fn.bootstrapValidator.DEFAULT_OPTIONS, {
+        feedbackIcons: {
+            valid: 'glyphicon glyphicon-ok',
+            invalid: 'glyphicon glyphicon-remove',
+            validating: 'glyphicon glyphicon-refresh'
+        }
+    });
+
+    beforeEach(function() {
+        var html = [
+            '<div class="container">',
+                '<form class="form-horizontal" id="form">',
+                    '<div class="form-group">',
+                        '<input type="text" name="ismn" data-bv-ismn />',
+                    '</div>',
+                '</form>',
+            '</div>'
+        ].join('\n');
+
+        $(html).appendTo('body');
+        $('#form').bootstrapValidator();
+
+        this._bs     = $('#form').data('bootstrapValidator');
+        this._$field = this._bs.getFieldElements('ismn');
+    });
+
+    afterEach(function() {
+        $('#form').bootstrapValidator('destroy').remove();
+    });
+
+    it('valid start with M', function() {
+        this._$field.val('M230671187');
+        this._bs.validate();
+        expect(this._bs.isValidField('ismn')).toBeTruthy();
+    });
+
+    it('valid start with 979', function() {
+        this._$field.val('9790060115615');
+        this._bs.validate();
+        expect(this._bs.isValidField('ismn')).toBeTruthy();
+    });
+
+    it('valid contains spaces', function() {
+        this._$field.val('979 0 3452 4680 5');
+        this._bs.validate();
+        expect(this._bs.isValidField('ismn')).toBeTruthy();
+    });
+
+    it('valid contains dashes', function() {
+        this._$field.val('979-0-0601-1561-5');
+        this._bs.validate();
+        expect(this._bs.isValidField('ismn')).toBeTruthy();
+    });
+
+    it('invalid format', function() {
+        this._$field.val('N123456789');
+        this._bs.validate();
+        expect(this._bs.isValidField('ismn')).toEqual(false);
+    });
+
+    it('invalid check digit', function() {
+        this._$field.val('9790060115614');
+        this._bs.validate();
+        expect(this._bs.isValidField('ismn')).toEqual(false);
+    });
+});