]> git.immae.eu Git - github/wallabag/wallabag.git/blob - src/Wallabag/CoreBundle/Tests/EventListener/UserLocaleListenerTest.php
Merge pull request #2160 from wallabag/bin-cs-fixer
[github/wallabag/wallabag.git] / src / Wallabag / CoreBundle / Tests / EventListener / UserLocaleListenerTest.php
1 <?php
2
3 namespace Wallabag\CoreBundle\Tests\EventListener;
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\EventListener\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 }