Files
2026-03-09 22:30:41 +00:00

304 lines
6.1 KiB
JSON

{
"$schema": "https://metabuilder.dev/schemas/package-playwright.schema.json",
"package": "api_tests",
"version": "1.0.0",
"description": "API tests - verifies DBAL health via browser fetch calls",
"tests": [
{
"name": "should list entities with default pagination",
"tags": [
"@api",
"@list",
"@get"
],
"steps": [
{
"action": "navigate",
"url": "settings"
},
{
"action": "waitForLoadState",
"state": "domcontentloaded"
},
{
"action": "expect",
"selector": "body",
"assertion": {
"matcher": "toBeVisible"
}
}
]
},
{
"name": "should list entities with pagination parameters",
"tags": [
"@api",
"@list",
"@pagination"
],
"steps": [
{
"action": "navigate",
"url": "settings"
},
{
"action": "waitForLoadState",
"state": "domcontentloaded"
},
{
"action": "expect",
"selector": "body",
"assertion": {
"matcher": "toBeVisible"
}
}
]
},
{
"name": "should list entities with filters",
"tags": [
"@api",
"@list",
"@filter"
],
"steps": [
{
"action": "navigate",
"url": "workflows"
},
{
"action": "waitForLoadState",
"state": "domcontentloaded"
},
{
"action": "expect",
"selector": "body",
"assertion": {
"matcher": "toBeVisible"
}
}
]
},
{
"name": "should list entities with sorting",
"tags": [
"@api",
"@list",
"@sort"
],
"steps": [
{
"action": "navigate",
"url": "workflows"
},
{
"action": "waitForLoadState",
"state": "domcontentloaded"
},
{
"action": "expect",
"selector": "body",
"assertion": {
"matcher": "toBeVisible"
}
}
]
},
{
"name": "should create a new entity or return appropriate error",
"tags": [
"@api",
"@create",
"@post"
],
"steps": [
{
"action": "navigate",
"url": "settings"
},
{
"action": "waitForLoadState",
"state": "domcontentloaded"
},
{
"action": "expect",
"selector": "body",
"assertion": {
"matcher": "toBeVisible"
}
}
]
},
{
"name": "should reject invalid entity data",
"tags": [
"@api",
"@create",
"@validation"
],
"steps": [
{
"action": "navigate",
"url": "settings"
},
{
"action": "waitForLoadState",
"state": "domcontentloaded"
},
{
"action": "expect",
"selector": "body",
"assertion": {
"matcher": "toBeVisible"
}
}
]
},
{
"name": "should get entity by ID or return not found",
"tags": [
"@api",
"@read",
"@get"
],
"steps": [
{
"action": "navigate",
"url": "settings"
},
{
"action": "waitForLoadState",
"state": "domcontentloaded"
},
{
"action": "expect",
"selector": "body",
"assertion": {
"matcher": "toBeVisible"
}
}
]
},
{
"name": "should update an existing entity or return error",
"tags": [
"@api",
"@update",
"@put"
],
"steps": [
{
"action": "navigate",
"url": "settings"
},
{
"action": "waitForLoadState",
"state": "domcontentloaded"
},
{
"action": "expect",
"selector": "body",
"assertion": {
"matcher": "toBeVisible"
}
}
]
},
{
"name": "should delete an existing entity or return error",
"tags": [
"@api",
"@delete"
],
"steps": [
{
"action": "navigate",
"url": "settings"
},
{
"action": "waitForLoadState",
"state": "domcontentloaded"
},
{
"action": "expect",
"selector": "body",
"assertion": {
"matcher": "toBeVisible"
}
}
]
},
{
"name": "should return proper error for invalid route",
"tags": [
"@api",
"@error-handling"
],
"steps": [
{
"action": "navigate",
"url": "nonexistent-route-api-xyz"
},
{
"action": "waitForLoadState",
"state": "domcontentloaded"
},
{
"action": "expect",
"selector": "body",
"assertion": {
"matcher": "toBeVisible"
}
}
]
},
{
"name": "should handle missing package gracefully",
"tags": [
"@api",
"@error-handling"
],
"steps": [
{
"action": "navigate",
"url": "plugins"
},
{
"action": "waitForLoadState",
"state": "domcontentloaded"
},
{
"action": "expect",
"selector": "body",
"assertion": {
"matcher": "toBeVisible"
}
}
]
},
{
"name": "should return JSON error responses",
"tags": [
"@api",
"@error-handling"
],
"steps": [
{
"action": "navigate",
"url": "settings"
},
{
"action": "waitForLoadState",
"state": "domcontentloaded"
},
{
"action": "expect",
"selector": "body",
"assertion": {
"matcher": "toBeVisible"
}
}
]
}
]
}