Skip to content

Rewrite E2E Tests and EAS Build Workflows #57

Description

@Lakes41

Difficulty: Hard

Type: Test

Summary

Rewrite the end-to-end test suite and EAS build workflows so they cover the actual GuildPass Mobile project flows and pass reliably in local, CI, preview, and production build contexts.

Current Behaviour

The project includes Maestro E2E scripts and EAS build profiles, but the test coverage and build workflow need to be reviewed against the current app structure. Existing E2E flows may not fully cover onboarding, wallet connection, guild navigation, QR access checks, deep links, offline states, settings reset, and build-specific configuration. EAS build workflows also need to be validated so development, preview, and production builds complete without configuration drift or placeholder values.

Expected Behaviour

The E2E suite should reflect the real user journey across the app and pass consistently. EAS build workflows should be complete, documented, and reliable across supported profiles. Contributors and maintainers should be able to run tests and builds with clear commands and predictable results.

Suggested Implementation

Audit the current .maestro/ flows, eas.json, app.json, package scripts, README build instructions, and any CI workflow files. Rewrite the Maestro tests around stable testID values and the current Expo Router screens. Add or update flows for onboarding, manual wallet connection, guild list and detail navigation, access check submission, QR scanner fallback behaviour, deep link entry points, settings reset, and error states.

Review EAS build profiles for development, preview, and production. Remove or document placeholder project values, validate environment variables, align build commands with package manager usage, and ensure the workflow can run without local-only assumptions. Update documentation so contributors know how to run E2E tests and trigger EAS builds.

Files or Areas Likely Affected

  • .maestro/
  • .maestro/README.md
  • eas.json
  • app.json
  • package.json
  • .github/workflows/
  • README.md
  • docs/release.md
  • app/
  • src/components/

Acceptance Criteria

  • E2E tests cover onboarding to profile navigation.
  • E2E tests cover manual wallet connection and disconnect/reset flows.
  • E2E tests cover guild list and guild detail navigation.
  • E2E tests cover access check success, denial, validation error, and failed request states.
  • E2E tests cover QR scanner permission or fallback behaviour where simulator support is limited.
  • E2E tests cover supported deep link routes or document any simulator limitations.
  • E2E tests use stable testID selectors instead of fragile text or layout assumptions where possible.
  • pnpm test:e2e runs the full E2E suite successfully in the documented local setup.
  • EAS development, preview, and production profiles are reviewed and aligned with the app’s required environment variables.
  • Placeholder EAS project, submit, or update values are removed, replaced, or clearly documented as maintainer-owned configuration.
  • CI or release workflow documentation explains which checks must pass before building.
  • README and release docs contain accurate commands for E2E testing and EAS builds.

Additional Notes

Assumption: Maestro remains the preferred E2E test runner for this project. If maintainers choose a different mobile E2E tool, this issue should still preserve the same user-flow coverage and build validation goals.

Keep this task focused on making the test and build workflows pass reliably. Avoid adding new product features unless they are required to make the existing flows testable.

Metadata

Metadata

Assignees

Labels

GrantFox OSSIssue tracked in GrantFox OSSMaybe RewardedIssue may be eligible for a GrantFox rewardOfficial CampaignCampaign: Official Campaign

Type

No type

Fields

No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions