Merge pull request #17553 from overleaf/mj-admin-history-ranges-enable

[web] Add button for adding history ranges support in admin panel

GitOrigin-RevId: fa85b25719fff753f0d0806ccb02ad2f9db2ee82
This commit is contained in:
Mathias Jakobsen
2024-03-27 09:17:26 +00:00
committed by Copybot
parent cc445f0ff1
commit 6600f320d9
2 changed files with 42 additions and 0 deletions
@@ -17,6 +17,7 @@ const { expect } = require('chai')
const modulePath =
'../../../../app/src/Features/Project/ProjectOptionsHandler.js'
const SandboxedModule = require('sandboxed-module')
const { ObjectId } = require('mongodb')
describe('ProjectOptionsHandler', function () {
const projectId = '4eecaffcbffa66588e000008'
@@ -28,6 +29,12 @@ describe('ProjectOptionsHandler', function () {
}
this.projectModel.updateOne = sinon.stub().resolves()
this.db = {
projects: {
updateOne: sinon.stub().resolves(),
},
}
this.handler = SandboxedModule.require(modulePath, {
requires: {
'../../models/Project': { Project: this.projectModel },
@@ -42,6 +49,7 @@ describe('ProjectOptionsHandler', function () {
{ imageName: 'texlive-1234.5', imageDesc: 'test image 1' },
],
},
'../../infrastructure/mongodb': { db: this.db, ObjectId },
},
})
})
@@ -181,6 +189,28 @@ describe('ProjectOptionsHandler', function () {
})
})
describe('setting the rangesSupportEnabled', function () {
it('should perform and update on mongo', async function () {
await this.handler.promises.enableHistoryRangesSupport(projectId)
sinon.assert.calledWith(
this.db.projects.updateOne,
{ _id: new ObjectId(projectId) },
{ $set: { 'overleaf.history.rangesSupportEnabled': true } }
)
})
describe('when mongo update error occurs', function () {
beforeEach(function () {
this.db.projects.updateOne = sinon.stub().yields('error')
})
it('should be rejected', async function () {
expect(this.handler.promises.enableHistoryRangesSupport(projectId)).to
.be.rejected
})
})
})
describe('unsetting the brandVariationId', function () {
it('should perform and update on mongo', async function () {
await this.handler.promises.unsetBrandVariationId(projectId)