OLD | NEW |
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 Loading... |
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 })(); |
OLD | NEW |