3 namespace Tests\Wallabag\UserBundle\EventListener
;
5 use FOS\UserBundle\Event\FilterUserResponseEvent
;
6 use FOS\UserBundle\FOSUserEvents
;
7 use Symfony\Component\EventDispatcher\EventDispatcher
;
8 use Symfony\Component\HttpFoundation\Request
;
9 use Symfony\Component\HttpFoundation\Response
;
10 use Wallabag\CoreBundle\Entity\Config
;
11 use Wallabag\UserBundle\EventListener\CreateConfigListener
;
12 use Wallabag\UserBundle\Entity\User
;
14 class CreateConfigListenerTest
extends \PHPUnit_Framework_TestCase
22 protected function setUp()
24 $this->em
= $this->getMockBuilder('Doctrine\ORM\EntityManager')
25 ->disableOriginalConstructor()
28 $this->listener
= new CreateConfigListener(
37 $this->dispatcher
= new EventDispatcher();
38 $this->dispatcher
->addSubscriber($this->listener
);
40 $this->request
= Request
::create('/');
41 $this->response
= Response
::create();
44 public function testWithInvalidUser()
47 $user->setEnabled(false);
49 $event = new FilterUserResponseEvent(
55 $this->em
->expects($this->never())->method('persist');
56 $this->em
->expects($this->never())->method('flush');
58 $this->dispatcher
->dispatch(
59 FOSUserEvents
::REGISTRATION_COMPLETED
,
64 public function testWithValidUser()
67 $user->setEnabled(true);
69 $event = new FilterUserResponseEvent(
75 $config = new Config($user);
76 $config->setTheme('baggy');
77 $config->setItemsPerPage(20);
78 $config->setRssLimit(50);
79 $config->setLanguage('fr');
80 $config->setReadingSpeed(1);
82 $this->em
->expects($this->once())
84 ->will($this->returnValue($config));
85 $this->em
->expects($this->once())
88 $this->dispatcher
->dispatch(
89 FOSUserEvents
::REGISTRATION_COMPLETED
,