]>
Commit | Line | Data |
---|---|---|
af497a64 NL |
1 | <?php |
2 | ||
23634d5d | 3 | namespace Tests\Wallabag\CoreBundle\Helper; |
af497a64 NL |
4 | |
5 | use Wallabag\CoreBundle\Helper\Redirect; | |
6 | ||
7 | class RedirectTest extends \PHPUnit_Framework_TestCase | |
8 | { | |
4086e078 | 9 | /** @var \PHPUnit_Framework_MockObject_MockObject */ |
af497a64 NL |
10 | private $routerMock; |
11 | ||
12 | /** @var Redirect */ | |
13 | private $redirect; | |
14 | ||
15 | public function setUp() | |
16 | { | |
17 | $this->routerMock = $this->getRouterMock(); | |
18 | $this->redirect = new Redirect($this->routerMock); | |
19 | } | |
20 | ||
21 | public function testRedirectToNullWithFallback() | |
22 | { | |
23 | $redirectUrl = $this->redirect->to(null, 'fallback'); | |
24 | ||
25 | $this->assertEquals('fallback', $redirectUrl); | |
26 | } | |
27 | ||
28 | public function testRedirectToNullWithoutFallback() | |
29 | { | |
30 | $redirectUrl = $this->redirect->to(null); | |
31 | ||
32 | $this->assertEquals($this->routerMock->generate('homepage'), $redirectUrl); | |
33 | } | |
34 | ||
35 | public function testRedirectToValidUrl() | |
36 | { | |
37 | $redirectUrl = $this->redirect->to('/unread/list'); | |
38 | ||
39 | $this->assertEquals('/unread/list', $redirectUrl); | |
40 | } | |
41 | ||
42 | private function getRouterMock() | |
43 | { | |
4086e078 | 44 | $mock = $this->getMockBuilder('Symfony\Component\Routing\Router') |
af497a64 NL |
45 | ->disableOriginalConstructor() |
46 | ->getMock(); | |
4086e078 NL |
47 | |
48 | $mock->expects($this->any()) | |
49 | ->method('generate') | |
50 | ->with('homepage') | |
51 | ->willReturn('homepage'); | |
52 | ||
53 | return $mock; | |
af497a64 NL |
54 | } |
55 | } |