58 lines
2.4 KiB
Markdown
58 lines
2.4 KiB
Markdown
# 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.
|
|
|