diff options
Diffstat (limited to 'tests/Wallabag/CoreBundle/Event/Listener/UserLocaleListenerTest.php')
-rw-r--r-- | tests/Wallabag/CoreBundle/Event/Listener/UserLocaleListenerTest.php | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/tests/Wallabag/CoreBundle/Event/Listener/UserLocaleListenerTest.php b/tests/Wallabag/CoreBundle/Event/Listener/UserLocaleListenerTest.php new file mode 100644 index 00000000..45aecc63 --- /dev/null +++ b/tests/Wallabag/CoreBundle/Event/Listener/UserLocaleListenerTest.php | |||
@@ -0,0 +1,58 @@ | |||
1 | <?php | ||
2 | |||
3 | namespace Tests\Wallabag\CoreBundle\Event\Listener; | ||
4 | |||
5 | use Symfony\Component\HttpFoundation\Request; | ||
6 | use Symfony\Component\HttpFoundation\Session\Session; | ||
7 | use Symfony\Component\HttpFoundation\Session\Storage\MockArraySessionStorage; | ||
8 | use Symfony\Component\Security\Core\Authentication\Token\UsernamePasswordToken; | ||
9 | use Symfony\Component\Security\Http\Event\InteractiveLoginEvent; | ||
10 | use Wallabag\CoreBundle\Entity\Config; | ||
11 | use Wallabag\CoreBundle\Event\Listener\UserLocaleListener; | ||
12 | use Wallabag\UserBundle\Entity\User; | ||
13 | |||
14 | class UserLocaleListenerTest extends \PHPUnit_Framework_TestCase | ||
15 | { | ||
16 | public function testWithLanguage() | ||
17 | { | ||
18 | $session = new Session(new MockArraySessionStorage()); | ||
19 | $listener = new UserLocaleListener($session); | ||
20 | |||
21 | $user = new User(); | ||
22 | $user->setEnabled(true); | ||
23 | |||
24 | $config = new Config($user); | ||
25 | $config->setLanguage('fr'); | ||
26 | |||
27 | $user->setConfig($config); | ||
28 | |||
29 | $userToken = new UsernamePasswordToken($user, '', 'test'); | ||
30 | $request = Request::create('/'); | ||
31 | $event = new InteractiveLoginEvent($request, $userToken); | ||
32 | |||
33 | $listener->onInteractiveLogin($event); | ||
34 | |||
35 | $this->assertEquals('fr', $session->get('_locale')); | ||
36 | } | ||
37 | |||
38 | public function testWithoutLanguage() | ||
39 | { | ||
40 | $session = new Session(new MockArraySessionStorage()); | ||
41 | $listener = new UserLocaleListener($session); | ||
42 | |||
43 | $user = new User(); | ||
44 | $user->setEnabled(true); | ||
45 | |||
46 | $config = new Config($user); | ||
47 | |||
48 | $user->setConfig($config); | ||
49 | |||
50 | $userToken = new UsernamePasswordToken($user, '', 'test'); | ||
51 | $request = Request::create('/'); | ||
52 | $event = new InteractiveLoginEvent($request, $userToken); | ||
53 | |||
54 | $listener->onInteractiveLogin($event); | ||
55 | |||
56 | $this->assertEquals('', $session->get('_locale')); | ||
57 | } | ||
58 | } | ||