diff --git a/services/web/app/src/Features/User/UserPagesController.js b/services/web/app/src/Features/User/UserPagesController.js index 61e934aeed..b44bd6e583 100644 --- a/services/web/app/src/Features/User/UserPagesController.js +++ b/services/web/app/src/Features/User/UserPagesController.js @@ -101,8 +101,8 @@ async function settingsPage(req, res) { references: user.features.references, }, refProviders: { - mendeley: user.refProviders?.mendeley, - zotero: user.refProviders?.zotero, + mendeley: Boolean(user.refProviders?.mendeley), + zotero: Boolean(user.refProviders?.zotero), }, }, hasPassword: !!user.hashedPassword, diff --git a/services/web/frontend/js/shared/context/user-context.js b/services/web/frontend/js/shared/context/user-context.js index dba72beaa7..116b45e401 100644 --- a/services/web/frontend/js/shared/context/user-context.js +++ b/services/web/frontend/js/shared/context/user-context.js @@ -25,8 +25,8 @@ UserContext.Provider.propTypes = { compileTimeout: PropTypes.number, }), refProviders: PropTypes.shape({ - mendeley: PropTypes.any, - zotero: PropTypes.any, + mendeley: PropTypes.boolean, + zotero: PropTypes.boolean, }), }), }), diff --git a/services/web/test/unit/src/User/UserPagesControllerTests.js b/services/web/test/unit/src/User/UserPagesControllerTests.js index 4d7bf67506..b688de4334 100644 --- a/services/web/test/unit/src/User/UserPagesControllerTests.js +++ b/services/web/test/unit/src/User/UserPagesControllerTests.js @@ -44,8 +44,8 @@ describe('UserPagesController', function () { }, ], refProviders: { - mendeley: true, - zotero: true, + mendeley: { encrypted: 'aaaa' }, + zotero: { encrypted: 'bbbb' }, }, } @@ -314,6 +314,17 @@ describe('UserPagesController', function () { return this.UserPagesController.settingsPage(this.req, this.res) }) + it('should cast refProviders to booleans', function (done) { + this.res.render = function (page, opts) { + expect(opts.user.refProviders).to.deep.equal({ + mendeley: true, + zotero: true, + }) + return done() + } + return this.UserPagesController.settingsPage(this.req, this.res) + }) + describe('when ldap.updateUserDetailsOnLogin is true', function () { beforeEach(function () { return (this.settings.ldap = { updateUserDetailsOnLogin: true })