isin.js 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. describe('isin', function() {
  2. beforeEach(function() {
  3. var html = [
  4. '<div class="container">',
  5. '<form class="form-horizontal" id="isinForm">',
  6. '<div class="form-group">',
  7. '<input type="text" name="isin" data-bv-isin />',
  8. '</div>',
  9. '</form>',
  10. '</div>'
  11. ].join('\n');
  12. $(html).appendTo('body');
  13. $('#isinForm').bootstrapValidator();
  14. this.bv = $('#isinForm').data('bootstrapValidator');
  15. this.$isin = this.bv.getFieldElements('isin');
  16. });
  17. afterEach(function() {
  18. $('#isinForm').bootstrapValidator('destroy').parent().remove();
  19. });
  20. it('valid', function() {
  21. var samples = ['US0378331005', 'AU0000XVGZA3', 'GB0002634946'];
  22. for (var i in samples) {
  23. this.$isin.val(samples[i]);
  24. this.bv.validate();
  25. expect(this.bv.isValidField('isin')).toBeTruthy();
  26. }
  27. });
  28. it('invalid country code', function() {
  29. this.$isin.val('AA0000XVGZA3');
  30. this.bv.validate();
  31. expect(this.bv.isValidField('isin')).toEqual(false);
  32. });
  33. it('contains only digits and alphabet', function() {
  34. this.$isin.val('US12345ABC@#$');
  35. this.bv.validate();
  36. expect(this.bv.isValidField('isin')).toEqual(false);
  37. });
  38. it('invalid length', function() {
  39. this.$isin.val('US1234567');
  40. this.bv.validate();
  41. expect(this.bv.isValidField('isin')).toEqual(false);
  42. });
  43. it('invalid check digit', function() {
  44. this.$isin.val('US0378331004');
  45. this.bv.validate();
  46. expect(this.bv.isValidField('isin')).toEqual(false);
  47. });
  48. });