Commit Graph

2 Commits

Author SHA1 Message Date
gamer147
ac077dfc13 fix(pack): tutorial pack_open ThenIncludes OwnedItemEntry.Item
Without .ThenInclude(i => i.Item), the OwnedItemEntry.Item nav defaults to a
new ItemEntry() with Id=0 (project_ef_nav_include_pitfall), so the
FirstOrDefault(i => i.Item.Id == ticketItemId) lookup never matched. The
ticket was never decremented and reward_list omitted the post-state entry —
on the next /tutorial/pack_info the pack stayed visible and the client
re-clicked into plain /pack/open, which 501s on type_detail=5.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-28 20:15:31 -04:00
gamer147
5d8a6626bb test(tutorial): add end-to-end capture-replay smoke
Adds TutorialFlowEndToEndTests covering the full fresh-signup flow:
account/update_name → tutorial/update (11→21→31) → update_action →
gift_top → gift_receive (verifies 400 crystal + 100 rupy delta and
31→41 state advance) → pack_info → pack_open (verifies tutorial_step=100
and viewer state END). Includes the set-90001 card-pool seed required by
the tutorial pack resolver (mirrors PackControllerTests pattern).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-28 13:00:18 -04:00