@@ -32,7 +32,7 @@ public function testHasMany()
3232
3333 $ items = $ user ->items ;
3434 $ this ->assertEquals (3 , count ($ items ));
35- }
35+ }
3636
3737 public function testBelongsTo ()
3838 {
@@ -264,38 +264,66 @@ public function testMysqlModel()
264264 {
265265 // A bit dirty
266266 MysqlUser::executeSchema ();
267+ MysqlBook::executeSchema ();
268+ MysqlRole::executeSchema ();
267269
268270 $ user = new MysqlUser ;
269271 $ this ->assertInstanceOf ('MysqlUser ' , $ user );
270272 $ this ->assertInstanceOf ('Illuminate\Database\MySqlConnection ' , $ user ->getConnection ());
271273
274+ // Mysql User
272275 $ user ->name = "John Doe " ;
273276 $ user ->save ();
274277 $ this ->assertTrue (is_int ($ user ->id ));
275278
276- // Has many
279+ // SQL has many
277280 $ book = new Book (array ('title ' => 'Game of Thrones ' ));
278281 $ user ->books ()->save ($ book );
279282 $ user = MysqlUser::find ($ user ->id ); // refetch
280283 $ this ->assertEquals (1 , count ($ user ->books ));
284+
285+ // MongoDB belongs to
281286 $ book = $ user ->books ()->first (); // refetch
282287 $ this ->assertEquals ('John Doe ' , $ book ->mysqlAuthor ->name );
283288
284- // Has one
289+ // SQL has one
285290 $ role = new Role (array ('type ' => 'admin ' ));
286291 $ user ->role ()->save ($ role );
287292 $ user = MysqlUser::find ($ user ->id ); // refetch
288293 $ this ->assertEquals ('admin ' , $ user ->role ->type );
294+
295+ // MongoDB beelongs to
289296 $ role = $ user ->role ()->first (); // refetch
290297 $ this ->assertEquals ('John Doe ' , $ role ->mysqlUser ->name );
291298
292- // belongsToMany DOES NOT WORK YET
293- /*$client = new Client(array('name' => 'Pork Pies Ltd.'));
294- $user->clients()->save($client);
295- $user = MysqlUser::find($user->id); // refetch
296- $this->assertEquals(1, count($user->clients));*/
299+ // MongoDB User
300+ $ user = new User ;
301+ $ user ->name = "John Doe " ;
302+ $ user ->save ();
303+
304+ // MongoDB has many
305+ $ book = new MysqlBook (array ('title ' => 'Game of Thrones ' ));
306+ $ user ->mysqlBooks ()->save ($ book );
307+ $ user = User::find ($ user ->_id ); // refetch
308+ $ this ->assertEquals (1 , count ($ user ->mysqlBooks ));
309+
310+ // SQL belongs to
311+ $ book = $ user ->mysqlBooks ()->first (); // refetch
312+ $ this ->assertEquals ('John Doe ' , $ book ->author ->name );
313+
314+ // MongoDB has one
315+ $ role = new MysqlRole (array ('type ' => 'admin ' ));
316+ $ user ->mysqlRole ()->save ($ role );
317+ $ user = User::find ($ user ->_id ); // refetch
318+ $ this ->assertEquals ('admin ' , $ user ->mysqlRole ->type );
319+
320+ // SQL belongs to
321+ $ role = $ user ->mysqlRole ()->first (); // refetch
322+ $ this ->assertEquals ('John Doe ' , $ role ->user ->name );
297323
298324 // Dirty again :)
299325 MysqlUser::truncate ();
326+ MysqlBook::truncate ();
327+ MysqlRole::truncate ();
300328 }
301329}
0 commit comments