@bugmole/cli 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.bugmole.env.example +20 -0
- package/LICENSE +7 -0
- package/README.md +293 -0
- package/TESTING.md +117 -0
- package/bugmole.config.yaml +39 -0
- package/package.json +85 -0
- package/scripts/billing/paypal-setup.mjs +121 -0
- package/scripts/bugmole-continue.ts +318 -0
- package/scripts/bugmole-init.ts +188 -0
- package/scripts/bugmole.cjs +17 -0
- package/scripts/bugmole.test.ts +344 -0
- package/scripts/bugmole.ts +657 -0
- package/scripts/ensure-maestro.cjs +79 -0
- package/scripts/ios-tunnel-keeper.sh +45 -0
- package/scripts/ios-wda-keeper.sh +66 -0
- package/scripts/sync-plan-catalog.d.mts +3 -0
- package/scripts/sync-plan-catalog.mjs +16 -0
- package/scripts/ui-parity-diff.py +65 -0
- package/scripts/ui-parity-requirements.txt +1 -0
- package/scripts/verify-manage-to-plans.mts +194 -0
- package/spec/app-ui-audit.schema.json +176 -0
- package/spec/blockers.yaml +79 -0
- package/spec/bugs.index.json +42 -0
- package/spec/design-dna.schema.json +38 -0
- package/spec/domain_rules.yaml +24 -0
- package/spec/flows/flow_manage-to-plans-64c3c61b.yaml +8 -0
- package/spec/flows/flow_screen-to-evidence-6c3ab309.yaml +7 -0
- package/spec/journey_graph.yaml +126 -0
- package/spec/journeys.graph.json +2618 -0
- package/spec/plans/dashboard-smoke.flow.yaml +20 -0
- package/spec/plans/example.flow.yaml +99 -0
- package/spec/plans/flow_api-keys-to-logout-7396cd5d.flow.yaml +33 -0
- package/spec/plans/flow_api-keys-to-screen-157e10a6.flow.yaml +33 -0
- package/spec/plans/flow_manage-to-audits-176c1eb8.flow.yaml +33 -0
- package/spec/plans/flow_manage-to-blockers-633282c8.flow.yaml +112 -0
- package/spec/plans/flow_manage-to-devices-ad57e202.flow.yaml +33 -0
- package/spec/plans/flow_manage-to-logout-86c54656.flow.yaml +33 -0
- package/spec/plans/flow_manage-to-manage-resource-action-6325f99a.flow.yaml +185 -0
- package/spec/plans/flow_manage-to-parity-issues-01fa2579.flow.yaml +34 -0
- package/spec/plans/flow_manage-to-plans-64c3c61b.flow.yaml +123 -0
- package/spec/plans/flow_manage-to-screen-6857f915.flow.yaml +106 -0
- package/spec/plans/flow_manage-to-tasks-c5791c95.flow.yaml +33 -0
- package/spec/plans/flow_profile-to-screen-6045aa3d.flow.yaml +33 -0
- package/spec/plans/flow_register-to-api-auth-login-460a9cc8.flow.yaml +34 -0
- package/spec/plans/flow_screen-to-audits-07666356.flow.yaml +33 -0
- package/spec/plans/flow_screen-to-blockers-091d258b.flow.yaml +33 -0
- package/spec/plans/flow_screen-to-devices-cad72f75.flow.yaml +33 -0
- package/spec/plans/flow_screen-to-evidence-6c3ab309.flow.yaml +126 -0
- package/spec/plans/flow_screen-to-parity-issues-2218e3ad.flow.yaml +34 -0
- package/spec/plans/flow_screen-to-plans-8232a94f.flow.yaml +33 -0
- package/spec/plans/flow_screen-to-tasks-540671d1.flow.yaml +33 -0
- package/spec/plans/login.flow.yaml +22 -0
- package/spec/plans/owner-operations.flow.yaml +20 -0
- package/spec/project_config.yaml +55 -0
- package/spec/roles.yaml +30 -0
- package/spec/schema.md +394 -0
- package/spec/test-case-results.schema.json +62 -0
- package/spec/test-cases.schema.json +85 -0
- package/spec/ui-parity-audit.schema.json +194 -0
- package/spec/ui-reverse-engineering.schema.json +94 -0
- package/src/billing/plan-catalog.test.ts +46 -0
- package/src/billing/plan-catalog.ts +199 -0
- package/src/integrations/aws-sigv4.test.ts +42 -0
- package/src/integrations/aws-sigv4.ts +72 -0
- package/src/integrations/device-farm.ts +155 -0
- package/src/integrations/github-app.test.ts +57 -0
- package/src/integrations/github-app.ts +143 -0
- package/src/integrations/gitlab.ts +81 -0
- package/src/integrations/temp-email.test.ts +123 -0
- package/src/integrations/temp-email.ts +175 -0
- package/src/integrations/testflight-feedback.test.ts +51 -0
- package/src/integrations/testflight-feedback.ts +173 -0
- package/src/integrations/webdriver-client.ts +131 -0
- package/src/mcp/server.test.ts +1220 -0
- package/src/mcp/server.ts +3064 -0
- package/src/mcp/write-test-cases.test.ts +287 -0
- package/src/registry/api-key-client.ts +39 -0
- package/src/registry/control-plane-client.ts +212 -0
- package/src/registry/migrations/0001_registry.sql +47 -0
- package/src/registry/migrations/0002_device_authorizations.sql +23 -0
- package/src/registry/migrations/0003_project_environments.sql +25 -0
- package/src/registry/migrations/0004_device_authorization_email.sql +1 -0
- package/src/registry/migrations/0005_testing_control_plane.sql +55 -0
- package/src/registry/migrations/0006_workspaces.sql +36 -0
- package/src/registry/migrations/0007_project_apps.sql +26 -0
- package/src/registry/migrations/0008_agent_tasks.sql +30 -0
- package/src/registry/migrations/0009_journey_revisions.sql +17 -0
- package/src/registry/migrations/0010_agent_task_journey.sql +2 -0
- package/src/registry/migrations/0011_run_journey_revision.sql +1 -0
- package/src/registry/migrations/0012_canonical_flow_execution.sql +10 -0
- package/src/registry/migrations/0013_device_sessions.sql +22 -0
- package/src/registry/migrations/0014_agent_task_step.sql +1 -0
- package/src/registry/migrations/0015_agent_task_attempts.sql +6 -0
- package/src/registry/migrations/0016_github_issue_tracker.sql +54 -0
- package/src/registry/migrations/0017_run_targets.sql +7 -0
- package/src/registry/migrations/0018_run_fix_from.sql +4 -0
- package/src/registry/migrations/0019_workspace_flags.sql +9 -0
- package/src/registry/migrations/0020_orgs.sql +40 -0
- package/src/registry/migrations/0021_billing_core.sql +58 -0
- package/src/registry/migrations/0022_cloud_runners.sql +19 -0
- package/src/registry/migrations/0023_signup.sql +4 -0
- package/src/registry/migrations/0024_billing.sql +67 -0
- package/src/registry/migrations/0025_notifications.sql +47 -0
- package/src/registry/migrations/0026_repo_bindings.sql +28 -0
- package/src/registry/migrations/0027_feedback.sql +29 -0
- package/src/registry/migrations/0028_devices.sql +48 -0
- package/src/registry/migrations/0029_sso.sql +31 -0
- package/src/registry/migrations/0030_workspace_domains.sql +18 -0
- package/src/registry/migrations/0031_gitlab_and_teams.sql +45 -0
- package/src/registry/migrations/0032_personas.sql +15 -0
- package/src/registry/migrations/0033_bugmole_rename.sql +11 -0
- package/src/registry/task-scheduling.test.ts +100 -0
- package/src/registry/task-scheduling.ts +80 -0
- package/src/registry-worker/ai/platform-model.ts +77 -0
- package/src/registry-worker/ai/routes.test.ts +88 -0
- package/src/registry-worker/ai/routes.ts +90 -0
- package/src/registry-worker/artifacts.test.ts +98 -0
- package/src/registry-worker/artifacts.ts +85 -0
- package/src/registry-worker/billing/billing-core.test.ts +175 -0
- package/src/registry-worker/billing/checkout-routes.ts +209 -0
- package/src/registry-worker/billing/enforcement.ts +69 -0
- package/src/registry-worker/billing/entitlements.ts +108 -0
- package/src/registry-worker/billing/ledger.ts +186 -0
- package/src/registry-worker/billing/paypal/api.ts +259 -0
- package/src/registry-worker/billing/paypal/client.ts +91 -0
- package/src/registry-worker/billing/paypal/provider.ts +143 -0
- package/src/registry-worker/billing/paypal.test.ts +466 -0
- package/src/registry-worker/billing/provider.ts +114 -0
- package/src/registry-worker/billing/routes.ts +66 -0
- package/src/registry-worker/billing/subscriptions.ts +780 -0
- package/src/registry-worker/billing/thresholds.ts +107 -0
- package/src/registry-worker/core.ts +308 -0
- package/src/registry-worker/devices/devices.test.ts +185 -0
- package/src/registry-worker/devices/policy.ts +71 -0
- package/src/registry-worker/devices/routes.ts +453 -0
- package/src/registry-worker/domains/domains.test.ts +210 -0
- package/src/registry-worker/domains/routes.ts +139 -0
- package/src/registry-worker/domains.ts +88 -0
- package/src/registry-worker/email/sender.ts +75 -0
- package/src/registry-worker/env.d.ts +14716 -0
- package/src/registry-worker/features.ts +20 -0
- package/src/registry-worker/feedback/feedback.test.ts +230 -0
- package/src/registry-worker/feedback/format.ts +148 -0
- package/src/registry-worker/feedback/routes.ts +386 -0
- package/src/registry-worker/flags.ts +39 -0
- package/src/registry-worker/github/checks.test.ts +177 -0
- package/src/registry-worker/github/checks.ts +374 -0
- package/src/registry-worker/gitlab/checks.test.ts +141 -0
- package/src/registry-worker/gitlab/checks.ts +349 -0
- package/src/registry-worker/hooks.ts +54 -0
- package/src/registry-worker/index.ts +2077 -0
- package/src/registry-worker/jobs/index.ts +29 -0
- package/src/registry-worker/jobs/retention.ts +68 -0
- package/src/registry-worker/mcp/mcp.test.ts +355 -0
- package/src/registry-worker/mcp/routes.ts +215 -0
- package/src/registry-worker/mcp/token.ts +126 -0
- package/src/registry-worker/mcp/tools.ts +563 -0
- package/src/registry-worker/notifications/alerts.ts +212 -0
- package/src/registry-worker/notifications/notifications.test.ts +298 -0
- package/src/registry-worker/notifications/outbox.ts +83 -0
- package/src/registry-worker/notifications/routes.ts +280 -0
- package/src/registry-worker/notifications/secrets.ts +49 -0
- package/src/registry-worker/notifications/slack.ts +96 -0
- package/src/registry-worker/notifications/teams.ts +46 -0
- package/src/registry-worker/org/audit.ts +116 -0
- package/src/registry-worker/org/routes.test.ts +163 -0
- package/src/registry-worker/org/routes.ts +302 -0
- package/src/registry-worker/personas/personas.test.ts +78 -0
- package/src/registry-worker/personas/routes.ts +100 -0
- package/src/registry-worker/repo-triggers.ts +20 -0
- package/src/registry-worker/routes/index.ts +74 -0
- package/src/registry-worker/run-events.ts +24 -0
- package/src/registry-worker/runner/dispatch.ts +219 -0
- package/src/registry-worker/runner/jobs.ts +43 -0
- package/src/registry-worker/runner/metering.ts +82 -0
- package/src/registry-worker/runner/policy.ts +59 -0
- package/src/registry-worker/runner/routes.ts +171 -0
- package/src/registry-worker/runner/runner.test.ts +358 -0
- package/src/registry-worker/runner/tokens.ts +93 -0
- package/src/registry-worker/runs.test.ts +60 -0
- package/src/registry-worker/signup/policy.ts +57 -0
- package/src/registry-worker/signup/routes.ts +106 -0
- package/src/registry-worker/signup/signup.test.ts +81 -0
- package/src/registry-worker/sso/aegis.ts +141 -0
- package/src/registry-worker/sso/membership.ts +157 -0
- package/src/registry-worker/sso/routes.ts +458 -0
- package/src/registry-worker/sso/sso.test.ts +344 -0
- package/src/registry-worker/testing/d1-shim.ts +180 -0
- package/src/registry-worker/testing/harness.ts +137 -0
- package/src/runner-worker/index.ts +108 -0
- package/src/runtime/ai-analysis.ts +97 -0
- package/src/runtime/ai-exploration.test.ts +32 -0
- package/src/runtime/ai-exploration.ts +69 -0
- package/src/runtime/ai-repair.ts +74 -0
- package/src/runtime/ai-work.test.ts +99 -0
- package/src/runtime/android-screen-record.test.ts +75 -0
- package/src/runtime/android-screen-record.ts +192 -0
- package/src/runtime/app-understanding.test.ts +123 -0
- package/src/runtime/app-understanding.ts +201 -0
- package/src/runtime/appium-driver.test.ts +179 -0
- package/src/runtime/appium-driver.ts +295 -0
- package/src/runtime/blocker-resolution.test.ts +113 -0
- package/src/runtime/blocker-resolution.ts +111 -0
- package/src/runtime/browser-matrix.integration.test.ts +212 -0
- package/src/runtime/browser-matrix.test.ts +143 -0
- package/src/runtime/browser-matrix.ts +200 -0
- package/src/runtime/canonical-flow.test.ts +52 -0
- package/src/runtime/config-validate.ts +185 -0
- package/src/runtime/continuous-execution.ts +291 -0
- package/src/runtime/cursor-applescript.ts +573 -0
- package/src/runtime/cursor-cli-driver.test.ts +78 -0
- package/src/runtime/cursor-cli-driver.ts +156 -0
- package/src/runtime/cursor-driver-example.ts +117 -0
- package/src/runtime/cursor-driver-index.ts +65 -0
- package/src/runtime/cursor-driver-init.ts +277 -0
- package/src/runtime/cursor-driver-run.test.ts +15 -0
- package/src/runtime/cursor-driver-run.ts +323 -0
- package/src/runtime/cursor-driver.ts +332 -0
- package/src/runtime/cursor-llm-example.ts +90 -0
- package/src/runtime/cursor-llm.ts +206 -0
- package/src/runtime/cursor-mcp-monitor.ts +386 -0
- package/src/runtime/device-clouds/browserstack.ts +73 -0
- package/src/runtime/device-clouds/device-farm.ts +52 -0
- package/src/runtime/device-clouds/index.ts +92 -0
- package/src/runtime/device-clouds/kobiton.ts +70 -0
- package/src/runtime/device-clouds/targets.ts +44 -0
- package/src/runtime/device-clouds/types.ts +62 -0
- package/src/runtime/diff-proposal.ts +84 -0
- package/src/runtime/discovery-task.test.ts +29 -0
- package/src/runtime/discovery-task.ts +284 -0
- package/src/runtime/driver-recovery.ts +69 -0
- package/src/runtime/driver.ts +79 -0
- package/src/runtime/environment.test.ts +104 -0
- package/src/runtime/environment.ts +137 -0
- package/src/runtime/executor.test.ts +509 -0
- package/src/runtime/executor.ts +921 -0
- package/src/runtime/explorer.test.ts +101 -0
- package/src/runtime/explorer.ts +1013 -0
- package/src/runtime/failure-analysis.test.ts +111 -0
- package/src/runtime/failure-analysis.ts +272 -0
- package/src/runtime/fixtures/fake-maestro.sh +36 -0
- package/src/runtime/flow-language.test.ts +268 -0
- package/src/runtime/flow-language.ts +414 -0
- package/src/runtime/init-wizard.ts +354 -0
- package/src/runtime/ios-screen-record.test.ts +68 -0
- package/src/runtime/ios-screen-record.ts +155 -0
- package/src/runtime/journey-editor.ts +452 -0
- package/src/runtime/journey-evidence.test.ts +161 -0
- package/src/runtime/journey-evidence.ts +180 -0
- package/src/runtime/journey-graph.test.ts +257 -0
- package/src/runtime/journey-graph.ts +170 -0
- package/src/runtime/legacy-names.ts +32 -0
- package/src/runtime/llm-example.ts +105 -0
- package/src/runtime/llm.ts +527 -0
- package/src/runtime/local-browser.test.ts +45 -0
- package/src/runtime/local-browser.ts +48 -0
- package/src/runtime/local-registry-stub.test.ts +325 -0
- package/src/runtime/local-registry-stub.ts +803 -0
- package/src/runtime/maestro-driver.test.ts +84 -0
- package/src/runtime/maestro-driver.ts +209 -0
- package/src/runtime/mole-voice.ts +21 -0
- package/src/runtime/nav-crawl.test.ts +100 -0
- package/src/runtime/nav-crawl.ts +153 -0
- package/src/runtime/pipeline.test.ts +405 -0
- package/src/runtime/pipeline.ts +833 -0
- package/src/runtime/planner.test.ts +37 -0
- package/src/runtime/planner.ts +274 -0
- package/src/runtime/platform-ai.ts +76 -0
- package/src/runtime/playwright-driver.test.ts +93 -0
- package/src/runtime/playwright-driver.ts +620 -0
- package/src/runtime/project-spec.ts +140 -0
- package/src/runtime/record-run-verdicts.ts +68 -0
- package/src/runtime/reporter.test.ts +56 -0
- package/src/runtime/reporter.ts +158 -0
- package/src/runtime/reset.test.ts +44 -0
- package/src/runtime/reset.ts +61 -0
- package/src/runtime/reviewer.test.ts +73 -0
- package/src/runtime/reviewer.ts +158 -0
- package/src/runtime/run-job.ts +136 -0
- package/src/runtime/run-once.test.ts +207 -0
- package/src/runtime/run-once.ts +168 -0
- package/src/runtime/run.ts +132 -0
- package/src/runtime/screen-recording.ts +34 -0
- package/src/runtime/serve-gateway.test.ts +74 -0
- package/src/runtime/serve-gateway.ts +164 -0
- package/src/runtime/serve-worker.test.ts +23 -0
- package/src/runtime/serve-worker.ts +278 -0
- package/src/runtime/site-discovery.test.ts +168 -0
- package/src/runtime/site-discovery.ts +308 -0
- package/src/runtime/target-runner.ts +144 -0
- package/src/runtime/test-case-verdicts.test.ts +94 -0
- package/src/runtime/test-case-verdicts.ts +120 -0
- package/src/runtime/ui-reverse-engineering/coordinator.test.ts +59 -0
- package/src/runtime/ui-reverse-engineering/coordinator.ts +391 -0
- package/src/runtime/ui-reverse-engineering/types.ts +197 -0
- package/src/runtime/web-suite.test.ts +97 -0
- package/src/runtime/web-suite.ts +176 -0
- package/src/storage/create-object-store.ts +144 -0
- package/src/storage/keys.ts +34 -0
- package/src/storage/local-artifact-server.test.ts +314 -0
- package/src/storage/local-artifact-server.ts +357 -0
- package/src/storage/object-store.test.ts +28 -0
- package/src/storage/object-store.ts +101 -0
- package/src/storage/registry-object-store.ts +88 -0
- package/src/storage/remote-object-store.ts +104 -0
- package/src/storage/storage-directory.test.ts +43 -0
- package/src/storage/storage-directory.ts +24 -0
- package/tsconfig.json +24 -0
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
version: 2
|
|
2
|
+
id: flow_manage-to-plans-64c3c61b
|
|
3
|
+
name: "Journey: Open Manage → Open Plans"
|
|
4
|
+
description: >
|
|
5
|
+
Executable plan for flow:manage-to-plans-64c3c61b (revision 3) derived from
|
|
6
|
+
grounded test case assumptions in flow-manage-to-plans-64c3c61b.json.
|
|
7
|
+
Covers the resource management hub at /manage, sidebar Test plans navigation,
|
|
8
|
+
the Test plans coverage workspace, plan selection, run start behavior, and
|
|
9
|
+
unauthenticated redirect.
|
|
10
|
+
driver: playwright
|
|
11
|
+
platform: web
|
|
12
|
+
target:
|
|
13
|
+
base_url: http://localhost:3020
|
|
14
|
+
flow: flows/flow_manage-to-plans-64c3c61b.yaml
|
|
15
|
+
recovery:
|
|
16
|
+
enabled: false
|
|
17
|
+
max_attempts: 1
|
|
18
|
+
timeout_ms: 30000
|
|
19
|
+
journey_revision: 3
|
|
20
|
+
case_set_id: flow-manage-to-plans-64c3c61b
|
|
21
|
+
suites:
|
|
22
|
+
- id: default
|
|
23
|
+
runs: on_demand
|
|
24
|
+
journeys:
|
|
25
|
+
- id: flow:manage-to-plans-64c3c61b
|
|
26
|
+
actor: user
|
|
27
|
+
goal: "Open /manage hub and navigate to Test plans workspace"
|
|
28
|
+
capabilities_required:
|
|
29
|
+
- auth.login
|
|
30
|
+
preconditions:
|
|
31
|
+
- Aegis-authenticated dashboard session is active (sign in through dashboard OAuth)
|
|
32
|
+
- Local QA dashboard is running at http://localhost:3020
|
|
33
|
+
- Actor user is defined in roles.yaml with project membership
|
|
34
|
+
- Project context bugmole is selected (?project=bugmole) for full plans panel data
|
|
35
|
+
steps:
|
|
36
|
+
- node_id: screen:/manage
|
|
37
|
+
case_id: TC-MANAGE-ENTRANCE
|
|
38
|
+
action: navigate:/manage
|
|
39
|
+
proofs:
|
|
40
|
+
- type: dom
|
|
41
|
+
expects: "visible:.auth-eyebrow[text*='RESOURCE MANAGEMENT']"
|
|
42
|
+
- type: dom
|
|
43
|
+
expects: "visible:.auth-title[text='Manage Bugmole']"
|
|
44
|
+
- type: dom
|
|
45
|
+
expects: "visible:a.management-hub-card[href='/manage/workspaces']"
|
|
46
|
+
- type: dom
|
|
47
|
+
expects: "visible:a.management-hub-card[href='/manage/projects']"
|
|
48
|
+
- type: dom
|
|
49
|
+
expects: "visible:a.management-hub-card[href='/manage/apps']"
|
|
50
|
+
- type: dom
|
|
51
|
+
expects: "visible:a.management-hub-card[href='/manage/environments']"
|
|
52
|
+
- type: dom
|
|
53
|
+
expects: "visible:a.auth-back[href='/'][text*='Back to dashboard']"
|
|
54
|
+
- type: navigation
|
|
55
|
+
expects: screen:/manage
|
|
56
|
+
- node_id: screen:/manage
|
|
57
|
+
case_id: TC-MANAGE-NAV-PLANS
|
|
58
|
+
edge_id: screen:/manage->screen:/plans:dom-1
|
|
59
|
+
action: navigate:Test plans
|
|
60
|
+
proofs:
|
|
61
|
+
- type: navigation
|
|
62
|
+
expects: screen:/plans
|
|
63
|
+
- type: dom
|
|
64
|
+
expects: "visible:nav a[href='/plans'][aria-current='page']"
|
|
65
|
+
- type: dom
|
|
66
|
+
expects: "visible:h1[text='Coverage, as paths.']"
|
|
67
|
+
- type: dom
|
|
68
|
+
expects: "visible:section#plans.panel:not(.route-panel-hidden)"
|
|
69
|
+
- node_id: screen:/plans
|
|
70
|
+
case_id: TC-PLANS-GOAL
|
|
71
|
+
action: verify:plans-workspace
|
|
72
|
+
proofs:
|
|
73
|
+
- type: dom
|
|
74
|
+
expects: "visible:h1[text='Coverage, as paths.']"
|
|
75
|
+
- type: dom
|
|
76
|
+
expects: "visible:section#plans .panel-heading[text*='Test plans']"
|
|
77
|
+
- type: dom
|
|
78
|
+
expects: "visible:section#plans .plan-list"
|
|
79
|
+
- type: dom
|
|
80
|
+
expects: "screen source: apps/qa/src/app/plans/page.tsx section=plans"
|
|
81
|
+
- node_id: screen:/plans
|
|
82
|
+
case_id: TC-PLANS-SELECT-PLAN
|
|
83
|
+
action: verify:plan-selection
|
|
84
|
+
proofs:
|
|
85
|
+
- type: dom
|
|
86
|
+
expects: "visible:button.plan-row"
|
|
87
|
+
- type: interaction
|
|
88
|
+
expects: "click:button.plan-row → aria-pressed='true'"
|
|
89
|
+
- type: dom
|
|
90
|
+
expects: "visible:button.plan-start-button:not([disabled])"
|
|
91
|
+
- node_id: screen:/plans
|
|
92
|
+
case_id: TC-PLANS-START-BLOCKED
|
|
93
|
+
action: verify:start-plan-queue
|
|
94
|
+
proofs:
|
|
95
|
+
- type: network
|
|
96
|
+
expects: "POST /api/projects/bugmole/runs → 201 queued"
|
|
97
|
+
- type: dom
|
|
98
|
+
expects: "optional:panel-foot warns when no bugmole serve worker connected"
|
|
99
|
+
variants:
|
|
100
|
+
- id: unauthenticated_plans_redirect
|
|
101
|
+
case_id: TC-PLANS-AUTH-REDIRECT
|
|
102
|
+
preconditions:
|
|
103
|
+
- Aegis session cookie is cleared or absent
|
|
104
|
+
steps:
|
|
105
|
+
- node_id: screen:/plans
|
|
106
|
+
action: navigate:/plans
|
|
107
|
+
proofs:
|
|
108
|
+
- type: navigation
|
|
109
|
+
expects: screen:/login
|
|
110
|
+
- type: dom
|
|
111
|
+
expects: "screen source: apps/qa/src/app/login/page.tsx"
|
|
112
|
+
- id: plans_direct_load
|
|
113
|
+
case_id: TC-PLANS-GOAL-direct
|
|
114
|
+
preconditions:
|
|
115
|
+
- Authenticated session active
|
|
116
|
+
steps:
|
|
117
|
+
- node_id: screen:/plans
|
|
118
|
+
action: navigate:/plans?project=bugmole
|
|
119
|
+
proofs:
|
|
120
|
+
- type: dom
|
|
121
|
+
expects: "visible:h1[text='Coverage, as paths.']"
|
|
122
|
+
- type: dom
|
|
123
|
+
expects: "visible:section#plans .plan-list"
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
version: 2
|
|
2
|
+
id: flow_manage-to-screen-6857f915
|
|
3
|
+
name: "Journey: Open Manage → Open the app"
|
|
4
|
+
description: >
|
|
5
|
+
Executable plan for flow:manage-to-screen-6857f915 (revision 1) derived from
|
|
6
|
+
grounded test case assumptions in flow-manage-to-screen-6857f915.json.
|
|
7
|
+
Covers the resource-management hub at /manage, hub-card navigation targets,
|
|
8
|
+
sign-out affordance, and the back-to-dashboard journey transition to /.
|
|
9
|
+
driver: maestro
|
|
10
|
+
platform: web
|
|
11
|
+
target:
|
|
12
|
+
base_url: http://localhost:3020
|
|
13
|
+
flow: null
|
|
14
|
+
recovery:
|
|
15
|
+
enabled: false
|
|
16
|
+
max_attempts: 1
|
|
17
|
+
timeout_ms: 30000
|
|
18
|
+
journey_revision: 1
|
|
19
|
+
case_set_id: flow-manage-to-screen-6857f915
|
|
20
|
+
suites:
|
|
21
|
+
- id: default
|
|
22
|
+
runs: on_demand
|
|
23
|
+
journeys:
|
|
24
|
+
- id: flow:manage-to-screen-6857f915
|
|
25
|
+
actor: user
|
|
26
|
+
goal: "Open /manage hub and return to dashboard home via ← Back to dashboard"
|
|
27
|
+
capabilities_required:
|
|
28
|
+
- auth.login
|
|
29
|
+
preconditions:
|
|
30
|
+
- Aegis-authenticated dashboard session is active (sign in through dashboard OAuth)
|
|
31
|
+
- Local QA dashboard is running at http://localhost:3020
|
|
32
|
+
- Actor user is defined in roles.yaml with project membership
|
|
33
|
+
steps:
|
|
34
|
+
- node_id: screen:/manage
|
|
35
|
+
case_id: TC-manage-hub-renders
|
|
36
|
+
action: navigate:/manage
|
|
37
|
+
proofs:
|
|
38
|
+
- type: dom
|
|
39
|
+
expects: "visible:.auth-eyebrow[text*='RESOURCE MANAGEMENT']"
|
|
40
|
+
- type: dom
|
|
41
|
+
expects: "visible:.auth-title[text='Manage Bugmole']"
|
|
42
|
+
- type: dom
|
|
43
|
+
expects: "visible:.management-hub-card[href='/manage/workspaces']"
|
|
44
|
+
- type: dom
|
|
45
|
+
expects: "visible:.management-hub-card[href='/manage/projects']"
|
|
46
|
+
- type: dom
|
|
47
|
+
expects: "visible:.management-hub-card[href='/manage/environments']"
|
|
48
|
+
- type: dom
|
|
49
|
+
expects: "visible:.qa-header"
|
|
50
|
+
- node_id: screen:/manage
|
|
51
|
+
case_id: TC-manage-workspaces-card
|
|
52
|
+
action: inspect:hub-card-workspaces
|
|
53
|
+
proofs:
|
|
54
|
+
- type: dom
|
|
55
|
+
expects: "visible:a.management-hub-card[href='/manage/workspaces'] strong[text='Workspaces']"
|
|
56
|
+
- node_id: screen:/manage
|
|
57
|
+
case_id: TC-manage-projects-card
|
|
58
|
+
action: inspect:hub-card-projects
|
|
59
|
+
proofs:
|
|
60
|
+
- type: dom
|
|
61
|
+
expects: "visible:a.management-hub-card[href='/manage/projects'] strong[text='Projects']"
|
|
62
|
+
- node_id: screen:/manage
|
|
63
|
+
case_id: TC-manage-environments-card
|
|
64
|
+
action: inspect:hub-card-environments
|
|
65
|
+
proofs:
|
|
66
|
+
- type: dom
|
|
67
|
+
expects: "visible:a.management-hub-card[href='/manage/environments'] strong[text='Environments']"
|
|
68
|
+
- node_id: screen:/manage
|
|
69
|
+
case_id: TC-manage-sign-out-link
|
|
70
|
+
action: inspect:sign-out-link
|
|
71
|
+
proofs:
|
|
72
|
+
- type: dom
|
|
73
|
+
expects: "visible:a.auth-link[href='/logout'][text='Sign out']"
|
|
74
|
+
- node_id: screen:/manage
|
|
75
|
+
case_id: TC-manage-back-to-dashboard
|
|
76
|
+
action: navigate:/
|
|
77
|
+
proofs:
|
|
78
|
+
- type: navigation
|
|
79
|
+
expects: screen:/
|
|
80
|
+
- type: dom
|
|
81
|
+
expects: "screen source: src/app/page.tsx via dashboard-route overview"
|
|
82
|
+
- node_id: screen:/
|
|
83
|
+
case_id: TC-dashboard-home-overview
|
|
84
|
+
action: verify:overview
|
|
85
|
+
proofs:
|
|
86
|
+
- type: dom
|
|
87
|
+
expects: "visible:.qa-header"
|
|
88
|
+
- type: dom
|
|
89
|
+
expects: "visible:nav a[href='/']"
|
|
90
|
+
- type: dom
|
|
91
|
+
expects: "visible:nav a[href='/plans']"
|
|
92
|
+
- type: dom
|
|
93
|
+
expects: "visible:nav a[href='/tasks']"
|
|
94
|
+
variants:
|
|
95
|
+
- id: unauthenticated_redirect
|
|
96
|
+
case_id: TC-dashboard-auth-redirect
|
|
97
|
+
preconditions:
|
|
98
|
+
- Aegis session cookie is cleared or absent
|
|
99
|
+
steps:
|
|
100
|
+
- node_id: screen:/
|
|
101
|
+
action: navigate:/
|
|
102
|
+
proofs:
|
|
103
|
+
- type: navigation
|
|
104
|
+
expects: screen:/login
|
|
105
|
+
- type: dom
|
|
106
|
+
expects: "screen source: src/app/login/page.tsx"
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
version: 2
|
|
2
|
+
id: flow_manage-to-tasks-c5791c95
|
|
3
|
+
name: "Journey: flow:manage-to-tasks-c5791c95"
|
|
4
|
+
description: Generated plan for journey flow:manage-to-tasks-c5791c95 with actor user
|
|
5
|
+
driver: maestro
|
|
6
|
+
platform: web
|
|
7
|
+
target:
|
|
8
|
+
base_url: http://localhost:3020
|
|
9
|
+
flow: null
|
|
10
|
+
recovery:
|
|
11
|
+
enabled: false
|
|
12
|
+
max_attempts: 1
|
|
13
|
+
timeout_ms: 30000
|
|
14
|
+
journey_revision: 2
|
|
15
|
+
suites:
|
|
16
|
+
- id: default
|
|
17
|
+
runs: on_demand
|
|
18
|
+
journeys:
|
|
19
|
+
- id: flow:manage-to-tasks-c5791c95
|
|
20
|
+
actor: user
|
|
21
|
+
goal: "Complete journey: flow:manage-to-tasks-c5791c95"
|
|
22
|
+
capabilities_required: []
|
|
23
|
+
preconditions:
|
|
24
|
+
- Test tenant / sandbox is active
|
|
25
|
+
- Actor account exists
|
|
26
|
+
steps:
|
|
27
|
+
- node_id: screen:/manage
|
|
28
|
+
action: navigate:Agent tasks
|
|
29
|
+
proofs:
|
|
30
|
+
- type: navigation
|
|
31
|
+
expects: screen:/tasks
|
|
32
|
+
- type: dom
|
|
33
|
+
expects: "screen source: rendered-dom"
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
version: 2
|
|
2
|
+
id: flow_profile-to-screen-6045aa3d
|
|
3
|
+
name: "Journey: flow:profile-to-screen-6045aa3d"
|
|
4
|
+
description: Generated plan for journey flow:profile-to-screen-6045aa3d with actor user
|
|
5
|
+
driver: maestro
|
|
6
|
+
platform: web
|
|
7
|
+
target:
|
|
8
|
+
base_url: http://localhost:3020
|
|
9
|
+
flow: null
|
|
10
|
+
recovery:
|
|
11
|
+
enabled: false
|
|
12
|
+
max_attempts: 1
|
|
13
|
+
timeout_ms: 30000
|
|
14
|
+
journey_revision: 2
|
|
15
|
+
suites:
|
|
16
|
+
- id: default
|
|
17
|
+
runs: on_demand
|
|
18
|
+
journeys:
|
|
19
|
+
- id: flow:profile-to-screen-6045aa3d
|
|
20
|
+
actor: user
|
|
21
|
+
goal: "Complete journey: flow:profile-to-screen-6045aa3d"
|
|
22
|
+
capabilities_required: []
|
|
23
|
+
preconditions:
|
|
24
|
+
- Test tenant / sandbox is active
|
|
25
|
+
- Actor account exists
|
|
26
|
+
steps:
|
|
27
|
+
- node_id: screen:/profile
|
|
28
|
+
action: navigate:/
|
|
29
|
+
proofs:
|
|
30
|
+
- type: navigation
|
|
31
|
+
expects: screen:/
|
|
32
|
+
- type: dom
|
|
33
|
+
expects: "screen source: discovered application code"
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
version: 2
|
|
2
|
+
id: flow_register-to-api-auth-login-460a9cc8
|
|
3
|
+
name: "Journey: flow:register-to-api-auth-login-460a9cc8"
|
|
4
|
+
description: Generated plan for journey flow:register-to-api-auth-login-460a9cc8
|
|
5
|
+
with actor user
|
|
6
|
+
driver: maestro
|
|
7
|
+
platform: web
|
|
8
|
+
target:
|
|
9
|
+
base_url: http://localhost:3020
|
|
10
|
+
flow: null
|
|
11
|
+
recovery:
|
|
12
|
+
enabled: false
|
|
13
|
+
max_attempts: 1
|
|
14
|
+
timeout_ms: 30000
|
|
15
|
+
journey_revision: 3
|
|
16
|
+
suites:
|
|
17
|
+
- id: default
|
|
18
|
+
runs: on_demand
|
|
19
|
+
journeys:
|
|
20
|
+
- id: flow:register-to-api-auth-login-460a9cc8
|
|
21
|
+
actor: user
|
|
22
|
+
goal: "Complete journey: flow:register-to-api-auth-login-460a9cc8"
|
|
23
|
+
capabilities_required: []
|
|
24
|
+
preconditions:
|
|
25
|
+
- Test tenant / sandbox is active
|
|
26
|
+
- Actor account exists
|
|
27
|
+
steps:
|
|
28
|
+
- node_id: screen:/register
|
|
29
|
+
action: navigate:Re-authenticate with Aegis for this project
|
|
30
|
+
proofs:
|
|
31
|
+
- type: navigation
|
|
32
|
+
expects: screen:/api/auth/login
|
|
33
|
+
- type: dom
|
|
34
|
+
expects: "screen source: discovered application code"
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
version: 2
|
|
2
|
+
id: flow_screen-to-audits-07666356
|
|
3
|
+
name: "Journey: flow:screen-to-audits-07666356"
|
|
4
|
+
description: Generated plan for journey flow:screen-to-audits-07666356 with actor user
|
|
5
|
+
driver: playwright
|
|
6
|
+
platform: web
|
|
7
|
+
target:
|
|
8
|
+
base_url: http://localhost:3020
|
|
9
|
+
flow: null
|
|
10
|
+
recovery:
|
|
11
|
+
enabled: false
|
|
12
|
+
max_attempts: 1
|
|
13
|
+
timeout_ms: 30000
|
|
14
|
+
journey_revision: 2
|
|
15
|
+
suites:
|
|
16
|
+
- id: default
|
|
17
|
+
runs: on_demand
|
|
18
|
+
journeys:
|
|
19
|
+
- id: flow:screen-to-audits-07666356
|
|
20
|
+
actor: user
|
|
21
|
+
goal: "Complete journey: flow:screen-to-audits-07666356"
|
|
22
|
+
capabilities_required: []
|
|
23
|
+
preconditions:
|
|
24
|
+
- Test tenant / sandbox is active
|
|
25
|
+
- Actor account exists
|
|
26
|
+
steps:
|
|
27
|
+
- node_id: screen:/
|
|
28
|
+
action: navigate:App Audit
|
|
29
|
+
proofs:
|
|
30
|
+
- type: navigation
|
|
31
|
+
expects: screen:/audits
|
|
32
|
+
- type: dom
|
|
33
|
+
expects: "screen source: discovered application code"
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
version: 2
|
|
2
|
+
id: flow_screen-to-blockers-091d258b
|
|
3
|
+
name: "Journey: flow:screen-to-blockers-091d258b"
|
|
4
|
+
description: Generated plan for journey flow:screen-to-blockers-091d258b with actor user
|
|
5
|
+
driver: maestro
|
|
6
|
+
platform: web
|
|
7
|
+
target:
|
|
8
|
+
base_url: http://localhost:3020
|
|
9
|
+
flow: null
|
|
10
|
+
recovery:
|
|
11
|
+
enabled: false
|
|
12
|
+
max_attempts: 1
|
|
13
|
+
timeout_ms: 30000
|
|
14
|
+
journey_revision: 2
|
|
15
|
+
suites:
|
|
16
|
+
- id: default
|
|
17
|
+
runs: on_demand
|
|
18
|
+
journeys:
|
|
19
|
+
- id: flow:screen-to-blockers-091d258b
|
|
20
|
+
actor: user
|
|
21
|
+
goal: "Complete journey: flow:screen-to-blockers-091d258b"
|
|
22
|
+
capabilities_required: []
|
|
23
|
+
preconditions:
|
|
24
|
+
- Test tenant / sandbox is active
|
|
25
|
+
- Actor account exists
|
|
26
|
+
steps:
|
|
27
|
+
- node_id: screen:/
|
|
28
|
+
action: navigate:Blockers
|
|
29
|
+
proofs:
|
|
30
|
+
- type: navigation
|
|
31
|
+
expects: screen:/blockers
|
|
32
|
+
- type: dom
|
|
33
|
+
expects: "screen source: runtime-verified"
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
version: 2
|
|
2
|
+
id: flow_screen-to-devices-cad72f75
|
|
3
|
+
name: "Journey: flow:screen-to-devices-cad72f75"
|
|
4
|
+
description: Generated plan for journey flow:screen-to-devices-cad72f75 with actor user
|
|
5
|
+
driver: playwright
|
|
6
|
+
platform: web
|
|
7
|
+
target:
|
|
8
|
+
base_url: http://localhost:3020
|
|
9
|
+
flow: null
|
|
10
|
+
recovery:
|
|
11
|
+
enabled: false
|
|
12
|
+
max_attempts: 1
|
|
13
|
+
timeout_ms: 30000
|
|
14
|
+
journey_revision: 2
|
|
15
|
+
suites:
|
|
16
|
+
- id: default
|
|
17
|
+
runs: on_demand
|
|
18
|
+
journeys:
|
|
19
|
+
- id: flow:screen-to-devices-cad72f75
|
|
20
|
+
actor: user
|
|
21
|
+
goal: "Complete journey: flow:screen-to-devices-cad72f75"
|
|
22
|
+
capabilities_required: []
|
|
23
|
+
preconditions:
|
|
24
|
+
- Test tenant / sandbox is active
|
|
25
|
+
- Actor account exists
|
|
26
|
+
steps:
|
|
27
|
+
- node_id: screen:/
|
|
28
|
+
action: navigate:Devices
|
|
29
|
+
proofs:
|
|
30
|
+
- type: navigation
|
|
31
|
+
expects: screen:/devices
|
|
32
|
+
- type: dom
|
|
33
|
+
expects: "screen source: rendered-dom"
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
version: 2
|
|
2
|
+
id: flow_screen-to-evidence-6c3ab309
|
|
3
|
+
name: "Journey: Open the app → Open Evidence"
|
|
4
|
+
description: >
|
|
5
|
+
Executable plan for flow:screen-to-evidence-6c3ab309 (revision 2) derived from
|
|
6
|
+
grounded test case assumptions in flow-screen-to-evidence-6c3ab309.json and
|
|
7
|
+
App UI audit flow-screen-to-evidence-6c3ab309 (62 controls audited across
|
|
8
|
+
overview, App Audit, and evidence routes). Key finding: /evidence mounts
|
|
9
|
+
section=audits so the dedicated screenshot evidence list is hidden until fixed.
|
|
10
|
+
driver: playwright
|
|
11
|
+
platform: web
|
|
12
|
+
target:
|
|
13
|
+
base_url: http://localhost:3020
|
|
14
|
+
flow: flows/flow_screen-to-evidence-6c3ab309.yaml
|
|
15
|
+
recovery:
|
|
16
|
+
enabled: false
|
|
17
|
+
max_attempts: 1
|
|
18
|
+
timeout_ms: 30000
|
|
19
|
+
journey_revision: 2
|
|
20
|
+
case_set_id: flow-screen-to-evidence-6c3ab309
|
|
21
|
+
suites:
|
|
22
|
+
- id: default
|
|
23
|
+
runs: on_demand
|
|
24
|
+
journeys:
|
|
25
|
+
- id: flow:screen-to-evidence-6c3ab309
|
|
26
|
+
actor: user
|
|
27
|
+
goal: "Navigate overview → App Audit → Open screenshot evidence at /evidence"
|
|
28
|
+
capabilities_required:
|
|
29
|
+
- auth.login
|
|
30
|
+
preconditions:
|
|
31
|
+
- Aegis-authenticated dashboard session is active (sign in through dashboard OAuth)
|
|
32
|
+
- Local QA dashboard is running at http://localhost:3020
|
|
33
|
+
- Actor user is defined in roles.yaml with project membership
|
|
34
|
+
- Project context bugmole is selected (?project=bugmole)
|
|
35
|
+
steps:
|
|
36
|
+
- node_id: screen:/
|
|
37
|
+
case_id: TC-overview-renders
|
|
38
|
+
action: navigate:/
|
|
39
|
+
proofs:
|
|
40
|
+
- type: dom
|
|
41
|
+
expects: "visible:h1[text='Quality, as a flow.']"
|
|
42
|
+
- type: dom
|
|
43
|
+
expects: "visible:.qa-header"
|
|
44
|
+
- type: dom
|
|
45
|
+
expects: "visible:nav a[href*='/audits']"
|
|
46
|
+
- type: navigation
|
|
47
|
+
expects: screen:/
|
|
48
|
+
- node_id: screen:/
|
|
49
|
+
case_id: TC-overview-to-app-audit
|
|
50
|
+
edge_id: screen:/->screen:/audits:dom-4
|
|
51
|
+
action: navigate:/audits
|
|
52
|
+
proofs:
|
|
53
|
+
- type: navigation
|
|
54
|
+
expects: screen:/audits
|
|
55
|
+
- type: dom
|
|
56
|
+
expects: "visible:h1[text='Every control, accounted for.']"
|
|
57
|
+
- type: dom
|
|
58
|
+
expects: "visible:.evidence-summary"
|
|
59
|
+
- type: dom
|
|
60
|
+
expects: "visible:a.text-link[href*='/evidence'][text*='Open screenshot evidence']"
|
|
61
|
+
- node_id: screen:/audits
|
|
62
|
+
case_id: TC-audits-workspace-renders
|
|
63
|
+
action: verify:app-audit-panel
|
|
64
|
+
proofs:
|
|
65
|
+
- type: dom
|
|
66
|
+
expects: "visible:.panel.evidence-panel"
|
|
67
|
+
- type: dom
|
|
68
|
+
expects: "visible:.run-summary strong"
|
|
69
|
+
- type: dom
|
|
70
|
+
expects: "screen source: apps/qa/src/app/audits/page.tsx section=audits"
|
|
71
|
+
- node_id: screen:/audits
|
|
72
|
+
case_id: TC-audits-to-evidence-link
|
|
73
|
+
edge_id: screen:/audits->screen:/evidence:dom-7
|
|
74
|
+
action: click:open-screenshot-evidence
|
|
75
|
+
proofs:
|
|
76
|
+
- type: navigation
|
|
77
|
+
expects: screen:/evidence
|
|
78
|
+
- type: dom
|
|
79
|
+
expects: "url contains /evidence?project=bugmole"
|
|
80
|
+
- type: dom
|
|
81
|
+
expects: "visible:.evidence-summary"
|
|
82
|
+
- node_id: screen:/evidence
|
|
83
|
+
case_id: TC-evidence-route-section-bug
|
|
84
|
+
action: verify:evidence-section-regression
|
|
85
|
+
proofs:
|
|
86
|
+
- type: dom
|
|
87
|
+
expects: "visible:.evidence-summary"
|
|
88
|
+
- type: dom
|
|
89
|
+
expects: "absent:.evidence-list .evidence-row"
|
|
90
|
+
- type: dom
|
|
91
|
+
expects: "absent:a.text-link[text*='Browse all test cases']"
|
|
92
|
+
- type: dom
|
|
93
|
+
expects: "screen source: apps/qa/src/app/evidence/page.tsx section=audits"
|
|
94
|
+
variants:
|
|
95
|
+
- id: unauthenticated_redirect
|
|
96
|
+
case_id: TC-dashboard-auth-redirect
|
|
97
|
+
preconditions:
|
|
98
|
+
- Aegis session cookie is cleared or absent
|
|
99
|
+
steps:
|
|
100
|
+
- node_id: screen:/
|
|
101
|
+
action: navigate:/
|
|
102
|
+
proofs:
|
|
103
|
+
- type: navigation
|
|
104
|
+
expects: screen:/login
|
|
105
|
+
- type: dom
|
|
106
|
+
expects: "screen source: src/app/login/page.tsx"
|
|
107
|
+
- id: evidence_list_after_section_fix
|
|
108
|
+
case_id: TC-evidence-list-blocked
|
|
109
|
+
preconditions:
|
|
110
|
+
- apps/qa/src/app/evidence/page.tsx passes section='evidence'
|
|
111
|
+
- bugmole serve handoff provides local screenshot artifacts for project bugmole
|
|
112
|
+
steps:
|
|
113
|
+
- node_id: screen:/evidence
|
|
114
|
+
action: navigate:/evidence
|
|
115
|
+
proofs:
|
|
116
|
+
- type: dom
|
|
117
|
+
expects: "visible:.evidence-list .evidence-row"
|
|
118
|
+
- type: dom
|
|
119
|
+
expects: "visible:a.text-link[href*='/plans'][text*='Browse all test cases']"
|
|
120
|
+
- node_id: screen:/evidence
|
|
121
|
+
action: click:first-evidence-row
|
|
122
|
+
proofs:
|
|
123
|
+
- type: dom
|
|
124
|
+
expects: "visible:.evidence-modal"
|
|
125
|
+
- type: dom
|
|
126
|
+
expects: "visible:button.close-button"
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
version: 2
|
|
2
|
+
id: flow_screen-to-parity-issues-2218e3ad
|
|
3
|
+
name: "Journey: flow:screen-to-parity-issues-2218e3ad"
|
|
4
|
+
description: Generated plan for journey flow:screen-to-parity-issues-2218e3ad
|
|
5
|
+
with actor user
|
|
6
|
+
driver: maestro
|
|
7
|
+
platform: web
|
|
8
|
+
target:
|
|
9
|
+
base_url: http://localhost:3020
|
|
10
|
+
flow: null
|
|
11
|
+
recovery:
|
|
12
|
+
enabled: false
|
|
13
|
+
max_attempts: 1
|
|
14
|
+
timeout_ms: 30000
|
|
15
|
+
journey_revision: 2
|
|
16
|
+
suites:
|
|
17
|
+
- id: default
|
|
18
|
+
runs: on_demand
|
|
19
|
+
journeys:
|
|
20
|
+
- id: flow:screen-to-parity-issues-2218e3ad
|
|
21
|
+
actor: user
|
|
22
|
+
goal: "Complete journey: flow:screen-to-parity-issues-2218e3ad"
|
|
23
|
+
capabilities_required: []
|
|
24
|
+
preconditions:
|
|
25
|
+
- Test tenant / sandbox is active
|
|
26
|
+
- Actor account exists
|
|
27
|
+
steps:
|
|
28
|
+
- node_id: screen:/
|
|
29
|
+
action: navigate:Parity bugs
|
|
30
|
+
proofs:
|
|
31
|
+
- type: navigation
|
|
32
|
+
expects: screen:/parity/issues
|
|
33
|
+
- type: dom
|
|
34
|
+
expects: "screen source: rendered-dom"
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
version: 2
|
|
2
|
+
id: flow_screen-to-plans-8232a94f
|
|
3
|
+
name: "Journey: flow:screen-to-plans-8232a94f"
|
|
4
|
+
description: Generated plan for journey flow:screen-to-plans-8232a94f with actor user
|
|
5
|
+
driver: maestro
|
|
6
|
+
platform: web
|
|
7
|
+
target:
|
|
8
|
+
base_url: http://localhost:3020
|
|
9
|
+
flow: null
|
|
10
|
+
recovery:
|
|
11
|
+
enabled: false
|
|
12
|
+
max_attempts: 1
|
|
13
|
+
timeout_ms: 30000
|
|
14
|
+
journey_revision: 3
|
|
15
|
+
suites:
|
|
16
|
+
- id: default
|
|
17
|
+
runs: on_demand
|
|
18
|
+
journeys:
|
|
19
|
+
- id: flow:screen-to-plans-8232a94f
|
|
20
|
+
actor: user
|
|
21
|
+
goal: "Complete journey: flow:screen-to-plans-8232a94f"
|
|
22
|
+
capabilities_required: []
|
|
23
|
+
preconditions:
|
|
24
|
+
- Test tenant / sandbox is active
|
|
25
|
+
- Actor account exists
|
|
26
|
+
steps:
|
|
27
|
+
- node_id: screen:/
|
|
28
|
+
action: navigate:Test plans
|
|
29
|
+
proofs:
|
|
30
|
+
- type: navigation
|
|
31
|
+
expects: screen:/plans
|
|
32
|
+
- type: dom
|
|
33
|
+
expects: "screen source: discovered application code"
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
version: 2
|
|
2
|
+
id: flow_screen-to-tasks-540671d1
|
|
3
|
+
name: "Journey: flow:screen-to-tasks-540671d1"
|
|
4
|
+
description: Generated plan for journey flow:screen-to-tasks-540671d1 with actor user
|
|
5
|
+
driver: maestro
|
|
6
|
+
platform: web
|
|
7
|
+
target:
|
|
8
|
+
base_url: http://localhost:3020
|
|
9
|
+
flow: null
|
|
10
|
+
recovery:
|
|
11
|
+
enabled: false
|
|
12
|
+
max_attempts: 1
|
|
13
|
+
timeout_ms: 30000
|
|
14
|
+
journey_revision: 2
|
|
15
|
+
suites:
|
|
16
|
+
- id: default
|
|
17
|
+
runs: on_demand
|
|
18
|
+
journeys:
|
|
19
|
+
- id: flow:screen-to-tasks-540671d1
|
|
20
|
+
actor: user
|
|
21
|
+
goal: "Complete journey: flow:screen-to-tasks-540671d1"
|
|
22
|
+
capabilities_required: []
|
|
23
|
+
preconditions:
|
|
24
|
+
- Test tenant / sandbox is active
|
|
25
|
+
- Actor account exists
|
|
26
|
+
steps:
|
|
27
|
+
- node_id: screen:/
|
|
28
|
+
action: navigate:Agent tasks
|
|
29
|
+
proofs:
|
|
30
|
+
- type: navigation
|
|
31
|
+
expects: screen:/tasks
|
|
32
|
+
- type: dom
|
|
33
|
+
expects: "screen source: rendered-dom"
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
version: 1
|
|
2
|
+
id: login
|
|
3
|
+
name: "Journey: login"
|
|
4
|
+
description: Generated plan for journey login with actor public_customer
|
|
5
|
+
suites:
|
|
6
|
+
- id: default
|
|
7
|
+
runs: on_demand
|
|
8
|
+
journeys:
|
|
9
|
+
- id: login
|
|
10
|
+
actor: public_customer
|
|
11
|
+
goal: "Complete journey: login"
|
|
12
|
+
capabilities_required: []
|
|
13
|
+
preconditions:
|
|
14
|
+
- Test tenant / sandbox is active
|
|
15
|
+
- Actor account exists
|
|
16
|
+
steps:
|
|
17
|
+
- action: navigate:/api/auth/login
|
|
18
|
+
proofs:
|
|
19
|
+
- type: navigation
|
|
20
|
+
expects: screen:/api/auth/login
|
|
21
|
+
- type: dom
|
|
22
|
+
expects: "screen source: src/app/login/page.tsx"
|