3 namespace Tests\Wallabag\CoreBundle\Event\Listener
;
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
;
14 class UserLocaleListenerTest
extends \PHPUnit_Framework_TestCase
16 public function testWithLanguage()
18 $session = new Session(new MockArraySessionStorage());
19 $listener = new UserLocaleListener($session);
22 $user->setEnabled(true);
24 $config = new Config($user);
25 $config->setLanguage('fr');
27 $user->setConfig($config);
29 $userToken = new UsernamePasswordToken($user, '', 'test');
30 $request = Request
::create('/');
31 $event = new InteractiveLoginEvent($request, $userToken);
33 $listener->onInteractiveLogin($event);
35 $this->assertSame('fr', $session->get('_locale'));
38 public function testWithoutLanguage()
40 $session = new Session(new MockArraySessionStorage());
41 $listener = new UserLocaleListener($session);
44 $user->setEnabled(true);
46 $config = new Config($user);
48 $user->setConfig($config);
50 $userToken = new UsernamePasswordToken($user, '', 'test');
51 $request = Request
::create('/');
52 $event = new InteractiveLoginEvent($request, $userToken);
54 $listener->onInteractiveLogin($event);
56 $this->assertNull($session->get('_locale'));