Merge branch 'requires-input-fixture' into 'master'

Replace static fixture for behaviors/requires_input_spec.js

See merge request !9162
This commit is contained in:
Clement Ho 2017-02-14 18:39:01 +00:00
commit ad5e772bdd
3 changed files with 11 additions and 24 deletions

View File

@ -0,0 +1,4 @@
---
title: Replace static fixture for behaviors/requires_input_spec.js
merge_request: 9162
author: winniehell

View File

@ -4,18 +4,19 @@ require('~/behaviors/requires_input');
(function() {
describe('requiresInput', function() {
preloadFixtures('static/behaviors/requires_input.html.raw');
preloadFixtures('branches/new_branch.html.raw');
beforeEach(function() {
return loadFixtures('static/behaviors/requires_input.html.raw');
loadFixtures('branches/new_branch.html.raw');
this.submitButton = $('button[type="submit"]');
});
it('disables submit when any field is required', function() {
$('.js-requires-input').requiresInput();
return expect($('.submit')).toBeDisabled();
return expect(this.submitButton).toBeDisabled();
});
it('enables submit when no field is required', function() {
$('*[required=required]').removeAttr('required');
$('.js-requires-input').requiresInput();
return expect($('.submit')).not.toBeDisabled();
return expect(this.submitButton).not.toBeDisabled();
});
it('enables submit when all required fields are pre-filled', function() {
$('*[required=required]').remove();
@ -25,9 +26,9 @@ require('~/behaviors/requires_input');
it('enables submit when all required fields receive input', function() {
$('.js-requires-input').requiresInput();
$('#required1').val('input1').change();
expect($('.submit')).toBeDisabled();
expect(this.submitButton).toBeDisabled();
$('#optional1').val('input1').change();
expect($('.submit')).toBeDisabled();
expect(this.submitButton).toBeDisabled();
$('#required2').val('input2').change();
$('#required3').val('input3').change();
$('#required4').val('input4').change();

View File

@ -1,18 +0,0 @@
%form.js-requires-input
%input{type: 'text', id: 'required1', required: 'required'}
%input{type: 'text', id: 'required2', required: 'required'}
%input{type: 'text', id: 'required3', required: 'required', value: 'Pre-filled'}
%input{type: 'text', id: 'optional1'}
%textarea{id: 'required4', required: 'required'}
%textarea{id: 'optional2'}
%select{id: 'required5', required: 'required'}
%option Zero
%option{value: '1'} One
%select{id: 'optional3', required: 'required'}
%option Zero
%option{value: '1'} One
%button.submit{type: 'submit', value: 'Submit'}
%input.submit{type: 'submit', value: 'Submit'}