From 74da547e3decd24131ef7da808ef0bff406ee7db Mon Sep 17 00:00:00 2001 From: Matheus Freitas Date: Tue, 5 Sep 2023 16:02:30 -0300 Subject: [PATCH] Add test cases for bug detection in associate method with unnormalized models --- tests/EmbeddedRelationsTest.php | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/tests/EmbeddedRelationsTest.php b/tests/EmbeddedRelationsTest.php index 977026f88..624fc6e12 100644 --- a/tests/EmbeddedRelationsTest.php +++ b/tests/EmbeddedRelationsTest.php @@ -298,6 +298,20 @@ public function testEmbedsManyDissociate() $freshUser = User::find($user->id); $this->assertEquals(0, $user->addresses->count()); $this->assertEquals(1, $freshUser->addresses->count()); + + $broken_address = Address::make(['name' => 'Broken']); + + $user->update([ + "addresses" => array_merge( + [$broken_address->toArray()], + $user->addresses()->toArray() + )]); + + $curitiba = $user->addresses()->create(['city' => 'Curitiba']); + $user->addresses()->dissociate($curitiba->id); + + $this->assertEquals(1, $user->addresses->where('name', $broken_address->name)->count()); + $this->assertEquals(1, $user->addresses->count()); } public function testEmbedsManyAliases()