@@ 8-62 (lines=55) @@ | ||
5 | use Mockery; |
|
6 | use PHPUnit\Framework\TestCase; |
|
7 | ||
8 | class PagerfantaPaginatorAdapterTest extends TestCase |
|
9 | { |
|
10 | public function testPaginationAdapter() |
|
11 | { |
|
12 | $items = [ |
|
13 | 'Item 1', 'Item 2', 'Item 3', 'Item 4', 'Item 5', 'Item 6', 'Item 7', 'Item 8', 'Item 9', 'Item 10', |
|
14 | 'Item 11', 'Item 12', 'Item 13', 'Item 14', 'Item 15', 'Item 16', 'Item 17', 'Item 18', 'Item 19', 'Item 20', |
|
15 | 'Item 21', 'Item 22', 'Item 23', 'Item 24', 'Item 25', 'Item 26', 'Item 27', 'Item 28', 'Item 29', 'Item 30', |
|
16 | 'Item 31', 'Item 32', 'Item 33', 'Item 34', 'Item 35', 'Item 36', 'Item 37', 'Item 38', 'Item 39', 'Item 40', |
|
17 | 'Item 41', 'Item 42', 'Item 43', 'Item 44', 'Item 45', 'Item 46', 'Item 47', 'Item 48', 'Item 49', 'Item 50', |
|
18 | ]; |
|
19 | ||
20 | $adapter = Mockery::mock('Pagerfanta\Adapter\ArrayAdapter', [$items])->makePartial(); |
|
21 | ||
22 | $total = 50; |
|
23 | $count = 5; |
|
24 | $perPage = 5; |
|
25 | $currentPage = 2; |
|
26 | $lastPage = 10; |
|
27 | ||
28 | $paginator = Mockery::mock('Pagerfanta\Pagerfanta', [$adapter])->makePartial(); |
|
29 | ||
30 | $paginator->shouldReceive('getCurrentPage')->andReturn($currentPage); |
|
31 | $paginator->shouldReceive('getLastPage')->andReturn($lastPage); |
|
32 | $paginator->shouldReceive('getMaxPerPage')->andReturn($perPage); |
|
33 | ||
34 | $adapter = new PagerfantaPaginatorAdapter($paginator, function ($page) { |
|
35 | return 'http://example.com/foo?page='.$page; |
|
36 | }); |
|
37 | ||
38 | $this->assertInstanceOf( |
|
39 | 'League\Fractal\Pagination\PaginatorInterface', |
|
40 | $adapter |
|
41 | ); |
|
42 | ||
43 | $this->assertSame($currentPage, $adapter->getCurrentPage()); |
|
44 | $this->assertSame($lastPage, $adapter->getLastPage()); |
|
45 | $this->assertSame($count, $adapter->getCount()); |
|
46 | $this->assertSame($total, $adapter->getTotal()); |
|
47 | $this->assertSame($perPage, $adapter->getPerPage()); |
|
48 | $this->assertSame( |
|
49 | 'http://example.com/foo?page=1', |
|
50 | $adapter->getUrl(1) |
|
51 | ); |
|
52 | $this->assertSame( |
|
53 | 'http://example.com/foo?page=3', |
|
54 | $adapter->getUrl(3) |
|
55 | ); |
|
56 | } |
|
57 | ||
58 | public function tearDown() |
|
59 | { |
|
60 | Mockery::close(); |
|
61 | } |
|
62 | } |
|
63 |
@@ 8-53 (lines=46) @@ | ||
5 | use Mockery; |
|
6 | use PHPUnit\Framework\TestCase; |
|
7 | ||
8 | class ZendFrameworkPaginatorAdapterTest extends TestCase |
|
9 | { |
|
10 | public function testPaginationAdapter() |
|
11 | { |
|
12 | $items = [ |
|
13 | 'Item 1', 'Item 2', 'Item 3', 'Item 4', 'Item 5', 'Item 6', 'Item 7', 'Item 8', 'Item 9', 'Item 10', |
|
14 | 'Item 11', 'Item 12', 'Item 13', 'Item 14', 'Item 15', 'Item 16', 'Item 17', 'Item 18', 'Item 19', 'Item 20', |
|
15 | 'Item 21', 'Item 22', 'Item 23', 'Item 24', 'Item 25', 'Item 26', 'Item 27', 'Item 28', 'Item 29', 'Item 30', |
|
16 | 'Item 31', 'Item 32', 'Item 33', 'Item 34', 'Item 35', 'Item 36', 'Item 37', 'Item 38', 'Item 39', 'Item 40', |
|
17 | 'Item 41', 'Item 42', 'Item 43', 'Item 44', 'Item 45', 'Item 46', 'Item 47', 'Item 48', 'Item 49', 'Item 50', |
|
18 | ]; |
|
19 | ||
20 | $adapter = Mockery::mock('Zend\Paginator\Adapter\ArrayAdapter', [$items])->makePartial(); |
|
21 | ||
22 | $total = 50; |
|
23 | $count = 10; |
|
24 | $perPage = 10; |
|
25 | $currentPage = 2; |
|
26 | $lastPage = 5; |
|
27 | ||
28 | $paginator = Mockery::mock('Zend\Paginator\Paginator', [$adapter])->makePartial(); |
|
29 | ||
30 | $paginator->shouldReceive('getCurrentPageNumber')->andReturn($currentPage); |
|
31 | $paginator->shouldReceive('count')->andReturn($lastPage); |
|
32 | $paginator->shouldReceive('getItemCountPerPage')->andReturn($perPage); |
|
33 | ||
34 | $adapter = new ZendFrameworkPaginatorAdapter($paginator, function ($page) { |
|
35 | return 'http://example.com/foo?page='.$page; |
|
36 | }); |
|
37 | ||
38 | $this->assertInstanceOf('League\Fractal\Pagination\PaginatorInterface', $adapter); |
|
39 | ||
40 | $this->assertSame($currentPage, $adapter->getCurrentPage()); |
|
41 | $this->assertSame($lastPage, $adapter->getLastPage()); |
|
42 | $this->assertSame($count, $adapter->getCount()); |
|
43 | $this->assertSame($total, $adapter->getTotal()); |
|
44 | $this->assertSame($perPage, $adapter->getPerPage()); |
|
45 | $this->assertSame('http://example.com/foo?page=1', $adapter->getUrl(1)); |
|
46 | $this->assertSame('http://example.com/foo?page=3', $adapter->getUrl(3)); |
|
47 | } |
|
48 | ||
49 | public function tearDown() |
|
50 | { |
|
51 | Mockery::close(); |
|
52 | } |
|
53 | } |
|
54 |