diff options
| author | mo <mo.khan@gmail.com> | 2017-09-04 09:42:56 -0600 |
|---|---|---|
| committer | mo <mo.khan@gmail.com> | 2017-09-04 09:42:56 -0600 |
| commit | 1e9b754b0997d9a74fccd23752a0a61016c1b173 (patch) | |
| tree | 65b519857c4c1332b0b5c00089bb2d03d0821395 /spec/javascripts | |
| parent | 9385d7d0b1b96bd49036ee9bedcd0a8ce137d733 (diff) | |
connect view to login form.
Diffstat (limited to 'spec/javascripts')
| -rw-r--r-- | spec/javascripts/initializers/auto_view_setup_spec.js.coffee | 6 | ||||
| -rw-r--r-- | spec/javascripts/views/sessions/login_page_spec.js.coffee | 32 |
2 files changed, 35 insertions, 3 deletions
diff --git a/spec/javascripts/initializers/auto_view_setup_spec.js.coffee b/spec/javascripts/initializers/auto_view_setup_spec.js.coffee index f061b153..acd6013d 100644 --- a/spec/javascripts/initializers/auto_view_setup_spec.js.coffee +++ b/spec/javascripts/initializers/auto_view_setup_spec.js.coffee @@ -8,17 +8,17 @@ describe "CakeSide.AutoViewSetup", -> describe "#execute", -> beforeEach -> - CakeSide.AutoViewSetup.views = {} + CakeSide.AutoView.views = {} it 'attaches the autoview to the DOM element', -> fixture.set '<div data-autoview="My.ChangePassword"></div>' subject.execute() - result = CakeSide.AutoViewSetup.views['MyChangePassword'] + result = CakeSide.AutoView.views['My-ChangePassword'][0] expect(result instanceof CakeSide.Views.My.ChangePassword).toEqual(true) it "returns nil if the autoview cannot be discovered", -> fixture.set '<div data-autoview="Unknown"></div>' subject.execute() - expect(_.isEmpty(CakeSide.AutoViewSetup.views)).toEqual(true) + expect(_.isEmpty(CakeSide.AutoView.views)).toEqual(true) expect(console.error).toHaveBeenCalled() diff --git a/spec/javascripts/views/sessions/login_page_spec.js.coffee b/spec/javascripts/views/sessions/login_page_spec.js.coffee new file mode 100644 index 00000000..a8e83b17 --- /dev/null +++ b/spec/javascripts/views/sessions/login_page_spec.js.coffee @@ -0,0 +1,32 @@ +describe "CakeSide.Views.LoginForm", -> + subject = null + + beforeEach -> + fixture.set ''' +<form class="form-horizontal" data-autoview="login-form" id="new_user_session" action="/sessions" accept-charset="UTF-8" method="post"><input name="utf8" type="hidden" value="✓"><input type="hidden" name="authenticity_token" value="NUk9vz3sVMzi09PgQrzOTDcJIki2RgCzHgtpFw0ooSha4lgMt/bUsuAk//Wvi7wb/K6qh+pVrDkKr5a5e66QTw=="> + <div class="form-group"> + <input type="email" name="session[username]" id="session_username" value="" placeholder="Email" class="form-control" required="required"> + </div> + <div class="form-group"> + <input type="password" name="session[password]" id="session_password" value="" placeholder="Password" class="form-control" required="required"> + </div> + <p><a href="/passwords/new">Forgot your password?</a></p> + <input type="submit" name="commit" value="Sign In" class="btn btn-primary"> +</form> + ''' + + subject = new CakeSide.Views.LoginForm + el: $('#new_user_session') + + it "disables the submit button when the email is missing", -> + subject.field('password').val('password').change() + expect(subject.$('input[type=submit]').prop('disabled')).toEqual(true) + + it "disables the submit button when the password is missing", -> + subject.field('username').val('user@email.com').change() + expect(subject.$('input[type=submit]').prop('disabled')).toEqual(true) + + it "enables the submit button when all required fields are specified", -> + subject.field('username').val('user@email.com').change() + subject.field('password').val('password').change() + expect(subject.$('input[type=submit]').prop('disabled')).toEqual(false) |
