コード例 #1
0
ファイル: AdminTest.php プロジェクト: drmjo/SonataAdminBundle
 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());
 }
コード例 #2
0
ファイル: AdminTest.php プロジェクト: viral810/ngSimpleCMS
 /**
  * @covers Sonata\AdminBundle\Admin\Admin::getSubClasses
  * @covers Sonata\AdminBundle\Admin\Admin::getSubClass
  * @covers Sonata\AdminBundle\Admin\Admin::setSubClasses
  * @covers Sonata\AdminBundle\Admin\Admin::hasSubClass
  * @covers Sonata\AdminBundle\Admin\Admin::hasActiveSubClass
  * @covers Sonata\AdminBundle\Admin\Admin::getActiveSubClass
  * @covers Sonata\AdminBundle\Admin\Admin::getActiveSubclassCode
  * @covers Sonata\AdminBundle\Admin\Admin::getClass
  */
 public function testSubClass()
 {
     $admin = new PostAdmin('sonata.post.admin.post', 'NewsBundle\\Entity\\Post', 'SonataNewsBundle:PostAdmin');
     $this->assertFalse($admin->hasSubClass('test'));
     $this->assertFalse($admin->hasActiveSubClass());
     $this->assertCount(0, $admin->getSubClasses());
     $this->assertNull($admin->getActiveSubClass());
     $this->assertNull($admin->getActiveSubclassCode());
     $this->assertEquals('NewsBundle\\Entity\\Post', $admin->getClass());
     // Just for the record, if there is no inheritance set, the getSubject is not used
     // the getSubject can also lead to some issue
     $admin->setSubject(new \stdClass());
     $this->assertEquals('stdClass', $admin->getClass());
     $admin->setSubClasses(array('extended1' => 'NewsBundle\\Entity\\PostExtended1', 'extended2' => 'NewsBundle\\Entity\\PostExtended2'));
     $this->assertFalse($admin->hasSubClass('test'));
     $this->assertTrue($admin->hasSubClass('extended1'));
     $this->assertFalse($admin->hasActiveSubClass());
     $this->assertCount(2, $admin->getSubClasses());
     $this->assertNull($admin->getActiveSubClass());
     $this->assertNull($admin->getActiveSubclassCode());
     $this->assertEquals('stdClass', $admin->getClass());
     $request = new \Symfony\Component\HttpFoundation\Request(array('subclass' => 'extended1'));
     $admin->setRequest($request);
     $this->assertFalse($admin->hasSubClass('test'));
     $this->assertTrue($admin->hasSubClass('extended1'));
     $this->assertTrue($admin->hasActiveSubClass());
     $this->assertCount(2, $admin->getSubClasses());
     $this->assertEquals('stdClass', $admin->getActiveSubClass());
     $this->assertEquals('extended1', $admin->getActiveSubclassCode());
     $this->assertEquals('stdClass', $admin->getClass());
     $request->query->set('subclass', 'inject');
     $this->assertNull($admin->getActiveSubclassCode());
 }