fix: surface Spotify quota exhaustion
Some checks are pending
ci / backend (push) Waiting to run
ci / frontend (push) Waiting to run

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Justin Visser 2026-08-11 22:07:06 +02:00
parent 358d058392
commit bfea9efb5e
6 changed files with 97 additions and 10 deletions

View file

@ -166,6 +166,34 @@ describe('result presentation', () => {
expect(onPick).toHaveBeenCalledWith('Focus')
})
it('renders a quota error without retry and keeps the demo escape hatch', () => {
const turn: AssistantTurn = {
...doneTurn(),
status: 'error',
tracks: [],
warnings: [],
error: {
type: 'error',
code: 'quota_exhausted',
message: "Spotify's Development Mode quota is temporarily exhausted.",
},
completion: null,
}
const demoUrl = 'https://demo.example.com'
const root = mountComponent(AssistantMessage, {
turn,
canSave: false,
demoUrl,
})
const alert = root.querySelector<HTMLElement>('[role="alert"]')
const demoLink = alert?.querySelector<HTMLAnchorElement>('a')
expect(alert?.dataset.errorCode).toBe('quota_exhausted')
expect(alert?.querySelector('button')).toBeNull()
expect(demoLink?.href).toBe(`${demoUrl}/`)
expect(demoLink?.textContent).toContain('Open the demo instance')
})
it('renders a first-stage stream error with its code and message', () => {
const turn: AssistantTurn = {
...doneTurn(),