ismn.js 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. describe('ismn', function() {
  2. beforeEach(function() {
  3. var html = [
  4. '<div class="container">',
  5. '<form class="form-horizontal" id="ismnForm">',
  6. '<div class="form-group">',
  7. '<input type="text" name="ismn" data-bv-ismn />',
  8. '</div>',
  9. '</form>',
  10. '</div>'
  11. ].join('\n');
  12. $(html).appendTo('body');
  13. $('#ismnForm').bootstrapValidator();
  14. this.bv = $('#ismnForm').data('bootstrapValidator');
  15. this.$ismn = this.bv.getFieldElements('ismn');
  16. });
  17. afterEach(function() {
  18. $('#ismnForm').bootstrapValidator('destroy').parent().remove();
  19. });
  20. it('valid start with M', function() {
  21. this.$ismn.val('M230671187');
  22. this.bv.validate();
  23. expect(this.bv.isValidField('ismn')).toBeTruthy();
  24. });
  25. it('valid start with 979', function() {
  26. this.$ismn.val('9790060115615');
  27. this.bv.validate();
  28. expect(this.bv.isValidField('ismn')).toBeTruthy();
  29. });
  30. it('valid contains spaces', function() {
  31. this.$ismn.val('979 0 3452 4680 5');
  32. this.bv.validate();
  33. expect(this.bv.isValidField('ismn')).toBeTruthy();
  34. });
  35. it('valid contains dashes', function() {
  36. this.$ismn.val('979-0-0601-1561-5');
  37. this.bv.validate();
  38. expect(this.bv.isValidField('ismn')).toBeTruthy();
  39. });
  40. it('invalid format', function() {
  41. this.$ismn.val('N123456789');
  42. this.bv.validate();
  43. expect(this.bv.isValidField('ismn')).toEqual(false);
  44. });
  45. it('invalid check digit', function() {
  46. this.$ismn.val('9790060115614');
  47. this.bv.validate();
  48. expect(this.bv.isValidField('ismn')).toEqual(false);
  49. });
  50. });