]> git.immae.eu Git - github/wallabag/wallabag.git/blame - tests/Wallabag/UserBundle/EventListener/CreateConfigListenerTest.php
Use namespaced PHPUnit classes
[github/wallabag/wallabag.git] / tests / Wallabag / UserBundle / EventListener / CreateConfigListenerTest.php
CommitLineData
772d8c4b
JB
1<?php
2
ca17abce 3namespace Tests\Wallabag\UserBundle\EventListener;
772d8c4b 4
619cc453
JB
5use FOS\UserBundle\Event\FilterUserResponseEvent;
6use FOS\UserBundle\FOSUserEvents;
bd91bd5c 7use PHPUnit\Framework\TestCase;
772d8c4b
JB
8use Symfony\Component\EventDispatcher\EventDispatcher;
9use Symfony\Component\HttpFoundation\Request;
10use Symfony\Component\HttpFoundation\Response;
772d8c4b 11use Wallabag\CoreBundle\Entity\Config;
0a878469 12use Wallabag\UserBundle\Entity\User;
f808b016 13use Wallabag\UserBundle\EventListener\CreateConfigListener;
772d8c4b 14
bd91bd5c 15class CreateConfigListenerTest extends TestCase
772d8c4b
JB
16{
17 private $em;
18 private $listener;
19 private $dispatcher;
20 private $request;
21 private $response;
22
23 protected function setUp()
24 {
25 $this->em = $this->getMockBuilder('Doctrine\ORM\EntityManager')
26 ->disableOriginalConstructor()
27 ->getMock();
28
ca17abce 29 $this->listener = new CreateConfigListener(
772d8c4b
JB
30 $this->em,
31 'baggy',
32 20,
33 50,
ca17abce 34 'fr',
24879db1
JB
35 1,
36 1,
ca17abce 37 1
772d8c4b
JB
38 );
39
40 $this->dispatcher = new EventDispatcher();
41 $this->dispatcher->addSubscriber($this->listener);
42
43 $this->request = Request::create('/');
44 $this->response = Response::create();
45 }
46
772d8c4b
JB
47 public function testWithValidUser()
48 {
49 $user = new User();
50 $user->setEnabled(true);
51
52 $event = new FilterUserResponseEvent(
53 $user,
54 $this->request,
55 $this->response
56 );
57
58 $config = new Config($user);
59 $config->setTheme('baggy');
60 $config->setItemsPerPage(20);
61 $config->setRssLimit(50);
62 $config->setLanguage('fr');
ca17abce 63 $config->setReadingSpeed(1);
772d8c4b
JB
64
65 $this->em->expects($this->once())
66 ->method('persist')
67 ->will($this->returnValue($config));
68 $this->em->expects($this->once())
69 ->method('flush');
70
71 $this->dispatcher->dispatch(
ca17abce 72 FOSUserEvents::REGISTRATION_COMPLETED,
772d8c4b
JB
73 $event
74 );
75 }
76}