# 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.