mirror of
https://github.com/johndoe6345789/metabuilder.git
synced 2026-04-25 22:34:56 +00:00
304 lines
6.1 KiB
JSON
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"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
]
|
|
} |