3 namespace Tests\Wallabag\CoreBundle\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\CoreBundle\EventListener\RegistrationConfirmedListener
;
12 use Wallabag\UserBundle\Entity\User
;
14 class RegistrationConfirmedListenerTest
extends \PHPUnit_Framework_TestCase
22 protected function setUp()
24 $this->em
= $this->getMockBuilder('Doctrine\ORM\EntityManager')
25 ->disableOriginalConstructor()
28 $this->listener
= new RegistrationConfirmedListener(
36 $this->dispatcher
= new EventDispatcher();
37 $this->dispatcher
->addSubscriber($this->listener
);
39 $this->request
= Request
::create('/');
40 $this->response
= Response
::create();
43 public function testWithInvalidUser()
46 $user->setEnabled(false);
48 $event = new FilterUserResponseEvent(
54 $this->em
->expects($this->never())->method('persist');
55 $this->em
->expects($this->never())->method('flush');
57 $this->dispatcher
->dispatch(
58 FOSUserEvents
::REGISTRATION_CONFIRMED
,
63 public function testWithValidUser()
66 $user->setEnabled(true);
68 $event = new FilterUserResponseEvent(
74 $config = new Config($user);
75 $config->setTheme('baggy');
76 $config->setItemsPerPage(20);
77 $config->setRssLimit(50);
78 $config->setLanguage('fr');
80 $this->em
->expects($this->once())
82 ->will($this->returnValue($config));
83 $this->em
->expects($this->once())
86 $this->dispatcher
->dispatch(
87 FOSUserEvents
::REGISTRATION_CONFIRMED
,