]>
Commit | Line | Data |
---|---|---|
2aac2f27 JB |
1 | <?php |
2 | ||
23634d5d | 3 | namespace Tests\Wallabag\CoreBundle\EventListener; |
2aac2f27 | 4 | |
2aac2f27 | 5 | use Symfony\Component\HttpFoundation\Request; |
2aac2f27 | 6 | use Symfony\Component\HttpFoundation\Session\Session; |
619cc453 | 7 | use Symfony\Component\HttpFoundation\Session\Storage\MockArraySessionStorage; |
2aac2f27 | 8 | use Symfony\Component\Security\Core\Authentication\Token\UsernamePasswordToken; |
619cc453 | 9 | use Symfony\Component\Security\Http\Event\InteractiveLoginEvent; |
2aac2f27 | 10 | use Wallabag\CoreBundle\Entity\Config; |
619cc453 | 11 | use Wallabag\CoreBundle\EventListener\UserLocaleListener; |
2aac2f27 JB |
12 | use Wallabag\UserBundle\Entity\User; |
13 | ||
8a493541 | 14 | class UserLocaleListenerTest extends \PHPUnit_Framework_TestCase |
2aac2f27 JB |
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 | } |