mirror of
https://github.com/cpvalente/ontime.git
synced 2026-08-12 02:43:50 +00:00
refactor(views): use react-query's isLoadingError instead of reimplementing it
deriveQueryStatus previously inferred "never received data" by checking data !== undefined itself. TanStack Query already computes and exposes this exact distinction as isLoadingError (isError && no data) vs isRefetchError (isError && data present) on every useQuery result, so consume that directly instead of duplicating the logic.
This commit is contained in:
@@ -1,16 +1,14 @@
|
||||
import { deriveQueryStatus } from '../queryUtils';
|
||||
|
||||
test('keeps pending and success statuses unchanged', () => {
|
||||
expect(deriveQueryStatus('pending', undefined)).toBe('pending');
|
||||
expect(deriveQueryStatus('success', { some: 'data' })).toBe('success');
|
||||
expect(deriveQueryStatus('pending', false)).toBe('pending');
|
||||
expect(deriveQueryStatus('success', false)).toBe('success');
|
||||
});
|
||||
|
||||
test('keeps error status when there is no data', () => {
|
||||
expect(deriveQueryStatus('error', undefined)).toBe('error');
|
||||
test('keeps error status on a genuine loading error (no data ever received)', () => {
|
||||
expect(deriveQueryStatus('error', true)).toBe('error');
|
||||
});
|
||||
|
||||
test('downgrades error to success when data is still available', () => {
|
||||
expect(deriveQueryStatus('error', { some: 'data' })).toBe('success');
|
||||
expect(deriveQueryStatus('error', [])).toBe('success');
|
||||
expect(deriveQueryStatus('error', 0)).toBe('success');
|
||||
test('downgrades error to success on a refetch error (data still available)', () => {
|
||||
expect(deriveQueryStatus('error', false)).toBe('success');
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user