public function testSerializeNested()
 {
     $obj = new RESTModelStub();
     $fooobj = new RESTModelStub();
     $fooobj->foo = 'bar';
     $collection = new Collection();
     $collection->push($fooobj);
     $obj->setRelation('foos', $collection);
     $serializer = new BaseSerializer();
     $this->assertEquals(array('fred' => array('foos' => array(array('foo' => 'bar')))), $serializer->serialize($obj, 'fred'));
 }
 public function testSerializeNoEmbed()
 {
     Config::shouldReceive('get')->with('andizzle/rest-framework::page_limit')->andReturn('5');
     Config::shouldReceive('get')->with('andizzle/rest-framework::serializer.embed-relations')->once()->andReturn(false);
     $obj = new RESTModelStub();
     $obj->foo = 'bar';
     $fooobj = new RESTModelStub();
     $fooobj->id = 1;
     $fooobj->root = 'roots';
     $collection = new Collection();
     $obj->setSideLoads(array('foos'));
     $collection->push($fooobj);
     $obj->setRelation('foos', $collection);
     $serializer = new JSONSerializer();
     $this->assertEquals(array('fred' => array('foo' => 'bar', 'foos' => array('1'))), $serializer->serialize($obj, 'fred'));
 }
 public function testOverrideLink()
 {
     Config::shouldReceive('get')->with('andizzle/rest-framework::page_limit')->andReturn('5');
     REST::shouldReceive('getApiPrefix')->andReturn('api/v1');
     $obj = new RESTModelStub();
     $fooobj = new RESTModelStub();
     $fooobj->id = 1;
     $fooobj->root = 'roots';
     $collection = new Collection();
     $obj->setSideLoads(array('foos'));
     $collection->push($fooobj);
     $obj->setRelation('foos', $collection);
     $serializer = new HyperlinkedJSONSerializer();
     $serializer->setURLOverrides(array('foos' => 'fredId=1'));
     $this->assertEquals(array('fred' => array('links' => array('foos' => 'api/v1/roots?fredId=1'))), $serializer->serialize($obj, 'fred'));
 }