ApprovalBanner.test.tsx was using vi.spyOn(api, "get").mockResolvedValueOnce()
which was failing when run after ActivityTab.test.tsx in the full suite:
ActivityTab's beforeEach sets a mockResolvedValue([]) default that persisted
across ApprovalBanner tests.
Fix: remove vi.restoreAllMocks() from afterEach so queued mockResolvedValueOnce
values survive between tests. Also fix "POST fails" tests to use
vi.mocked(api.post).mockRejectedValueOnce() instead of vi.spyOn(api, "post")
to avoid overwriting the beforeEach spy.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>