# QA Manager Data
# QA Manager

QA_DATA = {'emoji': '🧪', 'title': 'QA Manager', 'focus': ['Testing', 'Edge Cases', 'Verification', 'Coverage', 'Bugs', 'Quality'], 'keywords': ['test', 'verify', 'qa', 'bug', 'edge', 'coverage', 'assert', 'expect', 'unit', 'e2e', 'integration', 'error', 'fail'], 'questions': ['Are test cases written?', 'Did you consider edge cases?', 'How are failure scenarios handled?', 'Is test coverage sufficient?', 'Is regression testing needed?'], 'opinions': {'auth': "Auth testing requires these scenarios:\n• Success case: Login with correct credentials\n• Failure cases: Wrong password, non-existent email\n• Token expiry: 401 response when calling API with expired token\n• No permission: 403 response when accessing another user's resource\n• Session concurrency: Multi-device login handling\n• Files: __tests__/auth.test.ts, cypress/e2e/auth.cy.ts", 'api': "API tests must cover all HTTP status codes:\n• 200 OK: Normal response, verify data format\n• 400 Bad Request: Missing required fields, type errors\n• 401 Unauthorized: No token/expired token\n• 403 Forbidden: No permission\n• 404 Not Found: Non-existent resource\n• 500 Server Error: Verify exception handling\n• Tools: Jest + Supertest, Playwright API Testing", 'payment': "Payment tests must be thoroughly verified in Stripe test mode:\n• Success: Complete payment with test card (4242...)\n• Failure: Insufficient funds card (4000000000009995)\n• Cancel: Cancellation flow after payment\n• Refund: Full/partial refund\n• Duplicate payment: Verify idempotency key behavior\n• Webhook: Handle all events (checkout.completed, payment_intent.failed, etc.)", 'ui': "UI tests should cover core user flows with E2E:\n• Testing tools: Playwright (recommended) or Cypress\n• Required flows: Signup → Login → Core feature → Logout\n• Responsive: 375px(mobile), 768px(tablet), 1280px(desktop)\n• Accessibility: Auto-check with axe-core\n• Snapshots: Visual regression testing with Percy or Chromatic", 'error': "@ERROR Regression test cases must be added after bug fixes:\n• Bug reproduction test: Fail before fix, pass after fix\n• Related cases: Prevent same bug in similar situations\n• Filename: __tests__/regression/[bugID].test.ts\n• Commit message: fix: [bug description] (closes #issue)", 'feature': "New feature test strategy:\n• Unit Test (first): Individual functions/components, Jest/Vitest\n• Integration Test (next): API + DB integration, real data flow\n• E2E Test (last): Full user flow, Playwright\n• Coverage target: 80%+ (100% for critical logic)\n• File structure: __tests__/unit/, __tests__/integration/, e2e/", 'default': "Test checklist:\n• Check coverage: npm run test:coverage\n• Edge cases: null, undefined, empty array, boundary values\n• Error scenarios: Network failure, timeout\n• Regression: Verify all existing tests pass"}, 'checklist': ['Write Unit Tests', 'Write Integration Tests', 'Edge case tests', 'Error scenario tests'], 'action_templates': [{'trigger': 'test|verify|qa', 'actions': [{'id': 'qa-1', 'action': 'Write test scenarios', 'depends': [], 'verify': 'Test scenarios documented', 'phase': 'Design'}, {'id': 'qa-2', 'action': 'Write Unit Tests', 'depends': ['qa-1'], 'verify': 'Unit Tests pass', 'phase': 'Implement'}, {'id': 'qa-3', 'action': 'Add edge case tests', 'depends': ['qa-2'], 'verify': 'Edge cases covered', 'phase': 'Implement'}, {'id': 'qa-4', 'action': 'Write Integration Tests', 'depends': ['qa-2'], 'verify': 'Integration Tests pass', 'phase': 'Verify'}]}, {'trigger': 'bug|error|fix', 'actions': [{'id': 'qa-5', 'action': 'Write bug reproduction scenario', 'depends': [], 'verify': 'Bug reproducible', 'phase': 'Prepare'}, {'id': 'qa-6', 'action': 'Add regression test case', 'depends': [], 'verify': 'Regression test written', 'phase': 'Verify'}]}]}
