fix(pii): remove real member names tied to payments
- Scrub three parity fixtures that still held raw bank messages - Use fictional names in the junior regression test, its changelog entry and its plan file - State the rule in CLAUDE.md: a real name as a bare test input is fine; a real name next to payment details, or any junior or parent name, is not - Tick T4 in the cleanup task list Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -51,21 +51,21 @@ class TestMatchMembersExact(unittest.TestCase):
|
||||
def test_shared_first_name_junior_in_roster_wins_exact(self):
|
||||
# Regression: two members share first name "Jáchym"; message has full name
|
||||
# of the junior-only member → exact match must win, no [?] on the adult.
|
||||
roster = ["Jáchym Hrušák (G)", "Jáchym Kubík"]
|
||||
roster = ["Jáchym Novotný (G)", "Jáchym Dvořák"]
|
||||
result = match_members(
|
||||
"JIŘÍ KUBÍK Jáchym Kubík: 01/2026+03/2026+04/2026", roster
|
||||
"JIŘÍ DVOŘÁK Jáchym Dvořák: 01/2026+03/2026+04/2026", roster
|
||||
)
|
||||
self.assertEqual(result, [("Jáchym Kubík", "auto")])
|
||||
self.assertEqual(result, [("Jáchym Dvořák", "auto")])
|
||||
|
||||
def test_shared_first_name_without_junior_in_roster_falls_back(self):
|
||||
# Without Kubík in the roster (old behaviour), Hrušák wins via first-name
|
||||
# Without Dvořák in the roster (old behaviour), Novotný wins via first-name
|
||||
# partial match — confirms the roster-expansion fix is the real solution.
|
||||
roster = ["Jáchym Hrušák (G)"]
|
||||
roster = ["Jáchym Novotný (G)"]
|
||||
result = match_members(
|
||||
"JIŘÍ KUBÍK Jáchym Kubík: 01/2026+03/2026+04/2026", roster
|
||||
"JIŘÍ DVOŘÁK Jáchym Dvořák: 01/2026+03/2026+04/2026", roster
|
||||
)
|
||||
names = [r[0] for r in result]
|
||||
self.assertIn("Jáchym Hrušák (G)", names)
|
||||
self.assertIn("Jáchym Novotný (G)", names)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
|
||||
Reference in New Issue
Block a user