create(); $this->expectException(QueryException::class); $abschnitt->projekt->delete(); } public function test_nachtragspositionen_werden_mit_dem_nachtrag_geloescht(): void { $nachtrag = Nachtrag::factory()->create(); Nachtragsposition::factory()->count(3)->create(['nachtrag_id' => $nachtrag->id]); $nachtrag->delete(); $this->assertSame(0, Nachtragsposition::query()->count()); } public function test_geloeschter_benutzer_verschwindet_aus_projekt_und_zuweisung(): void { $projekt = Projekt::factory()->create(); $benutzer = User::factory()->create(); $projekt->mitglieder()->attach($benutzer, ['rolle' => 'bearbeiter']); $nachtrag = Nachtrag::factory()->create(['zugewiesen_an' => $benutzer->id]); $benutzer->delete(); $this->assertSame(0, $projekt->mitglieder()->count()); $this->assertNull($nachtrag->fresh()?->zugewiesen_an); } }