This document serves as a guide for new developers participating in the project. It provides an overview of the project’s directory structure and describes the purpose of each component.
Contains the utility logic, helpers, mock datas and shared services, including:
- _mock (mock data)
- constants
- datafactory
- fixtures
- forms
- Pages
- helpers
- Services
This directory contains all automated test cases, organized by feature area:
-
1-wallet-connect/
Wallet connection test cases. -
2-delegation/
Delegation functionality and visibility tests for delegated wallets. -
3-drep-registration/
dRep registration, editing functionality, validation, and visibility test cases. -
4-proposal-visibility/
Voting visibility tests for voting pillars. -
5-proposal-functionality/
Voting functionality tests and validation of voting metadata. -
6-miscellaneous/
Miscellaneous tests, such as documentation URL checks. -
7-proposal-submission/
Proposal submission form validation, visibility, draft handling, and submission tests. -
8-proposal-discussion/
Tests related to proposal discussions adjacent to the submission form. -
9-outcomes/
Tests related to proposal outcome visibility and validations. -
10-user-snap/
Usersnap-related test cases. -
11-proposal-budget/
Tests for proposal budget functionality and associated forms. -
12-proposal-budget-submission/
Proposal budget submission form validation, draft, visibility, and submission tests.
-
adaholder.auth.setup.ts
Sets up authentication for adaHolder wallets. -
user.auth.setup.ts
Sets up authentication for user wallets. -
proposal-budget.auth.setup.ts
Authentication setup for proposal budget wallets. -
proposal-discussion.auth.setup.ts
Authentication setup for proposal discussion wallets. -
dRep.auth.setup.ts
Authentication setup for dRep wallets. -
dRep.setup.ts
Setup for temporary and static dRep wallet registration. -
proposal-budget.dRep.setup.ts
dRep wallet registration setup for proposal budget tests. -
proposal.setup.ts
Setup for proposal submission wallets. -
wallet.bootstrap.ts
Initializes adaHolder and dRep wallets with test funds for spendable ADA functionality.
-
delegation.teardown.ts
Resets delegation status (abstains delegation from delegated wallets). -
faucet.teardown.ts
Refunds all unspendable ADA from test wallets back to the faucet wallet. -
dRep.teardown.ts
Handles deregistration of dRep wallets registered during tests or setup. -
generated-artifacts.teardown.ts
Remove all artifacts generated during test execution
- Use the terminal to run specific test suites using the commands provided in the README.md.
- Ensure all test files are recognized in the Test Explorer.
- Use the Play
▶️ icon to run individual tests directly from the UI.
-
Remove the
CIenvironment variable. -
Navigate to the specific directory where your test is located to run it directly.
Note:
- To run tests without wallet dependency, make sure the required wallet/auth setup has already been completed beforehand.
- To run tests with wallet dependency and generate Allure reports, do not remove the
CIenvironment variable.
This section outlines the core behavioral areas of the Govtool application as captured and tested using Playwright. Visual representations are provided to guide developers in understanding the UI states and interaction flows.
This set of tests covers all key UI and interaction flows related to delegation functionality.
Covers user voting mechanisms, including interface states and validation of voting logic.
Proposal functionality is split into two sub-categories, each with distinct test coverage:
Tracks creation, display, and participation in proposal discussions.
Tracks creation, display, and participation in budget-related proposals.
Tests centered around outcomes from various actions.
Covers all test cases that require the user to be authenticated, and are not included in the delegation, voting, proposal, or outcomes pillars
For a comprehensive view of the project's Playwright architecture, refer to the Excalidraw diagram:








