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

603 lines
13 KiB
JSON

{
"$schema": "https://metabuilder.dev/schemas/package-playwright.schema.json",
"package": "system_critical_flows",
"version": "1.0.0",
"description": "System-wide critical user flows - proves all essential functionality works",
"tests": [
{
"name": "Flow 1.1: Home page loads with content",
"tags": [
"@smoke",
"@critical",
"@public"
],
"description": "Validates home page loads with heading and content",
"steps": [
{
"action": "navigate",
"url": ""
},
{
"action": "waitForLoadState",
"state": "domcontentloaded"
},
{
"action": "expect",
"selector": "body",
"assertion": {
"matcher": "toBeVisible"
}
}
]
},
{
"name": "Flow 1.2: Home page has navigation",
"tags": [
"@smoke",
"@public"
],
"description": "Validates navigation elements exist on home page",
"steps": [
{
"action": "navigate",
"url": ""
},
{
"action": "waitForLoadState",
"state": "domcontentloaded"
},
{
"action": "wait",
"timeout": 1000
},
{
"action": "expect",
"testId": "header-actions",
"assertion": {
"matcher": "toBeVisible"
}
}
]
},
{
"name": "Flow 1.3: Navigation to login page",
"tags": [
"@smoke",
"@critical",
"@public"
],
"description": "Validates navigating directly to login page",
"steps": [
{
"action": "navigate",
"url": "login"
},
{
"action": "waitForLoadState",
"state": "domcontentloaded"
},
{
"action": "expect",
"testId": "salesforce-login-page",
"assertion": {
"matcher": "toBeVisible"
}
}
]
},
{
"name": "Flow 2.1: Login page renders with form",
"tags": [
"@smoke",
"@auth"
],
"description": "Validates login page displays email, password, and submit button",
"steps": [
{
"action": "navigate",
"url": "login"
},
{
"action": "waitForLoadState",
"state": "domcontentloaded"
},
{
"action": "wait",
"timeout": 500
},
{
"action": "click",
"testId": "switch-to-material"
},
{
"action": "wait",
"timeout": 500
},
{
"action": "expect",
"testId": "email-input",
"assertion": {
"matcher": "toBeVisible"
}
},
{
"action": "expect",
"testId": "password-input",
"assertion": {
"matcher": "toBeVisible"
}
},
{
"action": "expect",
"testId": "login-button",
"assertion": {
"matcher": "toBeVisible"
}
}
]
},
{
"name": "Flow 2.2: Login validation - form elements visible",
"tags": [
"@auth",
"@validation"
],
"description": "Validates form elements are interactive",
"steps": [
{
"action": "navigate",
"url": "login"
},
{
"action": "waitForLoadState",
"state": "domcontentloaded"
},
{
"action": "expect",
"testId": "salesforce-password-input",
"assertion": {
"matcher": "toBeVisible"
}
}
]
},
{
"name": "Flow 2.3: Login form can be filled",
"tags": [
"@critical",
"@auth"
],
"description": "Validates login form inputs accept values",
"timeout": 10000,
"steps": [
{
"action": "navigate",
"url": "login"
},
{
"action": "waitForLoadState",
"state": "domcontentloaded"
},
{
"action": "wait",
"timeout": 500
},
{
"action": "click",
"testId": "switch-to-material"
},
{
"action": "wait",
"timeout": 500
},
{
"action": "fill",
"testId": "email-input",
"value": "testuser@metabuilder.dev"
},
{
"action": "fill",
"testId": "password-input",
"value": "TestPassword123!"
},
{
"action": "expect",
"testId": "login-button",
"assertion": {
"matcher": "toBeVisible"
}
}
]
},
{
"name": "Flow 2.4: Register page is accessible",
"tags": [
"@critical",
"@auth"
],
"description": "Validates register page is accessible",
"timeout": 10000,
"steps": [
{
"action": "navigate",
"url": "register"
},
{
"action": "waitForLoadState",
"state": "domcontentloaded"
},
{
"action": "expect",
"testId": "auth-layout",
"assertion": {
"matcher": "toBeVisible"
}
}
]
},
{
"name": "Flow 3.1: Home page has Workspaces content",
"tags": [
"@critical",
"@user"
],
"description": "Validates home page shows main content",
"timeout": 10000,
"steps": [
{
"action": "navigate",
"url": ""
},
{
"action": "waitForLoadState",
"state": "domcontentloaded"
},
{
"action": "expect",
"selector": "body",
"assertion": {
"matcher": "toBeVisible"
}
}
]
},
{
"name": "Flow 3.2: Home page loads successfully",
"tags": [
"@critical",
"@packages"
],
"description": "Validates home page loads without errors",
"steps": [
{
"action": "navigate",
"url": ""
},
{
"action": "waitForLoadState",
"state": "domcontentloaded"
},
{
"action": "expect",
"selector": "body",
"assertion": {
"matcher": "toBeVisible"
}
}
]
},
{
"name": "Flow 3.3: Home page navigation works",
"tags": [
"@navigation",
"@user"
],
"description": "Validates navigation elements work on home page",
"steps": [
{
"action": "navigate",
"url": ""
},
{
"action": "waitForLoadState",
"state": "domcontentloaded"
},
{
"action": "wait",
"timeout": 1000
},
{
"action": "expect",
"testId": "header-actions",
"assertion": {
"matcher": "toBeVisible"
}
}
]
},
{
"name": "Flow 4.1: Settings page is accessible",
"tags": [
"@admin",
"@critical"
],
"description": "Validates settings page is accessible",
"timeout": 10000,
"steps": [
{
"action": "navigate",
"url": "settings"
},
{
"action": "waitForLoadState",
"state": "domcontentloaded"
},
{
"action": "expect",
"selector": "body",
"assertion": {
"matcher": "toBeVisible"
}
}
]
},
{
"name": "Flow 4.2: Settings page has content",
"tags": [
"@admin",
"@list"
],
"description": "Validates settings page displays content",
"steps": [
{
"action": "navigate",
"url": "settings"
},
{
"action": "waitForLoadState",
"state": "domcontentloaded"
},
{
"action": "expect",
"selector": "body",
"assertion": {
"matcher": "toBeVisible"
}
}
]
},
{
"name": "Flow 4.3: Help page is accessible",
"tags": [
"@admin",
"@roles"
],
"description": "Validates help page is accessible",
"steps": [
{
"action": "navigate",
"url": "help"
},
{
"action": "waitForLoadState",
"state": "domcontentloaded"
},
{
"action": "expect",
"selector": "body",
"assertion": {
"matcher": "toBeVisible"
}
}
]
},
{
"name": "Flow 5.1: Plugins page is accessible",
"tags": [
"@admin",
"@packages"
],
"description": "Validates plugins page is accessible",
"steps": [
{
"action": "navigate",
"url": "plugins"
},
{
"action": "waitForLoadState",
"state": "domcontentloaded"
},
{
"action": "expect",
"selector": "body",
"assertion": {
"matcher": "toBeVisible"
}
}
]
},
{
"name": "Flow 5.2: Plugins are displayed",
"tags": [
"@admin",
"@packages"
],
"description": "Validates plugins page renders content",
"steps": [
{
"action": "navigate",
"url": "plugins"
},
{
"action": "waitForLoadState",
"state": "domcontentloaded"
},
{
"action": "expect",
"selector": "body",
"assertion": {
"matcher": "toBeVisible"
}
}
]
},
{
"name": "Flow 5.3: Workflows page is accessible",
"tags": [
"@admin",
"@packages"
],
"description": "Validates workflows page loads",
"steps": [
{
"action": "navigate",
"url": "workflows"
},
{
"action": "waitForLoadState",
"state": "domcontentloaded"
},
{
"action": "expect",
"selector": "body",
"assertion": {
"matcher": "toBeVisible"
}
}
]
},
{
"name": "Flow 6.1: Header navigation works",
"tags": [
"@smoke",
"@navigation"
],
"description": "Validates header is visible on home page",
"steps": [
{
"action": "navigate",
"url": ""
},
{
"action": "waitForLoadState",
"state": "domcontentloaded"
},
{
"action": "wait",
"timeout": 1000
},
{
"action": "expect",
"testId": "header-actions",
"assertion": {
"matcher": "toBeVisible"
}
}
]
},
{
"name": "Flow 6.2: Theme toggle works",
"tags": [
"@smoke",
"@navigation"
],
"description": "Validates theme toggle is visible",
"steps": [
{
"action": "navigate",
"url": ""
},
{
"action": "waitForLoadState",
"state": "domcontentloaded"
},
{
"action": "wait",
"timeout": 1000
},
{
"action": "expect",
"testId": "toggle-theme-button",
"assertion": {
"matcher": "toBeVisible"
}
}
]
},
{
"name": "Flow 6.3: Mobile navigation accessible",
"tags": [
"@responsive",
"@mobile"
],
"description": "Validates page is accessible on any viewport",
"steps": [
{
"action": "navigate",
"url": ""
},
{
"action": "waitForLoadState",
"state": "domcontentloaded"
},
{
"action": "expect",
"selector": "body",
"assertion": {
"matcher": "toBeVisible"
}
}
]
},
{
"name": "Flow 7.1: 404 page displays for invalid routes",
"tags": [
"@error-handling"
],
"description": "Validates 404 page displays for invalid routes",
"steps": [
{
"action": "navigate",
"url": "invalid-route-xyz-12345"
},
{
"action": "waitForLoadState",
"state": "domcontentloaded"
},
{
"action": "expect",
"testId": "not-found-state",
"assertion": {
"matcher": "toBeVisible"
}
}
]
},
{
"name": "Flow 7.2: Page loads in reasonable time",
"tags": [
"@performance",
"@critical"
],
"description": "Validates home page loads within acceptable time",
"timeout": 6000,
"steps": [
{
"action": "navigate",
"url": ""
},
{
"action": "waitForLoadState",
"state": "domcontentloaded"
},
{
"action": "expect",
"selector": "body",
"assertion": {
"matcher": "toBeVisible"
}
}
]
}
]
}