Skip to content

Commit

Permalink
Fix tests (mongodb#1724)
Browse files Browse the repository at this point in the history
*   Update Dockerfile, add for methods setUp and tearDown return type hint in all tests, replace fire on dispatch

* Resolve error test with touch

* Use COMPOSER_VERSION in Dockerfile

* Add alias for composer

* Change parent method's names
Broken commit in laravel: laravel/framework@2ee1892

* Remove changes in .travis.yml

* Remove changes from Dockerfile

* Revert changes in docker-compose.yml

* Update image with mysql
  • Loading branch information
mnphpexpert committed Mar 12, 2019
1 parent 18bcf34 commit 17da25e
Show file tree
Hide file tree
Showing 15 changed files with 72 additions and 47 deletions.
2 changes: 1 addition & 1 deletion docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ services:

mysql:
container_name: mysql
image: mysql
image: mysql:5.7
environment:
MYSQL_ROOT_PASSWORD:
MYSQL_DATABASE: unittest
Expand Down
25 changes: 25 additions & 0 deletions src/Jenssegers/Mongodb/Eloquent/Builder.php
Original file line number Diff line number Diff line change
Expand Up @@ -177,6 +177,31 @@ public function raw($expression = null)
return $results;
}

/**
* Add the "updated at" column to an array of values.
* TODO Remove if https://github.com/laravel/framework/commit/6484744326531829341e1ff886cc9b628b20d73e
* wiil be reverted
* Issue in laravel frawework https://github.com/laravel/framework/issues/27791
*
* @param array $values
* @return array
*/
protected function addUpdatedAtColumn(array $values)
{
if (! $this->model->usesTimestamps() ||
is_null($this->model->getUpdatedAtColumn())) {
return $values;
}

$column = $this->model->getUpdatedAtColumn();
$values = array_merge(
[$column => $this->model->freshTimestampString()],
$values
);

return $values;
}

/**
* @return \Illuminate\Database\ConnectionInterface
*/
Expand Down
4 changes: 2 additions & 2 deletions src/Jenssegers/Mongodb/Helpers/QueriesRelationships.php
Original file line number Diff line number Diff line change
Expand Up @@ -110,7 +110,7 @@ protected function getRelatedConstraintKey($relation)
}

if ($relation instanceof BelongsTo) {
return $relation->getForeignKey();
return $relation->getForeignKeyName();
}

if ($relation instanceof BelongsToMany && ! $this->isAcrossConnections($relation)) {
Expand All @@ -130,7 +130,7 @@ protected function getHasCompareKey($relation)
return $relation->getHasCompareKey();
}

return $relation instanceof HasOneOrMany ? $relation->getForeignKeyName() : $relation->getOwnerKey();
return $relation instanceof HasOneOrMany ? $relation->getForeignKeyName() : $relation->getOwnerKeyName();
}

