describe('api', function() { // Override the options $.extend($.fn.bootstrapValidator.DEFAULT_OPTIONS, { feedbackIcons: { valid: 'glyphicon glyphicon-ok', invalid: 'glyphicon glyphicon-remove', validating: 'glyphicon glyphicon-refresh' } }); beforeEach(function() { $([ '
', '
', '
', '', '
', '
', '', '
', '
', '
' ].join('\n')).appendTo('body'); $('#apiForm').bootstrapValidator(); this.bv = $('#apiForm').data('bootstrapValidator'); this.$email = this.bv.getFieldElements('email'); }); afterEach(function() { $('#apiForm').bootstrapValidator('destroy').parent().remove(); }); it('call revalidateField()', function() { this.$email.val('email@domain.com'); this.bv.validate(); expect(this.bv.isValidField('email')).toBeTruthy(); this.$email.val('invalid#email.address'); this.bv.revalidateField('email'); expect(this.bv.isValidField(this.$email)).toEqual(false); }); it('call destroy()', function() { this.bv.destroy(); expect($('#apiForm').data('bootstrapValidator')).toBeUndefined(); expect($('#apiForm').find('i[data-bv-icon-for]').length).toEqual(0); expect($('#apiForm').find('.help-block[data-bv-for]').length).toEqual(0); expect($('#apiForm').find('.has-feedback').length).toEqual(0); expect($('#apiForm').find('.has-success').length).toEqual(0); expect($('#apiForm').find('.has-error').length).toEqual(0); expect($('#apiForm').find('[data-bv-field]').length).toEqual(0); }); });