This repository has been archived by the owner on Mar 28, 2019. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathsessionToUser.test.js
108 lines (99 loc) · 2.09 KB
/
sessionToUser.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
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
/* eslint-disable */
jest.mock('./logger')
// user db stub
const UserStub = {
user: { displayName: "name" },
findById: function (id, cb) {
if (this.succeed)
cb(null, this.user)
else
cb("error", null)
},
succeed: true,
}
// require module
let m = null
beforeAll(() => {
m = require('./sessionToUser')(UserStub)
return m
})
test('sends 401 for no userID found', done => {
const req = {
sessionID: "sessionID", // for logger
}
const res = {
status: function (code) {
if(code === 401)
done()
return this
},
send: function () {
return this
}
}
const next = function () {
}
m(req, res, next)
})
test('sets user=null for invalid userID', done => {
const userID = "invalid userID"
const req = {
session: {
passport: { user: userID }
}
}
const res = {}
const next = function () {
if (req.user === null)
done()
}
m(req, res, next)
})
test('returns user for valid userID - found in db', done => {
const userID = "01234567890123456789ABCD" // valid userID
const req = {
session: {
passport: { user: userID }
}
}
const res = {}
const next = function () {
expect(req.user).toBe(UserStub.user)
done()
}
UserStub.user = { displayName: "name" }
UserStub.succeed = true
m(req, res, next)
})
test('returns user for valid userID - found in db, but null', done => {
const userID = "01234567890123456789ABCD" // valid userID
const req = {
session: {
passport: { user: userID }
}
}
const res = {}
const next = function () {
expect(req.user.displayName).toBe(null)
done()
}
UserStub.user = { displayName: null }
UserStub.succeed = true
m(req, res, next)
})
test('returns user for valid userID - not found in db', done => {
const userID = "01234567890123456789ABCD" // valid userID
const req = {
session: {
passport: { user: userID }
}
}
const res = {}
const next = function () {
expect(req.user).toBe(null)
done()
}
UserStub.user = { displayName: "name" }
UserStub.succeed = false
m(req, res, next)
})