mirror of
https://github.com/yu-i-i/overleaf-cep.git
synced 2025-07-25 02:00:07 +02:00

* [history-v1-ot] initial implementation of using doc-level history-v1-ot * [web] fix advancing of the otMigrationStage Use 'nextStage' for the user provided, desired stage when advancing. Co-authored-by: Brian Gough <brian.gough@overleaf.com> * [document-updater] document size check in editor-core * [history-ot] rename history-v1-ot to history-ot and add types * [history-ot] apply review feedback - remove extra !! - merge variable assignment when processing diff-match-match output - add helper function for getting docstore lines view of StringFileData Co-authored-by: Alf Eaton <alf.eaton@overleaf.com> * Revert "[document-updater] add safe rollback point for history-ot (#25283)" This reverts commit d7230dd14a379a27d2c6ab03a006463a18979d06 Signed-off-by: Jakob Ackermann <jakob.ackermann@overleaf.com> --------- Signed-off-by: Jakob Ackermann <jakob.ackermann@overleaf.com> Co-authored-by: Brian Gough <brian.gough@overleaf.com> Co-authored-by: Alf Eaton <alf.eaton@overleaf.com> GitOrigin-RevId: 89c497782adb0427635d50d02263d6f535b12481
53 lines
1.3 KiB
JavaScript
53 lines
1.3 KiB
JavaScript
const chai = require('chai')
|
|
const chaiAsPromised = require('chai-as-promised')
|
|
const sinonChai = require('sinon-chai')
|
|
const SandboxedModule = require('sandboxed-module')
|
|
const sinon = require('sinon')
|
|
|
|
// ensure every ObjectId has the id string as a property for correct comparisons
|
|
require('mongodb-legacy').ObjectId.cacheHexString = true
|
|
|
|
// Chai configuration
|
|
chai.should()
|
|
chai.use(chaiAsPromised)
|
|
// Load sinon-chai assertions so expect(stubFn).to.have.been.calledWith('abc')
|
|
// has a nicer failure messages
|
|
chai.use(sinonChai)
|
|
|
|
// Global stubs
|
|
const sandbox = sinon.createSandbox()
|
|
const stubs = {
|
|
logger: {
|
|
debug: sandbox.stub(),
|
|
log: sandbox.stub(),
|
|
warn: sandbox.stub(),
|
|
err: sandbox.stub(),
|
|
error: sandbox.stub(),
|
|
},
|
|
}
|
|
|
|
// SandboxedModule configuration
|
|
SandboxedModule.configure({
|
|
requires: {
|
|
'@overleaf/logger': stubs.logger,
|
|
'mongodb-legacy': require('mongodb-legacy'), // for ObjectId comparisons
|
|
'overleaf-editor-core': require('overleaf-editor-core'), // does not play nice with sandbox
|
|
},
|
|
globals: { Buffer, JSON, Math, console, process },
|
|
sourceTransformers: {
|
|
removeNodePrefix: function (source) {
|
|
return source.replace(/require\(['"]node:/g, "require('")
|
|
},
|
|
},
|
|
})
|
|
|
|
// Mocha hooks
|
|
exports.mochaHooks = {
|
|
beforeEach() {
|
|
this.logger = stubs.logger
|
|
},
|
|
|
|
afterEach() {
|
|
sandbox.reset()
|
|
},
|
|
}
|