Fixed reports in deletion service

This commit is contained in:
Constantin Graf
2024-12-20 19:28:10 -05:00
parent dd312b396b
commit bad1cd1343
2 changed files with 14 additions and 1 deletions

View File

@@ -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())

View File

@@ -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<Member>,
* tasks: Collection<Task>,
* timeEntries: Collection<TimeEntry>,
* owner: User
* owner: User,
* reports: Collection<Report>
* }
*/
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());
}