]> git.immae.eu Git - github/wallabag/wallabag.git/blob - tests/Wallabag/CoreBundle/Event/Listener/UserLocaleListenerTest.php
Add missing TestCase namespace
[github/wallabag/wallabag.git] / tests / Wallabag / CoreBundle / Event / Listener / UserLocaleListenerTest.php
1 <?php
2
3 namespace Tests\Wallabag\CoreBundle\Event\Listener;
4
5 use PHPUnit\Framework\TestCase;
6 use Symfony\Component\HttpFoundation\Request;
7 use Symfony\Component\HttpFoundation\Session\Session;
8 use Symfony\Component\HttpFoundation\Session\Storage\MockArraySessionStorage;
9 use Symfony\Component\Security\Core\Authentication\Token\UsernamePasswordToken;
10 use Symfony\Component\Security\Http\Event\InteractiveLoginEvent;
11 use Wallabag\CoreBundle\Entity\Config;
12 use Wallabag\CoreBundle\Event\Listener\UserLocaleListener;
13 use Wallabag\UserBundle\Entity\User;
14
15 class UserLocaleListenerTest extends TestCase
16 {
17 public function testWithLanguage()
18 {
19 $session = new Session(new MockArraySessionStorage());
20 $listener = new UserLocaleListener($session);
21
22 $user = new User();
23 $user->setEnabled(true);
24
25 $config = new Config($user);
26 $config->setLanguage('fr');
27
28 $user->setConfig($config);
29
30 $userToken = new UsernamePasswordToken($user, '', 'test');
31 $request = Request::create('/');
32 $event = new InteractiveLoginEvent($request, $userToken);
33
34 $listener->onInteractiveLogin($event);
35
36 $this->assertSame('fr', $session->get('_locale'));
37 }
38
39 public function testWithoutLanguage()
40 {
41 $session = new Session(new MockArraySessionStorage());
42 $listener = new UserLocaleListener($session);
43
44 $user = new User();
45 $user->setEnabled(true);
46
47 $config = new Config($user);
48
49 $user->setConfig($config);
50
51 $userToken = new UsernamePasswordToken($user, '', 'test');
52 $request = Request::create('/');
53 $event = new InteractiveLoginEvent($request, $userToken);
54
55 $listener->onInteractiveLogin($event);
56
57 $this->assertNull($session->get('_locale'));
58 }
59 }