| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121 |
- describe('creditCard', function() {
- // Get the fake credit card number at http://www.getcreditcardnumbers.com/
- beforeEach(function() {
- var html = [
- '<div class="container">',
- '<form class="form-horizontal" id="ccForm">',
- '<div class="form-group">',
- '<input type="text" name="cc" data-bv-creditcard />',
- '</div>',
- '</form>',
- '</div>'
- ].join('\n');
- $(html).appendTo('body');
- $('#ccForm').bootstrapValidator();
- this.bv = $('#ccForm').data('bootstrapValidator');
- this.$creditCard = this.bv.getFieldElements('cc');
- });
- afterEach(function() {
- $('#ccForm').bootstrapValidator('destroy').parent().remove();
- });
- it('accept spaces', function() {
- this.$creditCard.val('5267 9789 9451 9654');
- this.bv.validate();
- expect(this.bv.isValidField('cc')).toBeTruthy();
- });
- it('accept dashes', function() {
- this.$creditCard.val('6011-2649-6840-4521');
- this.bv.validate();
- expect(this.bv.isValidField('cc')).toBeTruthy();
- });
- it('invalid format', function() {
- this.$creditCard.val('4539.1870.2954.3862');
- this.bv.validate();
- expect(this.bv.isValidField('cc')).toEqual(false);
- });
- it('American Express', function() {
- this.$creditCard.val('340653705597107');
- this.bv.validate();
- expect(this.bv.isValidField('cc')).toBeTruthy();
- });
- it('American Express invalid length', function() {
- this.$creditCard.val('3744148309166730');
- this.bv.validate();
- expect(this.bv.isValidField('cc')).toEqual(false);
- });
- it('American Express invalid prefix', function() {
- this.$creditCard.val('356120148436654');
- this.bv.validate();
- expect(this.bv.isValidField('cc')).toEqual(false);
- });
- it('Diners Club', function() {
- this.$creditCard.val('30130708434187');
- this.bv.validate();
- expect(this.bv.isValidField('cc')).toBeTruthy();
- });
- it('Diners Club (US)', function() {
- this.$creditCard.val('5517479515603901');
- this.bv.validate();
- expect(this.bv.isValidField('cc')).toBeTruthy();
- });
- it('Discover', function() {
- this.$creditCard.val('6011734674929094');
- this.bv.validate();
- expect(this.bv.isValidField('cc')).toBeTruthy();
- });
- it('JCB', function() {
- this.$creditCard.val('3566002020360505');
- this.bv.validate();
- expect(this.bv.isValidField('cc')).toBeTruthy();
- });
- it('Laser', function() {
- this.$creditCard.val('6304 9000 1774 0292 441');
- this.bv.validate();
- expect(this.bv.isValidField('cc')).toBeTruthy();
- });
- it('Maestro', function() {
- this.$creditCard.val('6762835098779303');
- this.bv.validate();
- expect(this.bv.isValidField('cc')).toBeTruthy();
- });
- it('Mastercard', function() {
- this.$creditCard.val('5303765013600904');
- this.bv.validate();
- expect(this.bv.isValidField('cc')).toBeTruthy();
- });
- it('Solo', function() {
- this.$creditCard.val('6334580500000000');
- this.bv.validate();
- expect(this.bv.isValidField('cc')).toBeTruthy();
- });
- it('Visa', function() {
- this.$creditCard.val('4929248980295542');
- this.bv.validate();
- expect(this.bv.isValidField('cc')).toBeTruthy();
- });
- it('Visa invalid check digit', function() {
- this.$creditCard.val('4532599916257826');
- this.bv.validate();
- expect(this.bv.isValidField('cc')).toEqual(false);
- });
- });
|