Files
metabuilder/packages/data_table/playwright/tests.json
copilot-swe-agent[bot] d63df61958 refactor: scope tests to correct functional packages
- Moved auth tests: packages/auth → packages/ui_auth
- Moved CRUD tests: packages/crud → packages/user_manager
- Moved package tests: packages/package_tests → packages/package_manager
- Moved pagination tests: packages/pagination → packages/data_table
- Merged navigation tests into packages/ui_home (navigation belongs to home page)
- Removed standalone test packages (crud, auth, package_tests, navigation, pagination)
- Tests now properly belong to the functional packages they test
- Updated TEST_STORY_CONVERSION.md with final package mapping
- api_tests and smoke_tests remain as cross-cutting integration test packages

Co-authored-by: johndoe6345789 <224850594+johndoe6345789@users.noreply.github.com>
2026-01-16 19:28:20 +00:00

333 lines
9.4 KiB
JSON

{
"$schema": "https://metabuilder.dev/schemas/package-playwright.schema.json",
"package": "pagination",
"version": "1.0.0",
"description": "Pagination components E2E tests - converted from e2e/pagination.spec.ts",
"tests": [
{
"name": "should render pagination controls with page numbers",
"tags": ["@pagination", "@ui"],
"steps": [
{
"action": "navigate",
"url": "/test-pagination"
},
{
"description": "Check that pagination controls are visible",
"action": "expect",
"selector": "[aria-label=\"pagination navigation\"]",
"assertion": {
"matcher": "toBeVisible"
}
},
{
"description": "Check for first page button",
"action": "expect",
"selector": "button[aria-label=\"Go to first page\"]",
"assertion": {
"matcher": "toBeVisible"
}
},
{
"description": "Check for previous page button",
"action": "expect",
"selector": "button[aria-label=\"Go to previous page\"]",
"assertion": {
"matcher": "toBeVisible"
}
},
{
"description": "Check for next page button",
"action": "expect",
"selector": "button[aria-label=\"Go to next page\"]",
"assertion": {
"matcher": "toBeVisible"
}
},
{
"description": "Check for last page button",
"action": "expect",
"selector": "button[aria-label=\"Go to last page\"]",
"assertion": {
"matcher": "toBeVisible"
}
}
]
},
{
"name": "should navigate between pages when clicking page numbers",
"tags": ["@pagination", "@interaction"],
"steps": [
{
"action": "navigate",
"url": "/test-pagination"
},
{
"description": "Click on page 2",
"action": "click",
"selector": "button[aria-label=\"Go to page 2\"]"
},
{
"description": "Verify page 2 is now selected",
"action": "expect",
"selector": "button[aria-label=\"Go to page 2\"]",
"assertion": {
"matcher": "toHaveAttribute",
"expected": ["aria-current", "page"]
}
}
]
},
{
"name": "should disable previous/first buttons on first page",
"tags": ["@pagination", "@state"],
"steps": [
{
"action": "navigate",
"url": "/test-pagination"
},
{
"description": "First button should be disabled",
"action": "expect",
"selector": "button[aria-label=\"Go to first page\"]",
"assertion": {
"matcher": "toBeDisabled"
}
},
{
"description": "Previous button should be disabled",
"action": "expect",
"selector": "button[aria-label=\"Go to previous page\"]",
"assertion": {
"matcher": "toBeDisabled"
}
},
{
"description": "Next button should not be disabled",
"action": "expect",
"selector": "button[aria-label=\"Go to next page\"]",
"assertion": {
"matcher": "toBeDisabled",
"not": true
}
},
{
"description": "Last button should not be disabled",
"action": "expect",
"selector": "button[aria-label=\"Go to last page\"]",
"assertion": {
"matcher": "toBeDisabled",
"not": true
}
}
]
},
{
"name": "should disable next/last buttons on last page",
"tags": ["@pagination", "@state"],
"steps": [
{
"action": "navigate",
"url": "/test-pagination"
},
{
"description": "Navigate to last page",
"action": "click",
"selector": "button[aria-label=\"Go to last page\"]"
},
{
"description": "Next button should be disabled",
"action": "expect",
"selector": "button[aria-label=\"Go to next page\"]",
"assertion": {
"matcher": "toBeDisabled"
}
},
{
"description": "Last button should be disabled",
"action": "expect",
"selector": "button[aria-label=\"Go to last page\"]",
"assertion": {
"matcher": "toBeDisabled"
}
},
{
"description": "Previous button should not be disabled",
"action": "expect",
"selector": "button[aria-label=\"Go to previous page\"]",
"assertion": {
"matcher": "toBeDisabled",
"not": true
}
},
{
"description": "First button should not be disabled",
"action": "expect",
"selector": "button[aria-label=\"Go to first page\"]",
"assertion": {
"matcher": "toBeDisabled",
"not": true
}
}
]
},
{
"name": "should display items per page selector",
"tags": ["@pagination", "@selector"],
"steps": [
{
"action": "navigate",
"url": "/test-pagination"
},
{
"description": "Check that selector is visible",
"action": "expect",
"selector": "#items-per-page-select",
"assertion": {
"matcher": "toBeVisible"
}
}
]
},
{
"name": "should change page size when selecting different value",
"tags": ["@pagination", "@selector"],
"steps": [
{
"action": "navigate",
"url": "/test-pagination"
},
{
"description": "Select 50 items per page",
"action": "select",
"selector": "#items-per-page-select",
"value": "50"
},
{
"description": "Verify the selection changed",
"action": "expect",
"selector": "#items-per-page-select",
"assertion": {
"matcher": "toHaveValue",
"expected": "50"
}
}
]
},
{
"name": "should display current page information",
"tags": ["@pagination", "@info"],
"steps": [
{
"action": "navigate",
"url": "/test-pagination"
},
{
"description": "Check that info text is displayed",
"action": "expect",
"text": "Showing",
"assertion": {
"matcher": "toBeVisible"
}
}
]
},
{
"name": "should display no items found when no data",
"tags": ["@pagination", "@empty-state"],
"steps": [
{
"action": "navigate",
"url": "/test-pagination-empty"
},
{
"description": "Check for no items found message",
"action": "expect",
"text": "No items found",
"assertion": {
"matcher": "toBeVisible"
}
}
]
},
{
"name": "should handle complete pagination workflow",
"tags": ["@pagination", "@flow"],
"timeout": 15000,
"steps": [
{
"action": "navigate",
"url": "/test-pagination"
},
{
"description": "Verify initial state - page 1",
"action": "expect",
"selector": "button[aria-label=\"Go to page 1\"]",
"assertion": {
"matcher": "toHaveAttribute",
"expected": ["aria-current", "page"]
}
},
{
"description": "Change items per page",
"action": "select",
"selector": "#items-per-page-select",
"value": "50"
},
{
"description": "Navigate to page 2",
"action": "click",
"selector": "button[aria-label=\"Go to page 2\"]"
},
{
"description": "Verify page 2 is selected",
"action": "expect",
"selector": "button[aria-label=\"Go to page 2\"]",
"assertion": {
"matcher": "toHaveAttribute",
"expected": ["aria-current", "page"]
}
},
{
"description": "Use next button",
"action": "click",
"selector": "button[aria-label=\"Go to next page\"]"
},
{
"description": "Verify page 3 is selected",
"action": "expect",
"selector": "button[aria-label=\"Go to page 3\"]",
"assertion": {
"matcher": "toHaveAttribute",
"expected": ["aria-current", "page"]
}
},
{
"description": "Go to last page",
"action": "click",
"selector": "button[aria-label=\"Go to last page\"]"
},
{
"description": "Use previous button",
"action": "click",
"selector": "button[aria-label=\"Go to previous page\"]"
},
{
"description": "Go back to first page",
"action": "click",
"selector": "button[aria-label=\"Go to first page\"]"
},
{
"description": "Verify back at page 1",
"action": "expect",
"selector": "button[aria-label=\"Go to page 1\"]",
"assertion": {
"matcher": "toHaveAttribute",
"expected": ["aria-current", "page"]
}
}
]
}
]
}