mitgliederverwaltung/notes.md
Moritz 3da0ebcb3f
All checks were successful
continuous-integration/drone/push Build is passing
feat: Add keyboard navigation to member linking dropdown
2025-11-27 16:05:56 +01:00

2.4 KiB

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.