overleaf/services/web/test/acceptance/src/EditorHttpControllerTests.js
Jakob Ackermann f5965217c4 Merge pull request #3651 from overleaf/jpa-hide-deleted-at-field
[misc] joinProject: hide deletedAt field in public deletedDocs array

GitOrigin-RevId: 0ee11c2a8222304d5d1c4edafa2105b7ad43d5d8
2021-02-18 03:04:33 +00:00

59 lines
1.6 KiB
JavaScript

const User = require('./helpers/User')
const { expect } = require('chai')
require('./helpers/MockDocstoreApi')
require('./helpers/MockV1Api')
require('./helpers/MockProjectHistoryApi')
describe('EditorHttpController', function() {
beforeEach('login', function(done) {
this.user = new User()
this.user.login(done)
})
beforeEach('create project', function(done) {
this.projectName = 'wombat'
this.user.createProject(this.projectName, (error, projectId) => {
if (error) return done(error)
this.projectId = projectId
done()
})
})
beforeEach('create doc', function(done) {
this.user.createDocInProject(
this.projectId,
null,
'potato.tex',
(error, docId) => {
this.docId = docId
done(error)
}
)
})
describe('joinProject', function() {
it('should emit an empty deletedDocs array', function(done) {
this.user.joinProject(this.projectId, (error, details) => {
if (error) return done(error)
expect(details.project.deletedDocs).to.deep.equal([])
done()
})
})
describe('after deleting a doc', function() {
beforeEach(function(done) {
this.user.deleteItemInProject(this.projectId, 'doc', this.docId, done)
})
it('should include the deleted doc in the deletedDocs array', function(done) {
this.user.joinProject(this.projectId, (error, details) => {
if (error) return done(error)
expect(details.project.deletedDocs).to.deep.equal([
{ _id: this.docId, name: 'potato.tex' }
])
done()
})
})
})
})
})