Merge pull request #10442 from overleaf/jpa-convert-archived-trashed
[web] add migration for convert_archived_state script GitOrigin-RevId: aeea3601a0c5f96e978c3f2a85458687d6d6678e
This commit is contained in:
@@ -10,6 +10,10 @@ describe('ConvertArchivedState', function () {
|
||||
let projectTwo, projectTwoId
|
||||
let projectThree, projectThreeId
|
||||
let projectFour, projectFourId
|
||||
let projectIdTrashed
|
||||
let projectIdNotTrashed
|
||||
let projectIdArchivedAndTrashed
|
||||
let projectIdNotArchivedNotTrashed
|
||||
|
||||
beforeEach(async function () {
|
||||
userOne = new User()
|
||||
@@ -64,15 +68,60 @@ describe('ConvertArchivedState', function () {
|
||||
projectFour.archived = false
|
||||
|
||||
await userOne.saveProject(projectFour)
|
||||
|
||||
projectIdTrashed = await userOne.createProject('trashed', {
|
||||
template: 'blank',
|
||||
})
|
||||
{
|
||||
const p = await userOne.getProject(projectIdTrashed)
|
||||
p.trashed = true
|
||||
p.collaberator_refs.push(userTwo._id)
|
||||
await userOne.saveProject(p)
|
||||
}
|
||||
|
||||
projectIdNotTrashed = await userOne.createProject('not-trashed', {
|
||||
template: 'blank',
|
||||
})
|
||||
{
|
||||
const p = await userOne.getProject(projectIdNotTrashed)
|
||||
p.trashed = false
|
||||
p.collaberator_refs.push(userTwo._id)
|
||||
await userOne.saveProject(p)
|
||||
}
|
||||
|
||||
projectIdArchivedAndTrashed = await userOne.createProject('not-trashed', {
|
||||
template: 'blank',
|
||||
})
|
||||
{
|
||||
const p = await userOne.getProject(projectIdArchivedAndTrashed)
|
||||
p.archived = true
|
||||
p.trashed = true
|
||||
p.collaberator_refs.push(userTwo._id)
|
||||
await userOne.saveProject(p)
|
||||
}
|
||||
|
||||
projectIdNotArchivedNotTrashed = await userOne.createProject(
|
||||
'not-archived,not-trashed',
|
||||
{
|
||||
template: 'blank',
|
||||
}
|
||||
)
|
||||
{
|
||||
const p = await userOne.getProject(projectIdNotArchivedNotTrashed)
|
||||
p.archived = false
|
||||
p.trashed = false
|
||||
p.collaberator_refs.push(userTwo._id)
|
||||
await userOne.saveProject(p)
|
||||
}
|
||||
})
|
||||
|
||||
beforeEach(function (done) {
|
||||
exec(
|
||||
'CONNECT_DELAY=1 node scripts/convert_archived_state.js FIRST,SECOND',
|
||||
(error, stdout, stderr) => {
|
||||
console.log(stdout)
|
||||
console.error(stderr)
|
||||
if (error) {
|
||||
console.log(stdout)
|
||||
console.error(stderr)
|
||||
return done(error)
|
||||
}
|
||||
done()
|
||||
@@ -95,6 +144,7 @@ describe('ConvertArchivedState', function () {
|
||||
userThree._id,
|
||||
userFour._id,
|
||||
])
|
||||
expect(projectTwo.trashed).to.deep.equal([])
|
||||
})
|
||||
|
||||
it('should not change the value of a project already archived with an array', async function () {
|
||||
@@ -104,11 +154,46 @@ describe('ConvertArchivedState', function () {
|
||||
userTwo._id,
|
||||
userFour._id,
|
||||
])
|
||||
expect(projectThree.trashed).to.deep.equal([])
|
||||
})
|
||||
|
||||
it('should change a none-archived project with a boolean value to an array', async function () {
|
||||
projectFour = await userOne.getProject(projectFourId)
|
||||
expect(convertObjectIdsToStrings(projectFour.archived)).to.deep.equal([])
|
||||
expect(projectFour.trashed).to.deep.equal([])
|
||||
})
|
||||
|
||||
it('should change a archived and trashed project with a boolean value to an array', async function () {
|
||||
const p = await userOne.getProject(projectIdArchivedAndTrashed)
|
||||
expect(convertObjectIdsToStrings(p.archived)).to.deep.equal([
|
||||
userOne._id,
|
||||
userTwo._id,
|
||||
])
|
||||
expect(convertObjectIdsToStrings(p.trashed)).to.deep.equal([
|
||||
userOne._id,
|
||||
userTwo._id,
|
||||
])
|
||||
})
|
||||
|
||||
it('should change a trashed project with a boolean value to an array', async function () {
|
||||
const p = await userOne.getProject(projectIdTrashed)
|
||||
expect(p.archived).to.not.exist
|
||||
expect(convertObjectIdsToStrings(p.trashed)).to.deep.equal([
|
||||
userOne._id,
|
||||
userTwo._id,
|
||||
])
|
||||
})
|
||||
|
||||
it('should change a not-trashed project with a boolean value to an array', async function () {
|
||||
const p = await userOne.getProject(projectIdNotTrashed)
|
||||
expect(p.archived).to.not.exist
|
||||
expect(convertObjectIdsToStrings(p.trashed)).to.deep.equal([])
|
||||
})
|
||||
|
||||
it('should change a not-archived/not-trashed project with a boolean value to an array', async function () {
|
||||
const p = await userOne.getProject(projectIdNotArchivedNotTrashed)
|
||||
expect(p.archived).to.deep.equal([])
|
||||
expect(p.trashed).to.deep.equal([])
|
||||
})
|
||||
})
|
||||
|
||||
|
||||
Reference in New Issue
Block a user