create(); $this->actingAs(User::factory()->create()) ->post($this->getRoute($reportTemplate)) ->assertNotFound(); $this->assertModelExists($reportTemplate); } public function testCannotDeleteAnotherUsersReportTemplate() { $reportTemplate = ReportTemplate::factory()->create(); $this->actingAs(User::factory()->canViewReports()->create()) ->delete($this->getRoute($reportTemplate)) ->assertNotFound(); $this->assertModelExists($reportTemplate); } public function testCanDeleteAReportTemplate() { $user = User::factory()->canViewReports()->create(); $reportTemplate = ReportTemplate::factory()->for($user, 'creator')->create(); $this->actingAs($user) ->delete($this->getRoute($reportTemplate)) ->assertRedirect(route('reports/custom')); $this->assertSoftDeleted($reportTemplate); } private function getRoute(ReportTemplate $reportTemplate): string { return route('report-templates.destroy', $reportTemplate->id); } }