Input
`fetchData` rejects
Output
`error-message` and `retry-button` appear; `loading-indicator` is hidden
A data fetcher component loads items but silently swallows errors with no recovery path. Extend it: show `data-testid="loading-indicator"` while pending; on rejection show `data-testid="error-message"` and `data-testid=...
App.tsxEditable starter`fetchData` rejects
`error-message` and `retry-button` appear; `loading-indicator` is hidden
How would you add a maximum retry count (e.g. give up after 3 attempts) without changing the existing test behavior?