Skip to content

Commit ee692eb

Browse files
author
Emmanouil Konstantinidis
committed
Init tests for login
1 parent df5412e commit ee692eb

File tree

3 files changed

+89
-3
lines changed

3 files changed

+89
-3
lines changed

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,7 @@
6464
"collectCoverage": true,
6565
"collectCoverageOnlyFrom": {
6666
"src/js/actions/actions.js": true,
67+
"src/js/components/login.js": true,
6768
"src/js/components/navigation.js": true,
6869
"src/js/components/notification.js": true,
6970
"src/js/components/notifications.js": true,
Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,87 @@
1+
/* global jest, describe, beforeEach, it, expect, spyOn */
2+
3+
jest.dontMock('reflux');
4+
jest.dontMock('../../actions/actions.js');
5+
jest.dontMock('../../utils/api-requests');
6+
jest.dontMock('../../components/login.js');
7+
jest.dontMock('../../stores/auth.js');
8+
9+
var React = require('react/addons');
10+
var TestUtils = React.addons.TestUtils;
11+
12+
describe('Test for Login Component', function () {
13+
14+
var apiRequests, Actions, Login, AuthStore, Router;
15+
16+
beforeEach(function () {
17+
// Mock Electron's window.require
18+
// and remote.ipc
19+
window.require = function () {
20+
return {
21+
require: function () {
22+
return;
23+
},
24+
sendChannel: function () {
25+
return;
26+
}
27+
};
28+
};
29+
30+
// Mock localStorage
31+
window.localStorage = {
32+
item: false,
33+
getItem: function () {
34+
return this.item;
35+
}
36+
};
37+
38+
apiRequests = require('../../utils/api-requests.js');
39+
Actions = require('../../actions/actions.js');
40+
AuthStore = require('../../stores/auth.js');
41+
Login = require('../../components/login.js');
42+
Router = require('react-router');
43+
});
44+
45+
it('Should get the token from github', function () {
46+
47+
AuthStore.authStatus = function () {
48+
return false;
49+
};
50+
51+
var instance;
52+
React.withContext({router: new Router()}, function () {
53+
instance = TestUtils.renderIntoDocument(<Login />);
54+
});
55+
56+
expect(instance.authGithub).toBeDefined();
57+
expect(instance.requestGithubToken).toBeDefined();
58+
59+
var superagent = require('superagent');
60+
superagent.__setResponse(200, 'ok', {'access_token': '123123123'}, false);
61+
62+
instance.requestGithubToken({}, '456456');
63+
64+
});
65+
66+
it('Should fail to get the token from github', function () {
67+
68+
AuthStore.authStatus = function () {
69+
return false;
70+
};
71+
72+
var instance;
73+
React.withContext({router: new Router()}, function () {
74+
instance = TestUtils.renderIntoDocument(<Login />);
75+
});
76+
77+
expect(instance.authGithub).toBeDefined();
78+
expect(instance.requestGithubToken).toBeDefined();
79+
80+
var superagent = require('superagent');
81+
superagent.__setResponse(400, false, false, false);
82+
83+
instance.requestGithubToken({}, '456456');
84+
85+
});
86+
87+
});

src/js/components/login.js

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,7 @@ var ipc = window.require('ipc');
33
var BrowserWindow = remote.require('browser-window');
44

55
var React = require('react');
6-
var Reflux = require('reflux');
76
var apiRequests = require('../utils/api-requests');
8-
var Loading = require('reloading');
97

108
var Actions = require('../actions/actions');
119

@@ -80,7 +78,7 @@ var Login = React.createClass({
8078
ipc.sendChannel('reopen-window');
8179
} else {
8280
// Error - Show messages.
83-
console.log(err);
81+
// Show appropriate message
8482
}
8583
});
8684
},

0 commit comments

Comments
 (0)