diff --git a/app/Entities/Projects/Project.php b/app/Entities/Projects/Project.php index 8618c23..edf7640 100755 --- a/app/Entities/Projects/Project.php +++ b/app/Entities/Projects/Project.php @@ -252,6 +252,7 @@ class Project extends Model $this->jobs->each->delete(); $this->invoices()->delete(); $this->payments()->delete(); + $this->subscriptions()->delete(); DB::commit(); return parent::delete(); diff --git a/tests/Unit/Models/ProjectTest.php b/tests/Unit/Models/ProjectTest.php index 733dbdd..20f2db7 100644 --- a/tests/Unit/Models/ProjectTest.php +++ b/tests/Unit/Models/ProjectTest.php @@ -129,6 +129,19 @@ class ProjectTest extends TestCase } /** @test */ + public function project_deletion_also_deletes_related_subscriptions() + { + $project = factory(Project::class)->create(); + $subscription = factory(Subscription::class)->create(['project_id' => $project->id]); + + $project->delete(); + + $this->dontSeeInDatabase('subscriptions', [ + 'project_id' => $project->id, + ]); + } + + /** @test */ public function a_project_belongs_to_a_customer() { $customer = factory(Customer::class)->create();