fix(folder): cover soft deleted flows on delete
This commit is contained in:
@@ -38,7 +38,10 @@ class Folder extends Base {
|
|||||||
});
|
});
|
||||||
|
|
||||||
async delete() {
|
async delete() {
|
||||||
await this.$relatedQuery('flows').patch({ folderId: null });
|
await this.$relatedQuery('flows')
|
||||||
|
.withSoftDeleted()
|
||||||
|
.patch({ folderId: null });
|
||||||
|
|
||||||
await this.$query().delete();
|
await this.$query().delete();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -54,6 +54,20 @@ describe('Folder model', () => {
|
|||||||
expect(refetchedFlow.folderId).toBe(null);
|
expect(refetchedFlow.folderId).toBe(null);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it('should set folderId to null for all related soft-deleted flows before deleting the folder', async () => {
|
||||||
|
const user = await createUser();
|
||||||
|
|
||||||
|
const folder = await createFolder({ userId: user.id });
|
||||||
|
const flow = await createFlow({ folderId: folder.id, userId: user.id });
|
||||||
|
|
||||||
|
await flow.$query().delete();
|
||||||
|
|
||||||
|
await folder.delete();
|
||||||
|
|
||||||
|
const refetchedFlow = await flow.$query().withSoftDeleted();
|
||||||
|
expect(refetchedFlow.folderId).toBe(null);
|
||||||
|
});
|
||||||
|
|
||||||
it('should delete the folder', async () => {
|
it('should delete the folder', async () => {
|
||||||
const user = await createUser();
|
const user = await createUser();
|
||||||
const folder = await createFolder({ userId: user.id });
|
const folder = await createFolder({ userId: user.id });
|
||||||
|
|||||||
Reference in New Issue
Block a user