Files
CRM_AGENTES_CARGA/frontend/src/lib/utils.getFileHelpers.test.ts

46 lines
1.5 KiB
TypeScript

import { describe, it, expect } from 'vitest'
import { getFileNameFromPath, getFileDisplayName } from './utils'
describe('getFileNameFromPath', () => {
it('devuelve string vacío si recibe null', () => {
expect(getFileNameFromPath(null)).toBe('')
})
it('devuelve string vacío si recibe undefined', () => {
expect(getFileNameFromPath(undefined)).toBe('')
})
it('devuelve solo el nombre del archivo', () => {
expect(getFileNameFromPath('/uploads/avatars/file.png')).toBe('file.png')
})
it('devuelve nombre sin query string', () => {
expect(getFileNameFromPath('/uploads/file.png?token=123')).toBe('file.png')
})
})
describe('getFileDisplayName', () => {
it('devuelve label por defecto si filePath es null', () => {
expect(getFileDisplayName(null)).toBe('Seleccionar archivo')
})
it('devuelve label por defecto si filePath es undefined', () => {
expect(getFileDisplayName(undefined)).toBe('Seleccionar archivo')
})
it('devuelve label personalizado si se pasa defaultLabel', () => {
expect(getFileDisplayName(null, undefined, 'Subir archivo')).toBe('Subir archivo')
})
it('devuelve solo el nombre del archivo sin fileType', () => {
expect(getFileDisplayName('/uploads/file.png')).toBe('file.png')
})
it('devuelve nombre con tipo en mayúsculas', () => {
expect(getFileDisplayName('/uploads/file.png', 'pdf')).toBe('file.png (PDF)')
})
})