public function testGetRequest() { $admin = new PostAdmin('sonata.post.admin.post', 'NewsBundle\\Entity\\Post', 'SonataNewsBundle:PostAdmin'); $this->assertFalse($admin->hasRequest()); $request = new Request(); $admin->setRequest($request); $this->assertEquals($request, $admin->getRequest()); $this->assertTrue($admin->hasRequest()); }
public function testGetSubject() { $entity = new Post(); $modelManager = $this->getMock('Sonata\\AdminBundle\\Model\\ModelManagerInterface'); $modelManager->expects($this->any())->method('find')->will($this->returnValue($entity)); $admin = new PostAdmin('sonata.post.admin.post', 'NewsBundle\\Entity\\Post', 'SonataNewsBundle:PostAdmin'); $admin->setModelManager($modelManager); $admin->setRequest(new Request(array('id' => 'azerty'))); $this->assertFalse($admin->getSubject()); $admin->setSubject(null); $admin->setRequest(new Request(array('id' => 42))); $this->assertSame($entity, $admin->getSubject()); $admin->setSubject(null); $admin->setRequest(new Request(array('id' => '4f69bbb5f14a13347f000092'))); $this->assertSame($entity, $admin->getSubject()); $admin->setSubject(null); $admin->setRequest(new Request(array('id' => '0779ca8d-e2be-11e4-ac58-0242ac11000b'))); $this->assertSame($entity, $admin->getSubject()); }
/** * @dataProvider provideGetSubject */ public function testGetSubject($id) { $entity = new Post(); $modelManager = $this->getMock('Sonata\\AdminBundle\\Model\\ModelManagerInterface'); $modelManager->expects($this->once())->method('find')->with('NewsBundle\\Entity\\Post', $id)->will($this->returnValue($entity)); $admin = new PostAdmin('sonata.post.admin.post', 'NewsBundle\\Entity\\Post', 'SonataNewsBundle:PostAdmin'); $admin->setModelManager($modelManager); $admin->setRequest(new Request(array('id' => $id))); $this->assertSame($entity, $admin->getSubject()); $this->assertSame($entity, $admin->getSubject()); // model manager must be used only once }