From b4e4cfffc8f3ab05b43ad84f785c22800b327dfe Mon Sep 17 00:00:00 2001 From: Jared Hanson Date: Mon, 27 Nov 2023 14:17:59 -0800 Subject: [PATCH] Fix test to allow setting of authInfo from authorize call. --- test/authenticator.middleware.test.js | 49 +++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) diff --git a/test/authenticator.middleware.test.js b/test/authenticator.middleware.test.js index a6d77ef0..9cd260f8 100644 --- a/test/authenticator.middleware.test.js +++ b/test/authenticator.middleware.test.js @@ -245,6 +245,55 @@ describe('Authenticator', function() { expect(request.account.username).to.equal('jaredhanson'); }); + it('should set authInfo to empty object', function() { + expect(request.authInfo).to.deep.equal({}); + }); + }); + + describe('handling a request with authInfo disabled', function() { + function Strategy() { + } + Strategy.prototype.authenticate = function(req) { + var user = { id: '1', username: 'jaredhanson' }; + this.success(user); + }; + + var passport = new Authenticator(); + passport.use('success', new Strategy()); + + var request, error; + + before(function(done) { + chai.connect.use(passport.authorize('success', { 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; });