Files
metabuilder/packages/data_table/seed/scripts/tests/pagination.cases.json
2025-12-30 14:14:52 +00:00

160 lines
3.6 KiB
JSON

{
"calculate": [
{
"desc": "First page of many",
"total": 100,
"page": 1,
"per_page": 10,
"expected_pages": 10,
"expected_has_prev": false,
"expected_has_next": true
},
{
"desc": "Middle page",
"total": 100,
"page": 5,
"per_page": 10,
"expected_pages": 10,
"expected_has_prev": true,
"expected_has_next": true
},
{
"desc": "Last page",
"total": 100,
"page": 10,
"per_page": 10,
"expected_pages": 10,
"expected_has_prev": true,
"expected_has_next": false
},
{
"desc": "Single page",
"total": 5,
"page": 1,
"per_page": 10,
"expected_pages": 1,
"expected_has_prev": false,
"expected_has_next": false
},
{
"desc": "Partial last page",
"total": 95,
"page": 10,
"per_page": 10,
"expected_pages": 10,
"expected_has_prev": true,
"expected_has_next": false
},
{
"desc": "Large dataset first page",
"total": 1000,
"page": 1,
"per_page": 25,
"expected_pages": 40,
"expected_has_prev": false,
"expected_has_next": true
},
{
"desc": "Large dataset middle page",
"total": 1000,
"page": 20,
"per_page": 25,
"expected_pages": 40,
"expected_has_prev": true,
"expected_has_next": true
},
{
"desc": "Large dataset last page",
"total": 1000,
"page": 40,
"per_page": 25,
"expected_pages": 40,
"expected_has_prev": true,
"expected_has_next": false
},
{
"desc": "Small per_page value",
"total": 50,
"page": 3,
"per_page": 5,
"expected_pages": 10,
"expected_has_prev": true,
"expected_has_next": true
},
{
"desc": "Large per_page value",
"total": 50,
"page": 1,
"per_page": 100,
"expected_pages": 1,
"expected_has_prev": false,
"expected_has_next": false
},
{
"desc": "Odd total with even per_page",
"total": 99,
"page": 1,
"per_page": 10,
"expected_pages": 10,
"expected_has_prev": false,
"expected_has_next": true
},
{
"desc": "Even total with odd per_page",
"total": 100,
"page": 1,
"per_page": 7,
"expected_pages": 15,
"expected_has_prev": false,
"expected_has_next": true
},
{
"desc": "Second page of two",
"total": 15,
"page": 2,
"per_page": 10,
"expected_pages": 2,
"expected_has_prev": true,
"expected_has_next": false
}
],
"render": [
{
"desc": "Renders first page",
"total": 100,
"page": 1,
"per_page": 10,
"expected_pages": 10,
"expected_has_prev": false,
"expected_has_next": true
},
{
"desc": "Renders middle page",
"total": 100,
"page": 5,
"per_page": 10,
"expected_pages": 10,
"expected_has_prev": true,
"expected_has_next": true
},
{
"desc": "Renders last page",
"total": 100,
"page": 10,
"per_page": 10,
"expected_pages": 10,
"expected_has_prev": true,
"expected_has_next": false
},
{
"desc": "Renders single page",
"total": 5,
"page": 1,
"per_page": 10,
"expected_pages": 1,
"expected_has_prev": false,
"expected_has_next": false
}
]
}