Membership Fee 6 - UI Components & LiveViews closes #280 #304
2 changed files with 1 additions and 58 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
|
@ -44,3 +44,4 @@ npm-debug.log
|
||||||
|
|
||||||
# Docker secrets directory (generated by `just init-secrets`)
|
# Docker secrets directory (generated by `just init-secrets`)
|
||||||
/secrets/
|
/secrets/
|
||||||
|
notes.md
|
||||||
|
|
|
||||||
58
notes.md
58
notes.md
|
|
@ -1,58 +0,0 @@
|
||||||
# User-Member Association - Test Status
|
|
||||||
|
|
||||||
## Test Files Created/Modified
|
|
||||||
|
|
||||||
### 1. test/membership/member_available_for_linking_test.exs (NEU)
|
|
||||||
**Status**: Alle Tests sollten FEHLSCHLAGEN ❌
|
|
||||||
**Grund**: Die `:available_for_linking` Action existiert noch nicht
|
|
||||||
|
|
||||||
Tests:
|
|
||||||
- ✗ returns only unlinked members and limits to 10
|
|
||||||
- ✗ limits results to 10 members even when more exist
|
|
||||||
- ✗ email match: returns only member with matching email when exists
|
|
||||||
- ✗ email match: returns all unlinked members when no email match
|
|
||||||
- ✗ search query: filters by first_name, last_name, and email
|
|
||||||
- ✗ email match takes precedence over search query
|
|
||||||
|
|
||||||
### 2. test/accounts/user_member_linking_test.exs (NEU)
|
|
||||||
**Status**: Tests sollten teilweise ERFOLGREICH sein ✅ / teilweise FEHLSCHLAGEN ❌
|
|
||||||
|
|
||||||
Tests:
|
|
||||||
- ✓ link user to member with different email syncs member email (sollte BESTEHEN - Email-Sync ist implementiert)
|
|
||||||
- ✓ unlink member from user sets member to nil (sollte BESTEHEN - Unlink ist implementiert)
|
|
||||||
- ✓ cannot link member already linked to another user (sollte BESTEHEN - Validierung existiert)
|
|
||||||
- ✓ cannot change member link directly, must unlink first (sollte BESTEHEN - Validierung existiert)
|
|
||||||
|
|
||||||
### 3. test/mv_web/user_live/form_test.exs (ERWEITERT)
|
|
||||||
**Status**: Alle neuen Tests sollten FEHLSCHLAGEN ❌
|
|
||||||
**Grund**: Member-Linking UI ist noch nicht implementiert
|
|
||||||
|
|
||||||
Neue Tests:
|
|
||||||
- ✗ shows linked member with unlink button when user has member
|
|
||||||
- ✗ shows member search field when user has no member
|
|
||||||
- ✗ selecting member and saving links member to user
|
|
||||||
- ✗ unlinking member and saving removes member from user
|
|
||||||
|
|
||||||
### 4. test/mv_web/user_live/index_test.exs (ERWEITERT)
|
|
||||||
**Status**: Neuer Test sollte FEHLSCHLAGEN ❌
|
|
||||||
**Grund**: Member-Spalte wird noch nicht in der Index-View angezeigt
|
|
||||||
|
|
||||||
Neuer Test:
|
|
||||||
- ✗ displays linked member name in user list
|
|
||||||
|
|
||||||
## Zusammenfassung
|
|
||||||
|
|
||||||
**Tests gesamt**: 13
|
|
||||||
**Sollten BESTEHEN**: 4 (Backend-Validierungen bereits vorhanden)
|
|
||||||
**Sollten FEHLSCHLAGEN**: 9 (Features noch nicht implementiert)
|
|
||||||
|
|
||||||
## Nächste Schritte
|
|
||||||
|
|
||||||
1. Implementiere `:available_for_linking` Action in `lib/membership/member.ex`
|
|
||||||
2. Erstelle `MemberAutocompleteComponent` in `lib/mv_web/live/components/member_autocomplete_component.ex`
|
|
||||||
3. Integriere Member-Linking UI in `lib/mv_web/live/user_live/form.ex`
|
|
||||||
4. Füge Member-Spalte zu `lib/mv_web/live/user_live/index.ex` hinzu
|
|
||||||
5. Füge Gettext-Übersetzungen hinzu
|
|
||||||
|
|
||||||
Nach jeder Implementierung: Tests erneut ausführen und prüfen, ob sie grün werden.
|
|
||||||
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue