|
25 | 25 | use MongoDB\Laravel\Tests\Models\IdIsString;
|
26 | 26 | use MongoDB\Laravel\Tests\Models\Item;
|
27 | 27 | use MongoDB\Laravel\Tests\Models\MemberStatus;
|
| 28 | +use MongoDB\Laravel\Tests\Models\NonIncrementing; |
28 | 29 | use MongoDB\Laravel\Tests\Models\Soft;
|
29 | 30 | use MongoDB\Laravel\Tests\Models\SqlUser;
|
30 | 31 | use MongoDB\Laravel\Tests\Models\User;
|
@@ -56,6 +57,7 @@ public function tearDown(): void
|
56 | 57 | Book::truncate();
|
57 | 58 | Item::truncate();
|
58 | 59 | Guarded::truncate();
|
| 60 | + NonIncrementing::truncate(); |
59 | 61 |
|
60 | 62 | parent::tearDown();
|
61 | 63 | }
|
@@ -106,6 +108,26 @@ public function testInsert(): void
|
106 | 108 | $this->assertEquals(35, $user->age);
|
107 | 109 | }
|
108 | 110 |
|
| 111 | + public function testInsertNonIncrementable(): void |
| 112 | + { |
| 113 | + $connection = DB::connection('mongodb'); |
| 114 | + $connection->setRenameEmbeddedIdField(false); |
| 115 | + |
| 116 | + $nonIncrementing = new NonIncrementing(); |
| 117 | + $nonIncrementing->id = '12345'; |
| 118 | + $nonIncrementing->name = 'John Doe'; |
| 119 | + |
| 120 | + $nonIncrementing->save(); |
| 121 | + |
| 122 | + $this->assertTrue($nonIncrementing->exists); |
| 123 | + $this->assertEquals(1, NonIncrementing::count()); |
| 124 | + |
| 125 | + $check = NonIncrementing::find($nonIncrementing->id); |
| 126 | + $this->assertInstanceOf(NonIncrementing::class, $check); |
| 127 | + $this->assertSame('12345', $check->id); |
| 128 | + $this->assertEquals('John Doe', $check->name); |
| 129 | + } |
| 130 | + |
109 | 131 | public function testUpdate(): void
|
110 | 132 | {
|
111 | 133 | $user = new User();
|
|
0 commit comments