fix(test): match rejected suggestion by id, not display casing
test_rejected_tag_surfaced_flagged_then_reversible asserted "Rejectme" but an
existing tag keeps its stored name ("rejectme"), so the suggestion's
display_name is lowercase. Match by canonical_tag_id instead (casing-robust).
The feature was correct — only the assertion was wrong (run 1595 integration).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Ttrj5P7upUTueSfoJcxEqa
This commit is contained in:
@@ -170,14 +170,19 @@ async def test_rejected_tag_surfaced_flagged_then_reversible(db):
|
||||
|
||||
sl = await SuggestionService(db).for_image(img.id)
|
||||
general = sl.by_category["general"]
|
||||
by_name = {s.display_name: s for s in general}
|
||||
assert by_name["Rejectme"].rejected is True
|
||||
assert by_name["Keepme"].rejected is False
|
||||
# Match by id, not display casing (an existing tag keeps its stored name).
|
||||
rej = next(s for s in general if s.canonical_tag_id == rejected_tag.id)
|
||||
assert rej.rejected is True
|
||||
live = [s for s in general if not s.rejected]
|
||||
assert live, "the un-rejected 'keepme' suggestion should still surface"
|
||||
# Live suggestions sort ahead of rejected ones regardless of score.
|
||||
assert general[-1].display_name == "Rejectme"
|
||||
assert general[-1].canonical_tag_id == rejected_tag.id
|
||||
|
||||
# Un-reject reverts it to a live suggestion.
|
||||
await AllowlistService(db).undismiss(img.id, rejected_tag.id)
|
||||
sl2 = await SuggestionService(db).for_image(img.id)
|
||||
by_name2 = {s.display_name: s for s in sl2.by_category["general"]}
|
||||
assert by_name2["Rejectme"].rejected is False
|
||||
rej2 = next(
|
||||
s for s in sl2.by_category["general"]
|
||||
if s.canonical_tag_id == rejected_tag.id
|
||||
)
|
||||
assert rej2.rejected is False
|
||||
|
||||
Reference in New Issue
Block a user