-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.test.js
81 lines (74 loc) · 2.75 KB
/
index.test.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
const supertest = require('supertest');
const app = require('./index.js');
const cookieSession = require('cookie-session');
test('LOGGED OUT users are redirected to /register, when they attempt to /sign', () => {
cookieSession.mockSession({});
return supertest(app)
.get('/sign')
.then(res => {
expect(res.statusCode).toBe(302);
expect(res.headers.location).toBe('/register');
});
});
test('LOGGED IN users are redirected to /sign, when they attempt to /login', () => {
const mySession = { id: true };
cookieSession.mockSession(mySession);
return supertest(app)
.get('/login')
.then(res => {
expect(mySession.id).toBe(true);
expect(res.statusCode).toBe(302);
expect(res.headers.location).toBe('/sign');
});
});
test('LOGGED IN users are redirected to /sign, when they attempt to /register', () => {
const mySession = { id: true };
cookieSession.mockSession(mySession);
return supertest(app)
.get('/register')
.then(res => {
expect(mySession.id).toBe(true);
expect(res.statusCode).toBe(302);
expect(res.headers.location).toBe('/sign');
});
});
test('LOGGED IN users who have SIGNED are redirected to /signed, when they attempt to /sign', () => {
const mySession = { id: true, signed: true };
cookieSession.mockSession(mySession);
return supertest(app)
.get('/sign')
.then(res => {
expect(res.statusCode).toBe(302);
expect(res.headers.location).toBe('/signed');
});
});
test('LOGGED IN users who have SIGNED are redirected to /signed, when they attempt to POST a /sign', () => {
// const mySession = { id: true, signed: true };
// cookieSession.mockSession(mySession);
return supertest(app)
.post('/sign')
.then(res => {
expect(res.statusCode).toBe(302);
expect(res.headers.location).toBe('/signed');
});
});
test('LOGGED IN users who have NOT SIGNED are redirected to /sign, when they attempt to /signed', () => {
const mySession = { id: true, signed: false };
cookieSession.mockSession(mySession);
return supertest(app)
.get('/signed')
.then(res => {
expect(res.statusCode).toBe(302);
expect(res.headers.location).toBe('/sign');
});
});
test('LOGGED IN users who have NOT SIGNED are redirected to /sign, when they attempt to /signed', () => {
const mySession = { id: true, signed: false };
cookieSession.mockSession(mySession);
return supertest(app)
.get('/signers')
.then(res => {
expect(res.statusCode).toBe(302);
expect(res.headers.location).toBe('/sign');
});
});