Parent
#64
What to build
Convert the three existing component tests that mock a query hook directly — GenreBadge, StageBadge, StagePin — onto the integration-test harness from #280. These aren't actually presentational (they call their query hook internally), so under the "no mocks" policy they belong in the integration tier. The container/presentational split that would eventually let render-only tests drop the Supabase dependency again is tracked separately in #277 and is out of scope here.
Acceptance criteria
Blocked by
Parent
#64
What to build
Convert the three existing component tests that mock a query hook directly —
GenreBadge,StageBadge,StagePin— onto the integration-test harness from #280. These aren't actually presentational (they call their query hook internally), so under the "no mocks" policy they belong in the integration tier. The container/presentational split that would eventually let render-only tests drop the Supabase dependency again is tracked separately in #277 and is out of scope here.*.integration.test.tsand runs through the harness core from Integration-test tier scaffold + harness core, proven by useGenresQuery #280 against real Supabase data, instead ofvi.mock/vi.spyOnon the hook.Acceptance criteria
GenreBadge.test.tsx,StageBadge's test, andStagePin.test.tsxno longer mockuseSuspenseQueryor their respective query hooks.pnpm test:integrationagainst real local Supabase.Blocked by