mirror of
https://github.com/mauriceboe/TREK.git
synced 2026-10-20 14:06:27 +00:00
test(pages): cover the page hooks, stores and the api client
This commit is contained in:
@@ -0,0 +1,35 @@
|
||||
// FE-W4UTL-001 to FE-W4UTL-006
|
||||
import { describe, it, expect } from 'vitest'
|
||||
import { getApiErrorMessage } from './apiError'
|
||||
|
||||
describe('getApiErrorMessage', () => {
|
||||
it('FE-W4UTL-001: returns the server-provided error string', () => {
|
||||
const err = { response: { data: { error: 'Places API (New) has not been used in project 42' } } }
|
||||
expect(getApiErrorMessage(err, 'fallback')).toBe('Places API (New) has not been used in project 42')
|
||||
})
|
||||
|
||||
it('FE-W4UTL-002: falls back when the error field is missing', () => {
|
||||
expect(getApiErrorMessage({ response: { data: {} } }, 'fallback')).toBe('fallback')
|
||||
expect(getApiErrorMessage({ response: {} }, 'fallback')).toBe('fallback')
|
||||
expect(getApiErrorMessage({}, 'fallback')).toBe('fallback')
|
||||
})
|
||||
|
||||
it('FE-W4UTL-003: falls back for null/undefined errors', () => {
|
||||
expect(getApiErrorMessage(null, 'fallback')).toBe('fallback')
|
||||
expect(getApiErrorMessage(undefined, 'fallback')).toBe('fallback')
|
||||
})
|
||||
|
||||
it('FE-W4UTL-004: falls back for a whitespace-only server message', () => {
|
||||
expect(getApiErrorMessage({ response: { data: { error: ' ' } } }, 'fallback')).toBe('fallback')
|
||||
expect(getApiErrorMessage({ response: { data: { error: '' } } }, 'fallback')).toBe('fallback')
|
||||
})
|
||||
|
||||
it('FE-W4UTL-005: falls back for a non-string server message', () => {
|
||||
expect(getApiErrorMessage({ response: { data: { error: { code: 500 } } } }, 'fallback')).toBe('fallback')
|
||||
expect(getApiErrorMessage({ response: { data: { error: 42 } } }, 'fallback')).toBe('fallback')
|
||||
})
|
||||
|
||||
it('FE-W4UTL-006: keeps surrounding whitespace of a real message', () => {
|
||||
expect(getApiErrorMessage({ response: { data: { error: ' boom ' } } }, 'fallback')).toBe(' boom ')
|
||||
})
|
||||
})
|
||||
Reference in New Issue
Block a user