Commit 25a258a5 authored by Pooya Parsa's avatar Pooya Parsa

5.3 UnitTests WIP

parent cd75b176
...@@ -31,7 +31,7 @@ class EmbeddedRelationsTest extends TestCase ...@@ -31,7 +31,7 @@ class EmbeddedRelationsTest extends TestCase
$this->assertNotNull($user->addresses); $this->assertNotNull($user->addresses);
$this->assertInstanceOf('Illuminate\Database\Eloquent\Collection', $user->addresses); $this->assertInstanceOf('Illuminate\Database\Eloquent\Collection', $user->addresses);
$this->assertEquals(['London'], $user->addresses->lists('city')->all()); $this->assertEquals(['London'], $user->addresses->pluck('city')->all());
$this->assertInstanceOf('DateTime', $address->created_at); $this->assertInstanceOf('DateTime', $address->created_at);
$this->assertInstanceOf('DateTime', $address->updated_at); $this->assertInstanceOf('DateTime', $address->updated_at);
$this->assertNotNull($address->_id); $this->assertNotNull($address->_id);
...@@ -43,7 +43,7 @@ class EmbeddedRelationsTest extends TestCase ...@@ -43,7 +43,7 @@ class EmbeddedRelationsTest extends TestCase
$address = $user->addresses()->save(new Address(['city' => 'Paris'])); $address = $user->addresses()->save(new Address(['city' => 'Paris']));
$user = User::find($user->_id); $user = User::find($user->_id);
$this->assertEquals(['London', 'Paris'], $user->addresses->lists('city')->all()); $this->assertEquals(['London', 'Paris'], $user->addresses->pluck('city')->all());
$address->setEventDispatcher($events = Mockery::mock('Illuminate\Events\Dispatcher')); $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.saving: ' . get_class($address), $address)->andReturn(true);
...@@ -59,10 +59,10 @@ class EmbeddedRelationsTest extends TestCase ...@@ -59,10 +59,10 @@ class EmbeddedRelationsTest extends TestCase
$this->assertEquals(2, count($user->addresses()->get())); $this->assertEquals(2, count($user->addresses()->get()));
$this->assertEquals(2, $user->addresses->count()); $this->assertEquals(2, $user->addresses->count());
$this->assertEquals(2, $user->addresses()->count()); $this->assertEquals(2, $user->addresses()->count());
$this->assertEquals(['London', 'New York'], $user->addresses->lists('city')->all()); $this->assertEquals(['London', 'New York'], $user->addresses->pluck('city')->all());
$freshUser = User::find($user->_id); $freshUser = User::find($user->_id);
$this->assertEquals(['London', 'New York'], $freshUser->addresses->lists('city')->all()); $this->assertEquals(['London', 'New York'], $freshUser->addresses->pluck('city')->all());
$address = $user->addresses->first(); $address = $user->addresses->first();
$this->assertEquals('London', $address->city); $this->assertEquals('London', $address->city);
...@@ -73,15 +73,15 @@ class EmbeddedRelationsTest extends TestCase ...@@ -73,15 +73,15 @@ class EmbeddedRelationsTest extends TestCase
$user = User::find($user->_id); $user = User::find($user->_id);
$user->addresses()->save(new Address(['city' => 'Bruxelles'])); $user->addresses()->save(new Address(['city' => 'Bruxelles']));
$this->assertEquals(['London', 'New York', 'Bruxelles'], $user->addresses->lists('city')->all()); $this->assertEquals(['London', 'New York', 'Bruxelles'], $user->addresses->pluck('city')->all());
$address = $user->addresses[1]; $address = $user->addresses[1];
$address->city = "Manhattan"; $address->city = "Manhattan";
$user->addresses()->save($address); $user->addresses()->save($address);
$this->assertEquals(['London', 'Manhattan', 'Bruxelles'], $user->addresses->lists('city')->all()); $this->assertEquals(['London', 'Manhattan', 'Bruxelles'], $user->addresses->pluck('city')->all());
$freshUser = User::find($user->_id); $freshUser = User::find($user->_id);
$this->assertEquals(['London', 'Manhattan', 'Bruxelles'], $freshUser->addresses->lists('city')->all()); $this->assertEquals(['London', 'Manhattan', 'Bruxelles'], $freshUser->addresses->pluck('city')->all());
} }
// public function testEmbedsManySaveModel() // public function testEmbedsManySaveModel()
...@@ -123,28 +123,28 @@ class EmbeddedRelationsTest extends TestCase ...@@ -123,28 +123,28 @@ class EmbeddedRelationsTest extends TestCase
$address = new Address(['city' => 'London']); $address = new Address(['city' => 'London']);
$user->addresses()->associate($address); $user->addresses()->associate($address);
$this->assertEquals(['London'], $user->addresses->lists('city')->all()); $this->assertEquals(['London'], $user->addresses->pluck('city')->all());
$this->assertNotNull($address->_id); $this->assertNotNull($address->_id);
$freshUser = User::find($user->_id); $freshUser = User::find($user->_id);
$this->assertEquals([], $freshUser->addresses->lists('city')->all()); $this->assertEquals([], $freshUser->addresses->pluck('city')->all());
$address->city = 'Londinium'; $address->city = 'Londinium';
$user->addresses()->associate($address); $user->addresses()->associate($address);
$this->assertEquals(['Londinium'], $user->addresses->lists('city')->all()); $this->assertEquals(['Londinium'], $user->addresses->pluck('city')->all());
$freshUser = User::find($user->_id); $freshUser = User::find($user->_id);
$this->assertEquals([], $freshUser->addresses->lists('city')->all()); $this->assertEquals([], $freshUser->addresses->pluck('city')->all());
} }
public function testEmbedsManySaveMany() public function testEmbedsManySaveMany()
{ {
$user = User::create(['name' => 'John Doe']); $user = User::create(['name' => 'John Doe']);
$user->addresses()->saveMany([new Address(['city' => 'London']), new Address(['city' => 'Bristol'])]); $user->addresses()->saveMany([new Address(['city' => 'London']), new Address(['city' => 'Bristol'])]);
$this->assertEquals(['London', 'Bristol'], $user->addresses->lists('city')->all()); $this->assertEquals(['London', 'Bristol'], $user->addresses->pluck('city')->all());
$freshUser = User::find($user->id); $freshUser = User::find($user->id);
$this->assertEquals(['London', 'Bristol'], $freshUser->addresses->lists('city')->all()); $this->assertEquals(['London', 'Bristol'], $freshUser->addresses->pluck('city')->all());
} }
public function testEmbedsManyDuplicate() public function testEmbedsManyDuplicate()
...@@ -154,7 +154,7 @@ class EmbeddedRelationsTest extends TestCase ...@@ -154,7 +154,7 @@ class EmbeddedRelationsTest extends TestCase
$user->addresses()->save($address); $user->addresses()->save($address);
$user->addresses()->save($address); $user->addresses()->save($address);
$this->assertEquals(1, $user->addresses->count()); $this->assertEquals(1, $user->addresses->count());
$this->assertEquals(['London'], $user->addresses->lists('city')->all()); $this->assertEquals(['London'], $user->addresses->pluck('city')->all());
$user = User::find($user->id); $user = User::find($user->id);
$this->assertEquals(1, $user->addresses->count()); $this->assertEquals(1, $user->addresses->count());
...@@ -162,11 +162,11 @@ class EmbeddedRelationsTest extends TestCase ...@@ -162,11 +162,11 @@ class EmbeddedRelationsTest extends TestCase
$address->city = 'Paris'; $address->city = 'Paris';
$user->addresses()->save($address); $user->addresses()->save($address);
$this->assertEquals(1, $user->addresses->count()); $this->assertEquals(1, $user->addresses->count());
$this->assertEquals(['Paris'], $user->addresses->lists('city')->all()); $this->assertEquals(['Paris'], $user->addresses->pluck('city')->all());
$user->addresses()->create(['_id' => $address->_id, 'city' => 'Bruxelles']); $user->addresses()->create(['_id' => $address->_id, 'city' => 'Bruxelles']);
$this->assertEquals(1, $user->addresses->count()); $this->assertEquals(1, $user->addresses->count());
$this->assertEquals(['Bruxelles'], $user->addresses->lists('city')->all()); $this->assertEquals(['Bruxelles'], $user->addresses->pluck('city')->all());
} }
public function testEmbedsManyCreate() public function testEmbedsManyCreate()
...@@ -175,13 +175,13 @@ class EmbeddedRelationsTest extends TestCase ...@@ -175,13 +175,13 @@ class EmbeddedRelationsTest extends TestCase
$address = $user->addresses()->create(['city' => 'Bruxelles']); $address = $user->addresses()->create(['city' => 'Bruxelles']);
$this->assertInstanceOf('Address', $address); $this->assertInstanceOf('Address', $address);
$this->assertTrue(is_string($address->_id)); $this->assertTrue(is_string($address->_id));
$this->assertEquals(['Bruxelles'], $user->addresses->lists('city')->all()); $this->assertEquals(['Bruxelles'], $user->addresses->pluck('city')->all());
$raw = $address->getAttributes(); $raw = $address->getAttributes();
$this->assertInstanceOf('MongoDB\BSON\ObjectID', $raw['_id']); $this->assertInstanceOf('MongoDB\BSON\ObjectID', $raw['_id']);
$freshUser = User::find($user->id); $freshUser = User::find($user->id);
$this->assertEquals(['Bruxelles'], $freshUser->addresses->lists('city')->all()); $this->assertEquals(['Bruxelles'], $freshUser->addresses->pluck('city')->all());
$user = User::create([]); $user = User::create([]);
$address = $user->addresses()->create(['_id' => '', 'city' => 'Bruxelles']); $address = $user->addresses()->create(['_id' => '', 'city' => 'Bruxelles']);
...@@ -197,10 +197,10 @@ class EmbeddedRelationsTest extends TestCase ...@@ -197,10 +197,10 @@ class EmbeddedRelationsTest extends TestCase
list($bruxelles, $paris) = $user->addresses()->createMany([['city' => 'Bruxelles'], ['city' => 'Paris']]); list($bruxelles, $paris) = $user->addresses()->createMany([['city' => 'Bruxelles'], ['city' => 'Paris']]);
$this->assertInstanceOf('Address', $bruxelles); $this->assertInstanceOf('Address', $bruxelles);
$this->assertEquals('Bruxelles', $bruxelles->city); $this->assertEquals('Bruxelles', $bruxelles->city);
$this->assertEquals(['Bruxelles', 'Paris'], $user->addresses->lists('city')->all()); $this->assertEquals(['Bruxelles', 'Paris'], $user->addresses->pluck('city')->all());
$freshUser = User::find($user->id); $freshUser = User::find($user->id);
$this->assertEquals(['Bruxelles', 'Paris'], $freshUser->addresses->lists('city')->all()); $this->assertEquals(['Bruxelles', 'Paris'], $freshUser->addresses->pluck('city')->all());
} }
public function testEmbedsManyDestroy() public function testEmbedsManyDestroy()
...@@ -215,30 +215,30 @@ class EmbeddedRelationsTest extends TestCase ...@@ -215,30 +215,30 @@ class EmbeddedRelationsTest extends TestCase
$events->shouldReceive('fire')->once()->with('eloquent.deleted: ' . get_class($address), Mockery::type('Address')); $events->shouldReceive('fire')->once()->with('eloquent.deleted: ' . get_class($address), Mockery::type('Address'));
$user->addresses()->destroy($address->_id); $user->addresses()->destroy($address->_id);
$this->assertEquals(['Bristol', 'Bruxelles'], $user->addresses->lists('city')->all()); $this->assertEquals(['Bristol', 'Bruxelles'], $user->addresses->pluck('city')->all());
$address->unsetEventDispatcher(); $address->unsetEventDispatcher();
$address = $user->addresses->first(); $address = $user->addresses->first();
$user->addresses()->destroy($address); $user->addresses()->destroy($address);
$this->assertEquals(['Bruxelles'], $user->addresses->lists('city')->all()); $this->assertEquals(['Bruxelles'], $user->addresses->pluck('city')->all());
$user->addresses()->create(['city' => 'Paris']); $user->addresses()->create(['city' => 'Paris']);
$user->addresses()->create(['city' => 'San Francisco']); $user->addresses()->create(['city' => 'San Francisco']);
$freshUser = User::find($user->id); $freshUser = User::find($user->id);
$this->assertEquals(['Bruxelles', 'Paris', 'San Francisco'], $freshUser->addresses->lists('city')->all()); $this->assertEquals(['Bruxelles', 'Paris', 'San Francisco'], $freshUser->addresses->pluck('city')->all());
$ids = $user->addresses->lists('_id'); $ids = $user->addresses->pluck('_id');
$user->addresses()->destroy($ids); $user->addresses()->destroy($ids);
$this->assertEquals([], $user->addresses->lists('city')->all()); $this->assertEquals([], $user->addresses->pluck('city')->all());
$freshUser = User::find($user->id); $freshUser = User::find($user->id);
$this->assertEquals([], $freshUser->addresses->lists('city')->all()); $this->assertEquals([], $freshUser->addresses->pluck('city')->all());
list($london, $bristol, $bruxelles) = $user->addresses()->saveMany([new Address(['city' => 'London']), new Address(['city' => 'Bristol']), new Address(['city' => 'Bruxelles'])]); list($london, $bristol, $bruxelles) = $user->addresses()->saveMany([new Address(['city' => 'London']), new Address(['city' => 'Bristol']), new Address(['city' => 'Bruxelles'])]);
$user->addresses()->destroy([$london, $bruxelles]); $user->addresses()->destroy([$london, $bruxelles]);
$this->assertEquals(['Bristol'], $user->addresses->lists('city')->all()); $this->assertEquals(['Bristol'], $user->addresses->pluck('city')->all());
} }
public function testEmbedsManyDelete() public function testEmbedsManyDelete()
...@@ -285,10 +285,10 @@ class EmbeddedRelationsTest extends TestCase ...@@ -285,10 +285,10 @@ class EmbeddedRelationsTest extends TestCase
$address = new Address(['city' => 'London']); $address = new Address(['city' => 'London']);
$address = $user->addresses()->attach($address); $address = $user->addresses()->attach($address);
$this->assertEquals(['London'], $user->addresses->lists('city')->all()); $this->assertEquals(['London'], $user->addresses->pluck('city')->all());
$user->addresses()->detach($address); $user->addresses()->detach($address);
$this->assertEquals([], $user->addresses->lists('city')->all()); $this->assertEquals([], $user->addresses->pluck('city')->all());
} }
public function testEmbedsManyCreatingEventReturnsFalse() public function testEmbedsManyCreatingEventReturnsFalse()
...@@ -344,7 +344,7 @@ class EmbeddedRelationsTest extends TestCase ...@@ -344,7 +344,7 @@ class EmbeddedRelationsTest extends TestCase
$events->shouldReceive('until')->once()->with('eloquent.deleting: ' . get_class($address), Mockery::mustBe($address))->andReturn(false); $events->shouldReceive('until')->once()->with('eloquent.deleting: ' . get_class($address), Mockery::mustBe($address))->andReturn(false);
$this->assertEquals(0, $user->addresses()->destroy($address)); $this->assertEquals(0, $user->addresses()->destroy($address));
$this->assertEquals(['New York'], $user->addresses->lists('city')->all()); $this->assertEquals(['New York'], $user->addresses->pluck('city')->all());
$address->unsetEventDispatcher(); $address->unsetEventDispatcher();
} }
...@@ -421,11 +421,11 @@ class EmbeddedRelationsTest extends TestCase ...@@ -421,11 +421,11 @@ class EmbeddedRelationsTest extends TestCase
$user->addresses()->save(new Address(['city' => 'Brussels', 'country' => 'Belgium', 'visited' => 2, 'created_at' => new DateTime('4 days ago')])); $user->addresses()->save(new Address(['city' => 'Brussels', 'country' => 'Belgium', 'visited' => 2, 'created_at' => new DateTime('4 days ago')]));
$user->addresses()->save(new Address(['city' => 'Ghent', 'country' => 'Belgium', 'visited' => 13, 'created_at' => new DateTime('2 days ago')])); $user->addresses()->save(new Address(['city' => 'Ghent', 'country' => 'Belgium', 'visited' => 13, 'created_at' => new DateTime('2 days ago')]));
$this->assertEquals(['Paris', 'Bruges', 'Brussels', 'Ghent'], $user->addresses()->lists('city')->all()); $this->assertEquals(['Paris', 'Bruges', 'Brussels', 'Ghent'], $user->addresses()->pluck('city')->all());
$this->assertEquals(['Bruges', 'Brussels', 'Ghent', 'Paris'], $user->addresses()->sortBy('city')->lists('city')->all()); $this->assertEquals(['Bruges', 'Brussels', 'Ghent', 'Paris'], $user->addresses()->sortBy('city')->pluck('city')->all());
$this->assertEquals([], $user->addresses()->where('city', 'New York')->lists('city')->all()); $this->assertEquals([], $user->addresses()->where('city', 'New York')->pluck('city')->all());
$this->assertEquals(['Bruges', 'Brussels', 'Ghent'], $user->addresses()->where('country', 'Belgium')->lists('city')->all()); $this->assertEquals(['Bruges', 'Brussels', 'Ghent'], $user->addresses()->where('country', 'Belgium')->pluck('city')->all());
$this->assertEquals(['Bruges', 'Brussels', 'Ghent'], $user->addresses()->where('country', 'Belgium')->sortBy('city')->lists('city')->all()); $this->assertEquals(['Bruges', 'Brussels', 'Ghent'], $user->addresses()->where('country', 'Belgium')->sortBy('city')->pluck('city')->all());
$results = $user->addresses->first(); $results = $user->addresses->first();
$this->assertInstanceOf('Address', $results); $this->assertInstanceOf('Address', $results);
......
...@@ -156,8 +156,8 @@ class ModelTest extends TestCase ...@@ -156,8 +156,8 @@ class ModelTest extends TestCase
$all = User::all(); $all = User::all();
$this->assertEquals(2, count($all)); $this->assertEquals(2, count($all));
$this->assertContains('John Doe', $all->lists('name')); $this->assertContains('John Doe', $all->pluck('name'));
$this->assertContains('Jane Doe', $all->lists('name')); $this->assertContains('Jane Doe', $all->pluck('name'));
} }
public function testFind() public function testFind()
......
...@@ -29,7 +29,7 @@ class QueryBuilderTest extends TestCase ...@@ -29,7 +29,7 @@ class QueryBuilderTest extends TestCase
public function testNoDocument() public function testNoDocument()
{ {
$items = DB::collection('items')->where('name', 'nothing')->get(); $items = DB::collection('items')->where('name', 'nothing')->get()->toArray();
$this->assertEquals([], $items); $this->assertEquals([], $items);
$item = DB::collection('items')->where('name', 'nothing')->first(); $item = DB::collection('items')->where('name', 'nothing')->first();
...@@ -288,12 +288,12 @@ class QueryBuilderTest extends TestCase ...@@ -288,12 +288,12 @@ class QueryBuilderTest extends TestCase
['name' => 'spoon', 'type' => 'round'], ['name' => 'spoon', 'type' => 'round'],
]); ]);
$items = DB::collection('items')->distinct('name')->get(); $items = DB::collection('items')->distinct('name')->get()->toArray();
sort($items); sort($items);
$this->assertEquals(3, count($items)); $this->assertEquals(3, count($items));
$this->assertEquals(['fork', 'knife', 'spoon'], $items); $this->assertEquals(['fork', 'knife', 'spoon'], $items);
$types = DB::collection('items')->distinct('type')->get(); $types = DB::collection('items')->distinct('type')->get()->toArray();
sort($types); sort($types);
$this->assertEquals(2, count($types)); $this->assertEquals(2, count($types));
$this->assertEquals(['round', 'sharp'], $types); $this->assertEquals(['round', 'sharp'], $types);
...@@ -357,7 +357,7 @@ class QueryBuilderTest extends TestCase ...@@ -357,7 +357,7 @@ class QueryBuilderTest extends TestCase
['name' => 'John Doe', 'age' => 25], ['name' => 'John Doe', 'age' => 25],
]); ]);
$age = DB::collection('users')->where('name', 'John Doe')->pluck('age'); $age = DB::collection('users')->where('name', 'John Doe')->pluck('age')->toArray();
$this->assertEquals([25], $age); $this->assertEquals([25], $age);
} }
...@@ -370,16 +370,16 @@ class QueryBuilderTest extends TestCase ...@@ -370,16 +370,16 @@ class QueryBuilderTest extends TestCase
['name' => 'spoon', 'type' => 'round', 'amount' => 14], ['name' => 'spoon', 'type' => 'round', 'amount' => 14],
]); ]);
$list = DB::collection('items')->lists('name'); $list = DB::collection('items')->pluck('name')->toArray();
sort($list); sort($list);
$this->assertEquals(4, count($list)); $this->assertEquals(4, count($list));
$this->assertEquals(['fork', 'knife', 'spoon', 'spoon'], $list); $this->assertEquals(['fork', 'knife', 'spoon', 'spoon'], $list);
$list = DB::collection('items')->lists('type', 'name'); $list = DB::collection('items')->pluck('type', 'name')->toArray();
$this->assertEquals(3, count($list)); $this->assertEquals(3, count($list));
$this->assertEquals(['knife' => 'sharp', 'fork' => 'sharp', 'spoon' => 'round'], $list); $this->assertEquals(['knife' => 'sharp', 'fork' => 'sharp', 'spoon' => 'round'], $list);
$list = DB::collection('items')->lists('name', '_id'); $list = DB::collection('items')->pluck('name', '_id')->toArray();
$this->assertEquals(4, count($list)); $this->assertEquals(4, count($list));
$this->assertEquals(24, strlen(key($list))); $this->assertEquals(24, strlen(key($list)));
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment