Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code | Sign in
(563)

Side by Side Diff: test/test_login.js

Issue 7060068: Improve login UX
Patch Set: Improve login UX Created 12 years, 3 months ago
Left:
Right:
Use n/p to move between diff chunks; N/P to move between comments. Please Sign in to add in-line comments.
Jump to:
View unified diff | Download patch
« no previous file with comments | « test/test_app.js ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 'use strict'; 1 'use strict';
2 2
3 (function() { 3 (function() {
4 4
5 describe('environment login support', function() { 5 describe('environment login support', function() {
6 var requires = ['node', 'juju-gui', 'juju-views', 'juju-tests-utils']; 6 var requires = ['node', 'juju-gui', 'juju-views', 'juju-tests-utils'];
7 var Y, conn, env, utils, juju, makeLoginView, views, app; 7 var Y, conn, env, utils, juju;
8 var test = it; // We aren't really doing BDD so let's be more direct. 8 var test = it; // We aren't really doing BDD so let's be more direct.
9 9
10 before(function() { 10 before(function(done) {
11 Y = YUI(GlobalConfig).use(requires); 11 Y = YUI(GlobalConfig).use(requires, function(Y) {
12 utils = Y.namespace('juju-tests.utils'); 12 utils = Y.namespace('juju-tests').utils;
13 juju = Y.namespace('juju'); 13 juju = Y.namespace('juju');
14 done();
15 });
14 }); 16 });
15 17
16 beforeEach(function() { 18 beforeEach(function() {
17 var container = Y.Node.create('<div/>');
18 conn = new utils.SocketStub(); 19 conn = new utils.SocketStub();
19 env = new juju.Environment({conn: conn}); 20 env = new juju.Environment({conn: conn});
20 env.connect(); 21 env.connect();
21 conn.open(); 22 conn.open();
22 // env.set('connected', true); 23 // env.set('connected', true);
23 }); 24 });
24 25
25 afterEach(function() { 26 afterEach(function() {
26 env.destroy(); 27 env.destroy();
27 }); 28 });
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
75 env.set('user', 'user'); 76 env.set('user', 'user');
76 env.set('password', 'password'); 77 env.set('password', 'password');
77 env.login(); 78 env.login();
78 assert.equal(conn.last_message().op, 'login'); 79 assert.equal(conn.last_message().op, 'login');
79 assert.equal(conn.last_message().user, 'user'); 80 assert.equal(conn.last_message().user, 'user');
80 assert.equal(conn.last_message().password, 'password'); 81 assert.equal(conn.last_message().password, 'password');
81 }); 82 });
82 83
83 }); 84 });
84 85
86
87 describe('login view', function() {
88 var requires = ['node', 'juju-gui', 'juju-views', 'juju-tests-utils'];
89 var Y, conn, env, utils, juju, views, loginView, container, loginMask;
90 var test = it; // We aren't really doing BDD so let's be more direct.
91
92 before(function(done) {
93 Y = YUI(GlobalConfig).use(requires, function(Y) {
94 utils = Y.namespace('juju-tests').utils;
95 juju = Y.namespace('juju');
96 views = Y.namespace('juju.views');
97 done();
98 });
99 });
100
101 beforeEach(function() {
102 conn = new utils.SocketStub();
103 env = new juju.Environment({conn: conn});
104 env.connect();
105 conn.open();
106 container = Y.one('body').appendChild('<div/>');
107 // Needed by the render method.
108 loginMask = Y.one('body').appendChild('<div/>').set('id', 'login-mask');
109 loginView = new views.login(
110 {container: container, env: env, help_text: 'Help text'});
111 });
112
113 afterEach(function() {
114 env.destroy();
115 container.remove(true);
116 loginMask.remove(true);
117 });
118
119 test('the view login method logs in through the environment', function() {
120 var noop = function() {};
121 var ev = {preventDefault: noop, currentTarget: {get: noop}};
122 container.appendChild('<input/>').set('type', 'text').set(
123 'value', 'user');
124 container.appendChild('<input/>').set('type', 'password').set(
125 'value', 'password');
126 loginView.login(ev);
127 assert.equal(conn.last_message().op, 'login');
128 assert.equal(conn.last_message().user, 'user');
129 assert.equal(conn.last_message().password, 'password');
130 });
131
132 test('the view render method adds the login form', function() {
133 loginView.render();
134 assert.equal(
135 container.one('#login-form input[type=submit]').get('value'),
136 'Login');
137 });
138
139 });
140
85 })(); 141 })();
OLDNEW
« no previous file with comments | « test/test_app.js ('k') | no next file » | no next file with comments »

Powered by Google App Engine
RSS Feeds Recent Issues | This issue
This is Rietveld f62528b