Commit bfac8b7a authored by Fatih Acet's avatar Fatih Acet

Merge branch 'improve-require-input-spec' into 'master'

Improve require input spec

See merge request gitlab-org/gitlab-ce!15654
parents e35e5c7e bf0bbd7b
/* eslint-disable space-before-function-paren, no-var */
import '~/behaviors/requires_input'; import '~/behaviors/requires_input';
(function() { describe('requiresInput', () => {
describe('requiresInput', function() { let submitButton;
preloadFixtures('branches/new_branch.html.raw'); preloadFixtures('branches/new_branch.html.raw');
beforeEach(function() {
loadFixtures('branches/new_branch.html.raw'); beforeEach(() => {
this.submitButton = $('button[type="submit"]'); loadFixtures('branches/new_branch.html.raw');
}); submitButton = $('button[type="submit"]');
it('disables submit when any field is required', function() { });
$('.js-requires-input').requiresInput();
return expect(this.submitButton).toBeDisabled(); it('disables submit when any field is required', () => {
}); $('.js-requires-input').requiresInput();
it('enables submit when no field is required', function() { expect(submitButton).toBeDisabled();
$('*[required=required]').removeAttr('required'); });
$('.js-requires-input').requiresInput();
return expect(this.submitButton).not.toBeDisabled(); it('enables submit when no field is required', () => {
}); $('*[required=required]').removeAttr('required');
it('enables submit when all required fields are pre-filled', function() { $('.js-requires-input').requiresInput();
$('*[required=required]').remove(); expect(submitButton).not.toBeDisabled();
$('.js-requires-input').requiresInput(); });
return expect($('.submit')).not.toBeDisabled();
}); it('enables submit when all required fields are pre-filled', () => {
it('enables submit when all required fields receive input', function() { $('*[required=required]').remove();
$('.js-requires-input').requiresInput(); $('.js-requires-input').requiresInput();
$('#required1').val('input1').change(); expect($('.submit')).not.toBeDisabled();
expect(this.submitButton).toBeDisabled(); });
$('#optional1').val('input1').change();
expect(this.submitButton).toBeDisabled(); it('enables submit when all required fields receive input', () => {
$('#required2').val('input2').change(); $('.js-requires-input').requiresInput();
$('#required3').val('input3').change(); $('#required1').val('input1').change();
$('#required4').val('input4').change(); expect(submitButton).toBeDisabled();
$('#required5').val('1').change();
return expect($('.submit')).not.toBeDisabled(); $('#optional1').val('input1').change();
}); expect(submitButton).toBeDisabled();
$('#required2').val('input2').change();
$('#required3').val('input3').change();
$('#required4').val('input4').change();
$('#required5').val('1').change();
expect($('.submit')).not.toBeDisabled();
}); });
}).call(window); });
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment