gitlab-org--gitlab-foss/spec/javascripts/behaviors/requires_input_spec.js
Winnie Hellmann ad985a7a28 Merge branch 'winh-remove-sushi' into 'master'
Remove .raw from JavaScript fixture file names

Closes #59201

See merge request gitlab-org/gitlab-ce!26430

(cherry picked from commit 79a45f7f02)
2019-03-26 16:03:28 +00:00

62 lines
1.4 KiB
JavaScript

import $ from 'jquery';
import '~/behaviors/requires_input';
describe('requiresInput', () => {
let submitButton;
preloadFixtures('branches/new_branch.html');
beforeEach(() => {
loadFixtures('branches/new_branch.html');
submitButton = $('button[type="submit"]');
});
it('disables submit when any field is required', () => {
$('.js-requires-input').requiresInput();
expect(submitButton).toBeDisabled();
});
it('enables submit when no field is required', () => {
$('*[required=required]').prop('required', false);
$('.js-requires-input').requiresInput();
expect(submitButton).not.toBeDisabled();
});
it('enables submit when all required fields are pre-filled', () => {
$('*[required=required]').remove();
$('.js-requires-input').requiresInput();
expect($('.submit')).not.toBeDisabled();
});
it('enables submit when all required fields receive input', () => {
$('.js-requires-input').requiresInput();
$('#required1')
.val('input1')
.change();
expect(submitButton).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();
});
});