[web] Add deletedReason parameter to project deletion methods (#32221)

* [web] Add deletedReason parameter to project deletion methods

* revert sinon.match.any in ProjectDuplicator negative assertion

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
GitOrigin-RevId: d1595eefe0e36150231ee9646fe5eba0786fd1f5
This commit is contained in:
Domagoj Kriskovic
2026-03-20 13:08:26 +01:00
committed by Copybot
parent c9ba2ac025
commit 6486ef3e1e
13 changed files with 53 additions and 12 deletions
@@ -710,6 +710,7 @@ describe('ProjectController', function () {
.calledWith(ctx.project_id, {
deleterUser: ctx.user,
ipAddress: ctx.req.ip,
deletedReason: 'user',
})
.should.equal(true)
code.should.equal(200)
@@ -288,7 +288,7 @@ describe('ProjectDeleter', function () {
{ 'deleterData.deletedProjectId': project._id },
{
project,
deleterData: sinon.match.object,
deleterData: sinon.match.has('deletedReason', 'account-deletion'),
},
{ upsert: true }
)
@@ -343,6 +343,7 @@ describe('ProjectDeleter', function () {
it('should save a DeletedProject with additional deleterData', async function (ctx) {
ctx.deleterData.deleterIpAddress = ctx.ip
ctx.deleterData.deleterId = ctx.user._id
ctx.deleterData.deletedReason = 'user'
ctx.ProjectMock.expects('deleteOne').chain('exec').resolves()
ctx.DeletedProjectMock.expects('updateOne')
@@ -359,6 +360,7 @@ describe('ProjectDeleter', function () {
await ctx.ProjectDeleter.promises.deleteProject(ctx.project._id, {
deleterUser: ctx.user,
ipAddress: ctx.ip,
deletedReason: 'user',
})
ctx.DeletedProjectMock.verify()
})
@@ -459,7 +459,8 @@ describe('ProjectDuplicator', function () {
it('should delete the broken cloned project', function (ctx) {
ctx.ProjectDeleter.promises.deleteProject.should.have.been.calledWith(
ctx.newBlankProject._id
ctx.newBlankProject._id,
{ deletedReason: 'clone-failure' }
)
})