From bad1cd13435bbb10477948b503d3fdfc5cb7bd49 Mon Sep 17 00:00:00 2001 From: Constantin Graf Date: Fri, 20 Dec 2024 19:28:10 -0500 Subject: [PATCH] Fixed reports in deletion service --- app/Service/DeletionService.php | 4 ++++ tests/Unit/Service/DeletionServiceTest.php | 11 ++++++++++- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/app/Service/DeletionService.php b/app/Service/DeletionService.php index 7fc6fd08..0e78a58c 100644 --- a/app/Service/DeletionService.php +++ b/app/Service/DeletionService.php @@ -13,6 +13,7 @@ use App\Models\Organization; use App\Models\OrganizationInvitation; use App\Models\Project; use App\Models\ProjectMember; +use App\Models\Report; use App\Models\Tag; use App\Models\Task; use App\Models\TimeEntry; @@ -71,6 +72,9 @@ class DeletionService // Delete all clients Client::query()->whereBelongsTo($organization, 'organization')->delete(); + // Delete all reports + Report::query()->whereBelongsTo($organization, 'organization')->delete(); + // Reset the current organization $organization->owner() ->where('current_team_id', $organization->getKey()) diff --git a/tests/Unit/Service/DeletionServiceTest.php b/tests/Unit/Service/DeletionServiceTest.php index 929636e1..05bdf4e3 100644 --- a/tests/Unit/Service/DeletionServiceTest.php +++ b/tests/Unit/Service/DeletionServiceTest.php @@ -12,6 +12,7 @@ use App\Models\Member; use App\Models\Organization; use App\Models\Project; use App\Models\ProjectMember; +use App\Models\Report; use App\Models\Tag; use App\Models\Task; use App\Models\TimeEntry; @@ -55,7 +56,8 @@ class DeletionServiceTest extends TestCaseWithDatabase * members: Collection, * tasks: Collection, * timeEntries: Collection, - * owner: User + * owner: User, + * reports: Collection * } */ private function createOrganizationWithAllRelations(): object @@ -96,6 +98,10 @@ class DeletionServiceTest extends TestCaseWithDatabase $task2 = Task::factory()->forProject($projectWithoutClient)->forOrganization($organization)->create(); $tasks = collect([$task1, $task2]); + $report1 = Report::factory()->forOrganization($organization)->create(); + $report2 = Report::factory()->forOrganization($organization)->create(); + $reports = collect([$report1, $report2]); + $timeEntries = TimeEntry::factory()->forOrganization($organization)->forMember($memberOwner)->createMany(2); $timeEntriesWithTask = TimeEntry::factory()->forTask($task1)->forOrganization($organization)->forMember($memberEmployee)->createMany(2); $timeEntriesWithProject = TimeEntry::factory()->forProject($projectWithClient)->forOrganization($organization)->forMember($memberPlaceholder)->createMany(2); @@ -111,6 +117,7 @@ class DeletionServiceTest extends TestCaseWithDatabase 'tasks' => $tasks, 'timeEntries' => $timeEntries, 'owner' => $userOwner, + 'reports' => $reports, ]; } @@ -126,6 +133,7 @@ class DeletionServiceTest extends TestCaseWithDatabase $this->assertSame(0, Tag::query()->whereBelongsTo($organization, 'organization')->count()); $this->assertSame(0, Member::query()->whereBelongsTo($organization, 'organization')->count()); $this->assertSame(0, Task::query()->whereBelongsTo($organization, 'organization')->count()); + $this->assertSame(0, Report::query()->whereBelongsTo($organization, 'organization')->count()); $this->assertSame(0, TimeEntry::query()->whereBelongsTo($organization, 'organization')->count()); } @@ -138,6 +146,7 @@ class DeletionServiceTest extends TestCaseWithDatabase $this->assertSame(2, Tag::query()->whereBelongsTo($organization, 'organization')->count()); $this->assertSame(3, Member::query()->whereBelongsTo($organization, 'organization')->count()); $this->assertSame(2, Task::query()->whereBelongsTo($organization, 'organization')->count()); + $this->assertSame(2, Report::query()->whereBelongsTo($organization, 'organization')->count()); $this->assertSame($specialCase ? 7 : 6, TimeEntry::query()->whereBelongsTo($organization, 'organization')->count()); }