mirror of
https://github.com/overleaf/overleaf.git
synced 2024-11-21 20:47:08 -05:00
Handle null, undefined and false in isUserLoggedIn
This commit is contained in:
parent
f9030a0a38
commit
dd14e51713
2 changed files with 20 additions and 2 deletions
|
@ -94,7 +94,7 @@ module.exports = AuthenticationController =
|
|||
|
||||
isUserLoggedIn: (req) ->
|
||||
user_id = AuthenticationController.getLoggedInUserId(req)
|
||||
return user_id != null
|
||||
return (user_id not in [null, undefined, false])
|
||||
|
||||
# TODO: perhaps should produce an error if the current user is not present
|
||||
getLoggedInUserId: (req) ->
|
||||
|
|
|
@ -44,6 +44,24 @@ describe "AuthenticationController", ->
|
|||
afterEach ->
|
||||
tk.reset()
|
||||
|
||||
describe 'isUserLoggedIn', () ->
|
||||
|
||||
beforeEach ->
|
||||
@stub = sinon.stub(@AuthenticationController, 'getLoggedInUserId')
|
||||
|
||||
afterEach ->
|
||||
@stub.restore()
|
||||
|
||||
it 'should do the right thing in all cases', () ->
|
||||
@AuthenticationController.getLoggedInUserId.returns('some_id')
|
||||
expect(@AuthenticationController.isUserLoggedIn(@req)).to.equal true
|
||||
@AuthenticationController.getLoggedInUserId.returns(null)
|
||||
expect(@AuthenticationController.isUserLoggedIn(@req)).to.equal false
|
||||
@AuthenticationController.getLoggedInUserId.returns(false)
|
||||
expect(@AuthenticationController.isUserLoggedIn(@req)).to.equal false
|
||||
@AuthenticationController.getLoggedInUserId.returns(undefined)
|
||||
expect(@AuthenticationController.isUserLoggedIn(@req)).to.equal false
|
||||
|
||||
describe 'setInSessionUser', () ->
|
||||
|
||||
beforeEach ->
|
||||
|
@ -361,7 +379,7 @@ describe "AuthenticationController", ->
|
|||
describe "with a user session", ->
|
||||
beforeEach ->
|
||||
@req.session =
|
||||
user: {"mock": "user"}
|
||||
user: {"mock": "user", "_id": "some_id"}
|
||||
@AuthenticationController.requireGlobalLogin @req, @res, @next
|
||||
|
||||
it "should call next() directly", ->
|
||||
|
|
Loading…
Reference in a new issue