describe "csx.Views.LoginForm", -> subject = null beforeEach -> fixture.set '''

Forgot your password?

''' subject = new csx.Views.LoginForm el: $('[data-autoview=login-form]') model: new csx.Models.Session() it "disables the submit button when the email is missing", -> subject.$('form').submit() expect(subject.$('input[type=submit]').prop('disabled')).toEqual(true) expect(subject.field('email').siblings('.invalid-feedback').html()).toEqual("Email can't be blank") it "disables the submit button when the password is missing", -> subject.field('email').val('user@email.com') subject.$('form').submit() expect(subject.$('input[type=submit]').prop('disabled')).toEqual(true) expect(subject.field("password").siblings('.invalid-feedback').html()).toEqual("Password can't be blank") it "enables the submit button when all required fields are specified", -> subject.field('email').val('user@email.com').change() subject.field('password').val('password').change() expect(subject.$('input[type=submit]').prop('disabled')).toEqual(false) expect(subject.field('email').siblings('.invalid-feedback').html()).toEqual('') expect(subject.field('password').siblings('.invalid-feedback').html()).toEqual('')