|
13 | 13 | use MongoDB\Laravel\Tests\Models\Item;
|
14 | 14 | use MongoDB\Laravel\Tests\Models\Photo;
|
15 | 15 | use MongoDB\Laravel\Tests\Models\Role;
|
| 16 | +use MongoDB\Laravel\Tests\Models\Soft; |
16 | 17 | use MongoDB\Laravel\Tests\Models\User;
|
17 | 18 |
|
18 | 19 | class RelationsTest extends TestCase
|
@@ -50,6 +51,24 @@ public function testHasMany(): void
|
50 | 51 | $this->assertCount(3, $items);
|
51 | 52 | }
|
52 | 53 |
|
| 54 | + public function testHasManyWithTrashed(): void |
| 55 | + { |
| 56 | + $user = User::create(['name' => 'George R. R. Martin']); |
| 57 | + $first = Soft::create(['title' => 'A Game of Thrones', 'user_id' => $user->_id]); |
| 58 | + $second = Soft::create(['title' => 'The Witcher', 'user_id' => $user->_id]); |
| 59 | + |
| 60 | + self::assertNull($first->deleted_at); |
| 61 | + self::assertEquals($user->_id, $first->user->_id); |
| 62 | + self::assertEquals([$first->_id, $second->_id], $user->softs->pluck('_id')->toArray()); |
| 63 | + |
| 64 | + $first->delete(); |
| 65 | + $user->refresh(); |
| 66 | + |
| 67 | + self::assertNotNull($first->deleted_at); |
| 68 | + self::assertEquals([$second->_id], $user->softs->pluck('_id')->toArray()); |
| 69 | + self::assertEquals([$first->_id, $second->_id], $user->softsWithTrashed->pluck('_id')->toArray()); |
| 70 | + } |
| 71 | + |
53 | 72 | public function testBelongsTo(): void
|
54 | 73 | {
|
55 | 74 | $user = User::create(['name' => 'George R. R. Martin']);
|
|
0 commit comments