|
|
@@ -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([])
|
|
|
})
|
|
|
})
|
|
|
|