From 81a848285f05a4f05b4af86e3fc0f3ffa70873d4 Mon Sep 17 00:00:00 2001 From: Steve Gattuso Date: Tue, 14 Jun 2016 11:39:29 -0400 Subject: [PATCH] Adds unit tests for idType --- tests/Database/DatabaseEloquentModelTest.php | 27 ++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/tests/Database/DatabaseEloquentModelTest.php b/tests/Database/DatabaseEloquentModelTest.php index d6a19125f4ef..28185f683e18 100755 --- a/tests/Database/DatabaseEloquentModelTest.php +++ b/tests/Database/DatabaseEloquentModelTest.php @@ -1319,6 +1319,28 @@ public function testIssetBehavesCorrectlyWithAttributesAndRelationships() $this->assertTrue(isset($model->some_relation)); } + public function testIntIdTypePreserved() + { + $model = $this->getMock('EloquentModelStub', ['newQueryWithoutScopes', 'updateTimestamps', 'refresh']); + $query = m::mock('Illuminate\Database\Eloquent\Builder'); + $query->shouldReceive('insertGetId')->once()->with([], 'id')->andReturn(1); + $model->expects($this->once())->method('newQueryWithoutScopes')->will($this->returnValue($query)); + + $this->assertTrue($model->save()); + $this->assertEquals(1, $model->id); + } + + public function testStringIdTypePreserved() + { + $model = $this->getMock('EloquentIdTypeModelStub', ['newQueryWithoutScopes', 'updateTimestamps', 'refresh']); + $query = m::mock('Illuminate\Database\Eloquent\Builder'); + $query->shouldReceive('insertGetId')->once()->with([], 'id')->andReturn("string id"); + $model->expects($this->once())->method('newQueryWithoutScopes')->will($this->returnValue($query)); + + $this->assertTrue($model->save()); + $this->assertEquals("string id", $model->id); + } + protected function addMockConnection($model) { $model->setConnectionResolver($resolver = m::mock('Illuminate\Database\ConnectionResolverInterface')); @@ -1431,6 +1453,11 @@ public function setIncrementing($value) } } +class EloquentIdTypeModelStub extends EloquentModelStub +{ + public $idType = "string"; +} + class EloquentModelFindWithWritePdoStub extends Model { public function newQuery()