48 lines
1.2 KiB
TypeScript
48 lines
1.2 KiB
TypeScript
import { describe, expect, it } from 'vitest'
|
|
import { buildAuthErrorMessage } from '@/utils/authError'
|
|
|
|
describe('buildAuthErrorMessage', () => {
|
|
it('prefers response detail message when available', () => {
|
|
const message = buildAuthErrorMessage(
|
|
{
|
|
response: {
|
|
data: {
|
|
detail: 'detailed message',
|
|
message: 'plain message'
|
|
}
|
|
},
|
|
},
|
|
{ fallback: 'fallback' }
|
|
)
|
|
expect(message).toBe('detailed message')
|
|
})
|
|
|
|
it('falls back to response message when detail is unavailable', () => {
|
|
const message = buildAuthErrorMessage(
|
|
{
|
|
response: {
|
|
data: {
|
|
message: 'plain message'
|
|
}
|
|
},
|
|
},
|
|
{ fallback: 'fallback' }
|
|
)
|
|
expect(message).toBe('plain message')
|
|
})
|
|
|
|
it('falls back to error.message when response payload is unavailable', () => {
|
|
const message = buildAuthErrorMessage(
|
|
{
|
|
message: 'error message'
|
|
},
|
|
{ fallback: 'fallback' }
|
|
)
|
|
expect(message).toBe('error message')
|
|
})
|
|
|
|
it('uses fallback when no message can be extracted', () => {
|
|
expect(buildAuthErrorMessage({}, { fallback: 'fallback' })).toBe('fallback')
|
|
})
|
|
})
|