public function setUp()
 {
     $user = new User();
     $user->username = '******';
     $user->password = '******';
     $user->email = '*****@*****.**';
     $user->created_at = '2016-01-13 00:06:16';
     $user->updated_at = '2016-01-13 00:06:16';
     $user->timestamps = false;
     $user->save();
 }
 public function testSerializeModel()
 {
     $user = User::find(1);
     $driver = new EloquentDriver();
     $output = $driver->serialize($user);
     $expected = array('@type' => 'NilPortugues\\Tests\\Serializer\\Drivers\\Eloquent\\Models\\User', 'id' => array('@scalar' => 'integer', '@value' => '1'), 'username' => array('@scalar' => 'string', '@value' => 'Nil'), 'password' => array('@scalar' => 'string', '@value' => 'password'), 'email' => array('@scalar' => 'string', '@value' => '*****@*****.**'), 'created_at' => array('@scalar' => 'string', '@value' => '2016-01-13 00:06:16'), 'updated_at' => array('@scalar' => 'string', '@value' => '2016-01-13 00:06:16'), 'deleted_at' => array('@scalar' => 'NULL', '@value' => null), 'latestOrders' => array('@map' => 'array', '@value' => array(0 => array('@type' => 'NilPortugues\\Tests\\Serializer\\Drivers\\Eloquent\\Models\\Orders', 'user_id' => array('@scalar' => 'string', '@value' => '1'), 'name' => array('@scalar' => 'string', '@value' => 'Some item'), 'ordered_at' => array('@scalar' => 'string', '@value' => '2016-01-14 09:15:20')))));
     $this->assertEquals($expected, $output);
 }
 public function setUp()
 {
     $manager = new AccountManager();
     $manager->username = '******';
     $manager->password = '******';
     $manager->email = '*****@*****.**';
     $manager->created_at = '2016-01-13 00:06:16';
     $manager->updated_at = '2016-01-13 00:06:16';
     $manager->timestamps = false;
     $manager->save();
     $user = new User();
     $user->account_manager_id = $manager->id;
     $user->username = '******';
     $user->password = '******';
     $user->email = '*****@*****.**';
     $user->created_at = '2016-01-13 00:06:16';
     $user->updated_at = '2016-01-13 00:06:16';
     $user->timestamps = false;
     $user->save();
 }
 public function testSerializeModelWithOneToOneRelation()
 {
     $user = User::with('profile')->find(1);
     $driver = new EloquentDriver();
     $output = $driver->serialize($user);
     $expected = array('@type' => 'NilPortugues\\Tests\\Serializer\\Drivers\\Eloquent\\Models\\User', 'id' => array('@scalar' => 'integer', '@value' => '1'), 'account_manager_id' => array('@scalar' => 'string', '@value' => '1'), 'username' => array('@scalar' => 'string', '@value' => 'Nil'), 'password' => array('@scalar' => 'string', '@value' => 'password'), 'email' => array('@scalar' => 'string', '@value' => '*****@*****.**'), 'created_at' => array('@scalar' => 'string', '@value' => '2016-01-13 00:06:16'), 'updated_at' => array('@scalar' => 'string', '@value' => '2016-01-13 00:06:16'), 'deleted_at' => array('@scalar' => 'NULL', '@value' => null), 'latestOrders' => array('@map' => 'array', '@value' => array(0 => array('@type' => 'NilPortugues\\Tests\\Serializer\\Drivers\\Eloquent\\Models\\Orders', 'id' => array('@scalar' => 'integer', '@value' => '1'), 'user_id' => array('@scalar' => 'string', '@value' => '1'), 'name' => array('@scalar' => 'string', '@value' => 'Some item'), 'ordered_at' => array('@scalar' => 'string', '@value' => '2016-01-14 09:15:20')))), 'groups' => array('@map' => 'array', '@value' => array(0 => array('@type' => 'NilPortugues\\Tests\\Serializer\\Drivers\\Eloquent\\Models\\Group', 'id' => array('@scalar' => 'integer', '@value' => '1'), 'name' => array('@scalar' => 'string', '@value' => 'customers')), 1 => array('@type' => 'NilPortugues\\Tests\\Serializer\\Drivers\\Eloquent\\Models\\Group', 'id' => array('@scalar' => 'integer', '@value' => '2'), 'name' => array('@scalar' => 'string', '@value' => 'platin-customers')), 2 => array('@type' => 'NilPortugues\\Tests\\Serializer\\Drivers\\Eloquent\\Models\\Group', 'id' => array('@scalar' => 'integer', '@value' => '3'), 'name' => array('@scalar' => 'string', '@value' => 'users')))), 'profile' => array('@type' => 'NilPortugues\\Tests\\Serializer\\Drivers\\Eloquent\\Models\\Profile', 'id' => array('@scalar' => 'integer', '@value' => '1'), 'user_id' => array('@scalar' => 'string', '@value' => '1'), 'gravatar' => array('@scalar' => 'string', '@value' => 'ThisIsAVeryRandomHash'), 'created_at' => array('@scalar' => 'string', '@value' => '2016-01-13 00:06:16'), 'updated_at' => array('@scalar' => 'string', '@value' => '2016-01-13 00:06:16')), 'friends' => array('@map' => 'array', '@value' => array(0 => array('@type' => 'NilPortugues\\Tests\\Serializer\\Drivers\\Eloquent\\Models\\User', 'id' => array('@scalar' => 'integer', '@value' => '2'), 'account_manager_id' => array('@scalar' => 'string', '@value' => '1'), 'username' => array('@scalar' => 'string', '@value' => 'Oskar'), 'password' => array('@scalar' => 'string', '@value' => 'password'), 'email' => array('@scalar' => 'string', '@value' => '*****@*****.**'), 'created_at' => array('@scalar' => 'string', '@value' => '2016-06-16 11:09:33'), 'updated_at' => array('@scalar' => 'string', '@value' => '2016-06-16 11:09:33'), 'deleted_at' => array('@scalar' => 'NULL', '@value' => null)))));
     $this->assertEquals($expected, $output);
 }