namespace Tests\Wallabag\CoreBundle\Helper;
+use PHPUnit\Framework\TestCase;
+use Symfony\Component\Security\Core\Authentication\Token\Storage\TokenStorage;
+use Symfony\Component\Security\Core\Authentication\Token\UsernamePasswordToken;
use Wallabag\CoreBundle\Entity\Config;
-use Wallabag\UserBundle\Entity\User;
use Wallabag\CoreBundle\Helper\Redirect;
-use Symfony\Component\Security\Core\Authentication\Token\UsernamePasswordToken;
-use Symfony\Component\Security\Core\Authentication\Token\Storage\TokenStorage;
+use Wallabag\UserBundle\Entity\User;
-class RedirectTest extends \PHPUnit_Framework_TestCase
+class RedirectTest extends TestCase
{
/** @var \PHPUnit_Framework_MockObject_MockObject */
private $routerMock;
/** @var Redirect */
private $redirect;
+ /** @var UsernamePasswordToken */
+ private $token;
+
public function setUp()
{
$this->routerMock = $this->getMockBuilder('Symfony\Component\Routing\Router')
{
$redirectUrl = $this->redirect->to(null, 'fallback');
- $this->assertEquals('fallback', $redirectUrl);
+ $this->assertSame('fallback', $redirectUrl);
}
public function testRedirectToNullWithoutFallback()
{
$redirectUrl = $this->redirect->to(null);
- $this->assertEquals($this->routerMock->generate('homepage'), $redirectUrl);
+ $this->assertSame($this->routerMock->generate('homepage'), $redirectUrl);
}
public function testRedirectToValidUrl()
{
$redirectUrl = $this->redirect->to('/unread/list');
- $this->assertEquals('/unread/list', $redirectUrl);
+ $this->assertSame('/unread/list', $redirectUrl);
}
public function testWithNotLoggedUser()
$redirect = new Redirect($this->routerMock, new TokenStorage());
$redirectUrl = $redirect->to('/unread/list');
- $this->assertEquals('/unread/list', $redirectUrl);
+ $this->assertSame('/unread/list', $redirectUrl);
}
public function testUserForRedirectToHomepage()
$redirectUrl = $this->redirect->to('/unread/list');
- $this->assertEquals($this->routerMock->generate('homepage'), $redirectUrl);
+ $this->assertSame($this->routerMock->generate('homepage'), $redirectUrl);
+ }
+
+ public function testUserForRedirectWithIgnoreActionMarkAsRead()
+ {
+ $this->token->getUser()->getConfig()->setActionMarkAsRead(Config::REDIRECT_TO_HOMEPAGE);
+
+ $redirectUrl = $this->redirect->to('/unread/list', '', true);
+
+ $this->assertSame('/unread/list', $redirectUrl);
+ }
+
+ public function testUserForRedirectNullWithFallbackWithIgnoreActionMarkAsRead()
+ {
+ $this->token->getUser()->getConfig()->setActionMarkAsRead(Config::REDIRECT_TO_HOMEPAGE);
+
+ $redirectUrl = $this->redirect->to(null, 'fallback', true);
+
+ $this->assertSame('fallback', $redirectUrl);
}
}