Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 26 additions & 0 deletions src/modules/user/user.usecase.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -238,6 +238,7 @@ describe('User use cases', () => {
deleteFolders: false,
deleteShares: false,
deleteWorkspaces: false,
deleteBackups: false,
});

expect(deleteFoldersSpy).not.toHaveBeenCalled();
Expand All @@ -254,6 +255,7 @@ describe('User use cases', () => {
deleteFolders: false,
deleteShares: true,
deleteWorkspaces: false,
deleteBackups: false,
});

expect(deleteFoldersSpy).not.toHaveBeenCalled();
Expand All @@ -266,6 +268,7 @@ describe('User use cases', () => {
deleteFolders: false,
deleteShares: false,
deleteWorkspaces: true,
deleteBackups: false,
});

expect(
Expand All @@ -277,6 +280,22 @@ describe('User use cases', () => {
).toHaveBeenCalled();
});

it('When delete backups is true, then the user backups are deleted', async () => {
const deleteUserBackupsSpy = jest
.spyOn(backupUseCases, 'deleteUserBackups')
.mockResolvedValue({ deletedBackups: 1, deletedDevices: 1 });

await userUseCases.resetUser(user, {
deleteFiles: false,
deleteFolders: false,
deleteShares: false,
deleteWorkspaces: false,
deleteBackups: true,
});

expect(deleteUserBackupsSpy).toHaveBeenCalledWith(user.id);
});

describe('When resources do not exist', () => {
it('When delete folders is true, then the folders are deleted', async () => {
const deleteFoldersSpy = jest.spyOn(folderUseCases, 'deleteByUser');
Expand All @@ -290,6 +309,7 @@ describe('User use cases', () => {
deleteFolders: true,
deleteShares: false,
deleteWorkspaces: false,
deleteBackups: false,
});

expect(getFoldersSpy).toHaveBeenCalledWith(
Expand All @@ -316,6 +336,7 @@ describe('User use cases', () => {
deleteFolders: false,
deleteShares: false,
deleteWorkspaces: false,
deleteBackups: false,
});

expect(getFilesSpy).toHaveBeenCalledWith(
Expand Down Expand Up @@ -344,6 +365,7 @@ describe('User use cases', () => {
deleteFolders: true,
deleteShares: false,
deleteWorkspaces: false,
deleteBackups: false,
});

expect(getFoldersSpy).toHaveBeenCalledWith(
Expand All @@ -370,6 +392,7 @@ describe('User use cases', () => {
deleteFolders: false,
deleteShares: false,
deleteWorkspaces: false,
deleteBackups: false,
});

expect(getFilesSpy).toHaveBeenCalledWith(
Expand Down Expand Up @@ -2702,6 +2725,7 @@ describe('User use cases', () => {
deleteFolders: true,
deleteShares: true,
deleteWorkspaces: true,
deleteBackups: true,
});
});

Expand Down Expand Up @@ -2781,6 +2805,7 @@ describe('User use cases', () => {
deleteFolders: true,
deleteShares: true,
deleteWorkspaces: true,
deleteBackups: true,
});

expect(keyServerRepository.deleteByUserId).toHaveBeenCalledWith(
Expand Down Expand Up @@ -3503,6 +3528,7 @@ describe('User use cases', () => {
deleteFolders: true,
deleteShares: true,
deleteWorkspaces: true,
deleteBackups: true,
});
});

Expand Down
7 changes: 7 additions & 0 deletions src/modules/user/user.usecase.ts
Original file line number Diff line number Diff line change
Expand Up @@ -1059,6 +1059,7 @@ export class UserUseCases {
deleteFolders: true,
deleteShares: true,
deleteWorkspaces: true,
deleteBackups: true,
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

non blocking: I'm pretty sure this is now dead code, commenting just so we remember later on to double check and get rid of it

});
}
await this.keyServerRepository.deleteByUserId(user.id);
Expand Down Expand Up @@ -1112,6 +1113,7 @@ export class UserUseCases {
deleteFolders: true,
deleteShares: true,
deleteWorkspaces: true,
deleteBackups: true,
});
}
}
Expand Down Expand Up @@ -1235,6 +1237,7 @@ export class UserUseCases {
deleteFolders: boolean;
deleteShares: boolean;
deleteWorkspaces: boolean;
deleteBackups: boolean;
},
): Promise<void> {
if (options.deleteShares) {
Expand Down Expand Up @@ -1291,6 +1294,10 @@ export class UserUseCases {
await this.workspaceUseCases.emptyAllUserOwnedWorkspaces(user);
await this.workspaceUseCases.removeUserFromNonOwnedWorkspaces(user);
}

if (options.deleteBackups) {
await this.backupUseCases.deleteUserBackups(user.id);
}
}

async updatePassword(
Expand Down
Loading