/**
Expand Down
3 changes: 2 additions & 1 deletion tests/AuthTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,9 @@

class AuthTest extends TestCase
{
public function tearDown()
public function tearDown(): void
{
parent::setUp();
User::truncate();
DB::collection('password_reminders')->truncate();
}
Expand Down
58 changes: 29 additions & 29 deletions tests/EmbeddedRelationsTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

class EmbeddedRelationsTest extends TestCase
{
public function tearDown()
public function tearDown(): void
{
Mockery::close();

Expand All @@ -21,11 +21,11 @@ public function testEmbedsManySave()
$address = new Address(['city' => 'London']);

$address->setEventDispatcher($events = Mockery::mock('Illuminate\Events\Dispatcher'));
$events->shouldReceive('fire')->with('eloquent.retrieved: ' . get_class($address), Mockery::any());
$events->shouldReceive('dispatch')->with('eloquent.retrieved: ' . get_class($address), Mockery::any());
$events->shouldReceive('until')->once()->with('eloquent.saving: ' . get_class($address), $address)->andReturn(true);
$events->shouldReceive('until')->once()->with('eloquent.creating: ' . get_class($address), $address)->andReturn(true);
$events->shouldReceive('fire')->once()->with('eloquent.created: ' . get_class($address), $address);
$events->shouldReceive('fire')->once()->with('eloquent.saved: ' . get_class($address), $address);
$events->shouldReceive('dispatch')->once()->with('eloquent.created: ' . get_class($address), $address);
$events->shouldReceive('dispatch')->once()->with('eloquent.saved: ' . get_class($address), $address);

$address = $user->addresses()->save($address);
$address->unsetEventDispatcher();
Expand All @@ -47,11 +47,11 @@ public function testEmbedsManySave()
$this->assertEquals(['London', 'Paris'], $user->addresses->pluck('city')->all());

$address->setEventDispatcher($events = Mockery::mock('Illuminate\Events\Dispatcher'));
$events->shouldReceive('fire')->with('eloquent.retrieved: ' . get_class($address), Mockery::any());
$events->shouldReceive('dispatch')->with('eloquent.retrieved: ' . get_class($address), Mockery::any());
$events->shouldReceive('until')->once()->with('eloquent.saving: ' . get_class($address), $address)->andReturn(true);
$events->shouldReceive('until')->once()->with('eloquent.updating: ' . get_class($address), $address)->andReturn(true);
$events->shouldReceive('fire')->once()->with('eloquent.updated: ' . get_class($address), $address);
$events->shouldReceive('fire')->once()->with('eloquent.saved: ' . get_class($address), $address);
$events->shouldReceive('dispatch')->once()->with('eloquent.updated: ' . get_class($address), $address);
$events->shouldReceive('dispatch')->once()->with('eloquent.saved: ' . get_class($address), $address);

$address->city = 'New York';
$user->addresses()->save($address);
Expand Down Expand Up @@ -94,16 +94,16 @@ public function testEmbedsManySave()
// $address->setEventDispatcher($events = Mockery::mock('Illuminate\Events\Dispatcher'));
// $events->shouldReceive('until')->once()->with('eloquent.saving: ' . get_class($address), $address)->andReturn(true);
// $events->shouldReceive('until')->once()->with('eloquent.creating: ' . get_class($address), $address)->andReturn(true);
// $events->shouldReceive('fire')->once()->with('eloquent.created: ' . get_class($address), $address);
// $events->shouldReceive('fire')->once()->with('eloquent.saved: ' . get_class($address), $address);
// $events->shouldReceive('dispatch')->once()->with('eloquent.created: ' . get_class($address), $address);
// $events->shouldReceive('dispatch')->once()->with('eloquent.saved: ' . get_class($address), $address);

// $address->save();

// $address->setEventDispatcher($events = Mockery::mock('Illuminate\Events\Dispatcher'));
// $events->shouldReceive('until')->once()->with('eloquent.saving: ' . get_class($address), $address)->andReturn(true);
// $events->shouldReceive('until')->once()->with('eloquent.updating: ' . get_class($address), $address)->andReturn(true);
// $events->shouldReceive('fire')->once()->with('eloquent.updated: ' . get_class($address), $address);
// $events->shouldReceive('fire')->once()->with('eloquent.saved: ' . get_class($address), $address);
// $events->shouldReceive('dispatch')->once()->with('eloquent.updated: ' . get_class($address), $address);
// $events->shouldReceive('dispatch')->once()->with('eloquent.saved: ' . get_class($address), $address);

// $address->city = 'Paris';
// $address->save();
Expand Down Expand Up @@ -213,9 +213,9 @@ public function testEmbedsManyDestroy()
$address = $user->addresses->first();

$address->setEventDispatcher($events = Mockery::mock('Illuminate\Events\Dispatcher'));
$events->shouldReceive('fire')->with('eloquent.retrieved: ' . get_class($address), Mockery::any());
$events->shouldReceive('dispatch')->with('eloquent.retrieved: ' . get_class($address), Mockery::any());
$events->shouldReceive('until')->once()->with('eloquent.deleting: ' . get_class($address), Mockery::type('Address'))->andReturn(true);
$events->shouldReceive('fire')->once()->with('eloquent.deleted: ' . get_class($address), Mockery::type('Address'));
$events->shouldReceive('dispatch')->once()->with('eloquent.deleted: ' . get_class($address), Mockery::type('Address'));

$user->addresses()->destroy($address->_id);
$this->assertEquals(['Bristol', 'Bruxelles'], $user->addresses->pluck('city')->all());
Expand Down Expand Up @@ -252,9 +252,9 @@ public function testEmbedsManyDelete()
$address = $user->addresses->first();

$address->setEventDispatcher($events = Mockery::mock('Illuminate\Events\Dispatcher'));
$events->shouldReceive('fire')->with('eloquent.retrieved: ' . get_class($address), Mockery::any());
$events->shouldReceive('dispatch')->with('eloquent.retrieved: ' . get_class($address), Mockery::any());
$events->shouldReceive('until')->once()->with('eloquent.deleting: ' . get_class($address), Mockery::type('Address'))->andReturn(true);
$events->shouldReceive('fire')->once()->with('eloquent.deleted: ' . get_class($address), Mockery::type('Address'));
$events->shouldReceive('dispatch')->once()->with('eloquent.deleted: ' . get_class($address), Mockery::type('Address'));

$address->delete();

Expand Down Expand Up @@ -301,7 +301,7 @@ public function testEmbedsManyCreatingEventReturnsFalse()
$address = new Address(['city' => 'London']);

$address->setEventDispatcher($events = Mockery::mock('Illuminate\Events\Dispatcher'));
$events->shouldReceive('fire')->with('eloquent.retrieved: ' . get_class($address), Mockery::any());
$events->shouldReceive('dispatch')->with('eloquent.retrieved: ' . get_class($address), Mockery::any());
$events->shouldReceive('until')->once()->with('eloquent.saving: ' . get_class($address), $address)->andReturn(true);
$events->shouldReceive('until')->once()->with('eloquent.creating: ' . get_class($address), $address)->andReturn(false);

Expand All @@ -316,7 +316,7 @@ public function testEmbedsManySavingEventReturnsFalse()
$address->exists = true;

$address->setEventDispatcher($events = Mockery::mock('Illuminate\Events\Dispatcher'));
$events->shouldReceive('fire')->with('eloquent.retrieved: ' . get_class($address), Mockery::any());
$events->shouldReceive('dispatch')->with('eloquent.retrieved: ' . get_class($address), Mockery::any());
$events->shouldReceive('until')->once()->with('eloquent.saving: ' . get_class($address), $address)->andReturn(false);

$this->assertFalse($user->addresses()->save($address));
Expand All @@ -330,7 +330,7 @@ public function testEmbedsManyUpdatingEventReturnsFalse()
$user->addresses()->save($address);

$address->setEventDispatcher($events = Mockery::mock('Illuminate\Events\Dispatcher'));
$events->shouldReceive('fire')->with('eloquent.retrieved: ' . get_class($address), Mockery::any());
$events->shouldReceive('dispatch')->with('eloquent.retrieved: ' . get_class($address), Mockery::any());
$events->shouldReceive('until')->once()->with('eloquent.saving: ' . get_class($address), $address)->andReturn(true);
$events->shouldReceive('until')->once()->with('eloquent.updating: ' . get_class($address), $address)->andReturn(false);

Expand All @@ -348,7 +348,7 @@ public function testEmbedsManyDeletingEventReturnsFalse()
$address = $user->addresses->first();

$address->setEventDispatcher($events = Mockery::mock('Illuminate\Events\Dispatcher'));
$events->shouldReceive('fire')->with('eloquent.retrieved: ' . get_class($address), Mockery::any());
$events->shouldReceive('dispatch')->with('eloquent.retrieved: ' . get_class($address), Mockery::any());
$events->shouldReceive('until')->once()->with('eloquent.deleting: ' . get_class($address), Mockery::mustBe($address))->andReturn(false);

$this->assertEquals(0, $user->addresses()->destroy($address));
Expand Down Expand Up @@ -452,11 +452,11 @@ public function testEmbedsOne()
$father = new User(['name' => 'Mark Doe']);

$father->setEventDispatcher($events = Mockery::mock('Illuminate\Events\Dispatcher'));
$events->shouldReceive('fire')->with('eloquent.retrieved: ' . get_class($father), Mockery::any());
$events->shouldReceive('dispatch')->with('eloquent.retrieved: ' . get_class($father), Mockery::any());
$events->shouldReceive('until')->once()->with('eloquent.saving: ' . get_class($father), $father)->andReturn(true);
$events->shouldReceive('until')->once()->with('eloquent.creating: ' . get_class($father), $father)->andReturn(true);
$events->shouldReceive('fire')->once()->with('eloquent.created: ' . get_class($father), $father);
$events->shouldReceive('fire')->once()->with('eloquent.saved: ' . get_class($father), $father);
$events->shouldReceive('dispatch')->once()->with('eloquent.created: ' . get_class($father), $father);
$events->shouldReceive('dispatch')->once()->with('eloquent.saved: ' . get_class($father), $father);

$father = $user->father()->save($father);
$father->unsetEventDispatcher();
Expand All @@ -472,11 +472,11 @@ public function testEmbedsOne()
$this->assertInstanceOf('MongoDB\BSON\ObjectID', $raw['_id']);

$father->setEventDispatcher($events = Mockery::mock('Illuminate\Events\Dispatcher'));
$events->shouldReceive('fire')->with('eloquent.retrieved: ' . get_class($father), Mockery::any());
$events->shouldReceive('dispatch')->with('eloquent.retrieved: ' . get_class($father), Mockery::any());
$events->shouldReceive('until')->once()->with('eloquent.saving: ' . get_class($father), $father)->andReturn(true);
$events->shouldReceive('until')->once()->with('eloquent.updating: ' . get_class($father), $father)->andReturn(true);
$events->shouldReceive('fire')->once()->with('eloquent.updated: ' . get_class($father), $father);
$events->shouldReceive('fire')->once()->with('eloquent.saved: ' . get_class($father), $father);
$events->shouldReceive('dispatch')->once()->with('eloquent.updated: ' . get_class($father), $father);
$events->shouldReceive('dispatch')->once()->with('eloquent.saved: ' . get_class($father), $father);

$father->name = 'Tom Doe';
$user->father()->save($father);
Expand All @@ -488,11 +488,11 @@ public function testEmbedsOne()
$father = new User(['name' => 'Jim Doe']);

$father->setEventDispatcher($events = Mockery::mock('Illuminate\Events\Dispatcher'));
$events->shouldReceive('fire')->with('eloquent.retrieved: ' . get_class($father), Mockery::any());
$events->shouldReceive('dispatch')->with('eloquent.retrieved: ' . get_class($father), Mockery::any());
$events->shouldReceive('until')->once()->with('eloquent.saving: ' . get_class($father), $father)->andReturn(true);
$events->shouldReceive('until')->once()->with('eloquent.creating: ' . get_class($father), $father)->andReturn(true);
$events->shouldReceive('fire')->once()->with('eloquent.created: ' . get_class($father), $father);
$events->shouldReceive('fire')->once()->with('eloquent.saved: ' . get_class($father), $father);
$events->shouldReceive('dispatch')->once()->with('eloquent.created: ' . get_class($father), $father);
$events->shouldReceive('dispatch')->once()->with('eloquent.saved: ' . get_class($father), $father);

$father = $user->father()->save($father);
$father->unsetEventDispatcher();
Expand All @@ -507,7 +507,7 @@ public function testEmbedsOneAssociate()
$father = new User(['name' => 'Mark Doe']);

$father->setEventDispatcher($events = Mockery::mock('Illuminate\Events\Dispatcher'));
$events->shouldReceive('fire')->with('eloquent.retrieved: ' . get_class($father), Mockery::any());
$events->shouldReceive('dispatch')->with('eloquent.retrieved: ' . get_class($father), Mockery::any());
$events->shouldReceive('until')->times(0)->with('eloquent.saving: ' . get_class($father), $father);

$father = $user->father()->associate($father);
Expand Down
4 changes: 2 additions & 2 deletions tests/GeospatialTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

class GeospatialTest extends TestCase
{
public function setUp()
public function setUp(): void
{
parent::setUp();

Expand Down Expand Up @@ -43,7 +43,7 @@ public function setUp()
]);
}

public function tearDown()
public function tearDown(): void
{
Schema::drop('locations');
}
Expand Down
4 changes: 2 additions & 2 deletions tests/HybridRelationsTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

class HybridRelationsTest extends TestCase
{
public function setUp()
public function setUp(): void
{
parent::setUp();

Expand All @@ -11,7 +11,7 @@ public function setUp()
MysqlRole::executeSchema();
}

public function tearDown()
public function tearDown(): void
{
MysqlUser::truncate();
MysqlBook::truncate();
Expand Down
3 changes: 1 addition & 2 deletions tests/ModelTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@

class ModelTest extends TestCase
{
public function tearDown()
public function tearDown(): void
{
User::truncate();
Soft::truncate();
Expand Down Expand Up @@ -262,7 +262,6 @@ public function testTouch()
$user->save();

$old = $user->updated_at;

sleep(1);
$user->touch();
$check = User::find($user->_id);
Expand Down
2 changes: 1 addition & 1 deletion tests/QueryBuilderTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@

class QueryBuilderTest extends TestCase
{
public function tearDown()
public function tearDown(): void
{
DB::collection('users')->truncate();
DB::collection('items')->truncate();
Expand Down
4 changes: 2 additions & 2 deletions tests/QueryTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ class QueryTest extends TestCase
{
protected static $started = false;

public function setUp()
public function setUp(): void
{
parent::setUp();
User::create(['name' => 'John Doe', 'age' => 35, 'title' => 'admin']);
Expand All @@ -18,7 +18,7 @@ public function setUp()
User::create(['name' => 'Error', 'age' => null, 'title' => null]);
}

public function tearDown()
public function tearDown(): void
{
User::truncate();
parent::tearDown();
Expand Down
2 changes: 1 addition & 1 deletion tests/QueueTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

class QueueTest extends TestCase
{
public function setUp()
public function setUp(): void
{
parent::setUp();

Expand Down
2 changes: 1 addition & 1 deletion tests/RelationsTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

class RelationsTest extends TestCase
{
public function tearDown()
public function tearDown(): void
{
Mockery::close();

Expand Down
2 changes: 1 addition & 1 deletion tests/SchemaTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

class SchemaTest extends TestCase
{
public function tearDown()
public function tearDown(): void
{
Schema::drop('newcollection');
}
Expand Down
2 changes: 1 addition & 1 deletion tests/SeederTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

class SeederTest extends TestCase
{
public function tearDown()
public function tearDown(): void
{
User::truncate();
}
Expand Down
2 changes: 1 addition & 1 deletion tests/ValidationTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

class ValidationTest extends TestCase
{
public function tearDown()
public function tearDown(): void
{
User::truncate();
}
Expand Down

0 comments on commit 17da25e

Please sign in to comment.