From 0f2f81c0e05d9bab89af380923c44f8467bf3b22 Mon Sep 17 00:00:00 2001 From: Jared Hanson Date: Mon, 27 Nov 2023 14:44:46 -0800 Subject: [PATCH] Fix test to allow setting of authInfo with assignProperty. --- test/middleware/authenticate.success.test.js | 49 ++++++++++++++++++++ 1 file changed, 49 insertions(+) diff --git a/test/middleware/authenticate.success.test.js b/test/middleware/authenticate.success.test.js index 3216b678..c7007b1b 100644 --- a/test/middleware/authenticate.success.test.js +++ b/test/middleware/authenticate.success.test.js @@ -98,6 +98,55 @@ describe('middleware/authenticate', function() { expect(request.account.username).to.equal('jaredhanson'); }); + it('should set authInfo to empty object', function() { + expect(request.authInfo).to.deep.equal({}); + }); + }); + + describe('success that assigns a specific property with authInfo disabled', function() { + function Strategy() { + } + Strategy.prototype.authenticate = function(req) { + var user = { id: '1', username: 'jaredhanson' }; + this.success(user); + }; + + var passport = new Passport(); + passport.use('success', new Strategy()); + + var request, error; + + before(function(done) { + chai.connect.use(authenticate(passport, 'success', { assignProperty: 'account', authInfo: false })) + .req(function(req) { + request = req; + + req.logIn = function(user, options, done) { + this.user = user; + done(); + }; + }) + .next(function(err) { + error = err; + done(); + }) + .dispatch(); + }); + + it('should not error', function() { + expect(error).to.be.undefined; + }); + + it('should not set user', function() { + expect(request.user).to.be.undefined; + }); + + it('should set account', function() { + expect(request.account).to.be.an('object'); + expect(request.account.id).to.equal('1'); + expect(request.account.username).to.equal('jaredhanson'); + }); + it('should not set authInfo', function() { expect(request.authInfo).to.be.undefined; });