session-rememberme
Version:
Add remember-me support to your app with this express middleware.
31 lines (24 loc) • 923 B
text/coffeescript
crypto = require( 'crypto' )
chai = require("chai")
sinon = require("sinon")
sinonChai = require("sinon-chai")
chai.should()
chai.use(sinonChai)
rememberme = require('..')
describe 'rememberme-logout', ->
it 'should remove tokem and clear cookie', ->
configs =
checkAuthenticated: sinon.spy()
loadUser: sinon.spy()
setUserInSession: sinon.spy()
deleteToken: sinon.spy ( sessionUser, currentToken ) -> Promise.resolve()
deleteAllTokens: sinon.spy()
saveNewToken: sinon.spy()
sessionUser = {id:"1"}
req =
get: sinon.stub().withArgs('X-Remember-Me').returns('{"user": "user 1", "token": "token 1"}');
req.get
res = {}
await rememberme( configs ).logout req, res, sessionUser
configs.deleteToken.should.have.been.called
configs.deleteToken.should.have.been.calledWith( {id:"1"}, crypto.createHash('md5').update("token 1").digest('hex') )