chore: baseline plantilla-proyectos como base del CRM
This commit is contained in:
46
frontend/src/lib/utils.getFileHelpers.test.ts
Normal file
46
frontend/src/lib/utils.getFileHelpers.test.ts
Normal file
@@ -0,0 +1,46 @@
|
||||
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)')
|
||||
})
|
||||
|
||||
})
|
||||
Reference in New Issue
Block a user