em = $this->getMockBuilder('Doctrine\ORM\EntityManager') ->disableOriginalConstructor() ->getMock(); $this->listener = new CreateConfigListener( $this->em, 'baggy', 20, 50, 'fr', 1 ); $this->dispatcher = new EventDispatcher(); $this->dispatcher->addSubscriber($this->listener); $this->request = Request::create('/'); $this->response = Response::create(); } public function testWithInvalidUser() { $user = new User(); $user->setEnabled(false); $event = new FilterUserResponseEvent( $user, $this->request, $this->response ); $this->em->expects($this->never())->method('persist'); $this->em->expects($this->never())->method('flush'); $this->dispatcher->dispatch( FOSUserEvents::REGISTRATION_COMPLETED, $event ); } public function testWithValidUser() { $user = new User(); $user->setEnabled(true); $event = new FilterUserResponseEvent( $user, $this->request, $this->response ); $config = new Config($user); $config->setTheme('baggy'); $config->setItemsPerPage(20); $config->setRssLimit(50); $config->setLanguage('fr'); $config->setReadingSpeed(1); $this->em->expects($this->once()) ->method('persist') ->will($this->returnValue($config)); $this->em->expects($this->once()) ->method('flush'); $this->dispatcher->dispatch( FOSUserEvents::REGISTRATION_COMPLETED, $event ); } }