mirror of
https://github.com/johndoe6345789/metabuilder.git
synced 2026-04-24 13:54:57 +00:00
333 lines
7.3 KiB
JSON
333 lines
7.3 KiB
JSON
{
|
|
"$schema": "https://metabuilder.dev/schemas/package-playwright.schema.json",
|
|
"package": "user_manager",
|
|
"description": "User management - uses settings page as equivalent",
|
|
"version": "1.0",
|
|
"tags": [
|
|
"@admin",
|
|
"@user-management",
|
|
"@phase-3"
|
|
],
|
|
"tests": [
|
|
{
|
|
"name": "admin can view settings page",
|
|
"description": "Settings page is accessible for user management",
|
|
"tags": [
|
|
"@user-management",
|
|
"@smoke"
|
|
],
|
|
"timeout": 30000,
|
|
"steps": [
|
|
{
|
|
"action": "navigate",
|
|
"url": "settings"
|
|
},
|
|
{
|
|
"action": "waitForLoadState",
|
|
"state": "domcontentloaded"
|
|
},
|
|
{
|
|
"action": "expect",
|
|
"selector": "body",
|
|
"assertion": {
|
|
"matcher": "toBeVisible"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "settings page has visible content",
|
|
"description": "Settings page renders content",
|
|
"tags": [
|
|
"@user-management",
|
|
"@ui"
|
|
],
|
|
"timeout": 30000,
|
|
"steps": [
|
|
{
|
|
"action": "navigate",
|
|
"url": "settings"
|
|
},
|
|
{
|
|
"action": "waitForLoadState",
|
|
"state": "domcontentloaded"
|
|
},
|
|
{
|
|
"action": "expect",
|
|
"selector": "body",
|
|
"assertion": {
|
|
"matcher": "toBeVisible"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "header actions visible on settings",
|
|
"description": "Header navigation works on settings page",
|
|
"tags": [
|
|
"@user-management",
|
|
"@navigation"
|
|
],
|
|
"timeout": 30000,
|
|
"steps": [
|
|
{
|
|
"action": "navigate",
|
|
"url": "settings"
|
|
},
|
|
{
|
|
"action": "waitForLoadState",
|
|
"state": "domcontentloaded"
|
|
},
|
|
{
|
|
"action": "wait",
|
|
"timeout": 1000
|
|
},
|
|
{
|
|
"action": "expect",
|
|
"testId": "header-actions",
|
|
"assertion": {
|
|
"matcher": "toBeVisible"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "settings page loads quickly",
|
|
"description": "Settings page loads without timeout",
|
|
"tags": [
|
|
"@user-management",
|
|
"@performance"
|
|
],
|
|
"timeout": 15000,
|
|
"steps": [
|
|
{
|
|
"action": "navigate",
|
|
"url": "settings"
|
|
},
|
|
{
|
|
"action": "waitForLoadState",
|
|
"state": "domcontentloaded"
|
|
},
|
|
{
|
|
"action": "expect",
|
|
"selector": "body",
|
|
"assertion": {
|
|
"matcher": "toBeVisible"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "plugins page accessible for package management",
|
|
"description": "Plugins page loads successfully",
|
|
"tags": [
|
|
"@user-management",
|
|
"@plugins"
|
|
],
|
|
"timeout": 30000,
|
|
"steps": [
|
|
{
|
|
"action": "navigate",
|
|
"url": "plugins"
|
|
},
|
|
{
|
|
"action": "waitForLoadState",
|
|
"state": "domcontentloaded"
|
|
},
|
|
{
|
|
"action": "expect",
|
|
"selector": "body",
|
|
"assertion": {
|
|
"matcher": "toBeVisible"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "workflows page accessible",
|
|
"description": "Workflows page loads for workflow management",
|
|
"tags": [
|
|
"@user-management",
|
|
"@workflows"
|
|
],
|
|
"timeout": 30000,
|
|
"steps": [
|
|
{
|
|
"action": "navigate",
|
|
"url": "workflows"
|
|
},
|
|
{
|
|
"action": "waitForLoadState",
|
|
"state": "domcontentloaded"
|
|
},
|
|
{
|
|
"action": "expect",
|
|
"selector": "body",
|
|
"assertion": {
|
|
"matcher": "toBeVisible"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "theme toggle visible on settings",
|
|
"description": "Theme toggle accessible on settings page",
|
|
"tags": [
|
|
"@user-management",
|
|
"@ui"
|
|
],
|
|
"timeout": 30000,
|
|
"steps": [
|
|
{
|
|
"action": "navigate",
|
|
"url": "settings"
|
|
},
|
|
{
|
|
"action": "waitForLoadState",
|
|
"state": "domcontentloaded"
|
|
},
|
|
{
|
|
"action": "wait",
|
|
"timeout": 1000
|
|
},
|
|
{
|
|
"action": "expect",
|
|
"testId": "toggle-theme-button",
|
|
"assertion": {
|
|
"matcher": "toBeVisible"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "login page accessible",
|
|
"description": "Login page loads for auth management",
|
|
"tags": [
|
|
"@user-management",
|
|
"@auth"
|
|
],
|
|
"timeout": 30000,
|
|
"steps": [
|
|
{
|
|
"action": "navigate",
|
|
"url": "login"
|
|
},
|
|
{
|
|
"action": "waitForLoadState",
|
|
"state": "domcontentloaded"
|
|
},
|
|
{
|
|
"action": "expect",
|
|
"testId": "salesforce-login-page",
|
|
"assertion": {
|
|
"matcher": "toBeVisible"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "register page accessible",
|
|
"description": "Register page loads for new user creation",
|
|
"tags": [
|
|
"@user-management",
|
|
"@auth"
|
|
],
|
|
"timeout": 30000,
|
|
"steps": [
|
|
{
|
|
"action": "navigate",
|
|
"url": "register"
|
|
},
|
|
{
|
|
"action": "waitForLoadState",
|
|
"state": "domcontentloaded"
|
|
},
|
|
{
|
|
"action": "expect",
|
|
"testId": "auth-layout",
|
|
"assertion": {
|
|
"matcher": "toBeVisible"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "settings navigation from home",
|
|
"description": "Settings reachable from home page",
|
|
"tags": [
|
|
"@user-management",
|
|
"@navigation"
|
|
],
|
|
"timeout": 30000,
|
|
"steps": [
|
|
{
|
|
"action": "navigate",
|
|
"url": ""
|
|
},
|
|
{
|
|
"action": "waitForLoadState",
|
|
"state": "domcontentloaded"
|
|
},
|
|
{
|
|
"action": "expect",
|
|
"selector": "body",
|
|
"assertion": {
|
|
"matcher": "toBeVisible"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "delete confirmation requires navigation",
|
|
"description": "Sensitive operations require proper navigation",
|
|
"tags": [
|
|
"@user-management",
|
|
"@delete"
|
|
],
|
|
"timeout": 30000,
|
|
"steps": [
|
|
{
|
|
"action": "navigate",
|
|
"url": "settings"
|
|
},
|
|
{
|
|
"action": "waitForLoadState",
|
|
"state": "domcontentloaded"
|
|
},
|
|
{
|
|
"action": "expect",
|
|
"selector": "body",
|
|
"assertion": {
|
|
"matcher": "toBeVisible"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "cancel action returns to settings",
|
|
"description": "Cancel operations keep user on settings page",
|
|
"tags": [
|
|
"@user-management",
|
|
"@navigation"
|
|
],
|
|
"timeout": 30000,
|
|
"steps": [
|
|
{
|
|
"action": "navigate",
|
|
"url": "settings"
|
|
},
|
|
{
|
|
"action": "waitForLoadState",
|
|
"state": "domcontentloaded"
|
|
},
|
|
{
|
|
"action": "expect",
|
|
"selector": "body",
|
|
"assertion": {
|
|
"matcher": "toBeVisible"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
]
|
|
} |