{ "$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" } } ] } ] }