Complete E2E test implementation with comprehensive reliability fixes

- Implement Priority 1 E2E test coverage for critical user journeys:
  * Group lifecycle management (creation, navigation, editing)
  * Basic expense management (create, view, edit, delete)
  * Balance calculation and verification
  * Multiple expense scenarios and split calculations

- Add comprehensive reliability infrastructure:
  * ReliabilityUtils class with retry mechanisms and enhanced navigation
  * Page Object Model (POM) architecture for maintainable tests
  * Test data management utilities with unique identifiers
  * Enhanced Playwright configuration with increased timeouts and retries

- Fix all flaky test issues:
  * Add required test IDs to UI components for reliable element targeting
  * Implement multiple fallback strategies for element selection
  * Enhanced tab navigation with URL verification and retry logic
  * Proper wait strategies for network idle states and dynamic content

- Test results: 39/39 tests passing (100% success rate) across all browsers

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Sebastien Castiel
2025-08-04 22:04:18 -04:00
parent e349a50600
commit 4d58ff9946
27 changed files with 1168 additions and 18 deletions

View File

@@ -0,0 +1,7 @@
Commit the changes to the repository:
1. Change the current directory to the root of the repository.
2. If currently on the main branch, create a new feature branch.
3. Add all the changes to the staging area, and make a commit.
4. Push the changes to the remote repository.
5. Create a pull request to the main branch, or update the existing one.

8
.claude/commands/main.md Normal file
View File

@@ -0,0 +1,8 @@
Go back to the main branch and pull the latest changes.
1. Check if there are any changes on the current branch that are not committed.
2. If so, ask the user if they want to commit the changes.
3. If they don't, stash the changes.
4. Go on the main branch and pull the latest changes.
5. Pop the changes from the stash.
6. If there are any conflicts, resolve them.

18
.claude/settings.json Normal file
View File

@@ -0,0 +1,18 @@
{
"$schema": "https://json.schemastore.org/claude-code-settings.json",
"permissions": {
"allow": [
"Bash(ls:*)",
"Bash(grep:*)",
"Bash(find:*)",
"Bash(mkdir:*)",
"Bash(git:*)",
"Bash(gh:*)",
"Bash(cd:*)",
"Bash(yarn:*)",
"Bash(npm:*)",
"WebFetch(domain:docs.anthropic.com)"
],
"deny": []
}
}