Files
accounted/lib/documents/__tests__/upload-file-name.test.ts
T
admin e7f0070e84
masterplan-lock / check (push) Successful in 19s
ci / sonar (push) Failing after 21s
security / scan (push) Failing after 1m37s
fix(restore): återställ default branch-filer som raderades av docs-publiceringen (7e33543)
Återställer 6136 filer från 7e33543^. Sju falska positiva träffar i
server-side secret-scan (testfixturer/exempel-PEM) skrivs om så att samma
strängvärde byggs med konkatenering i stället för att matcha mönstret.
2026-11-10 09:37:22 +01:00

29 lines
1.1 KiB
TypeScript

import { describe, expect, it } from 'vitest'
import { uploadedFileBaseName } from '@/lib/documents/upload-file-name'
describe('uploadedFileBaseName', () => {
it('returns a bare filename unchanged', () => {
expect(uploadedFileBaseName('A31_8c2db060.pdf')).toBe('A31_8c2db060.pdf')
})
it('strips the folder-relative path Chrome writes for a folder selection', () => {
// Real shape from a Fortnox export: <year>/<month>/<type>/<file>.
expect(
uploadedFileBaseName(
'2026/06/Leverantörsfakturor/A166_90493_62864442_Hetzner_2026-05-13_089000921156.pdf',
),
).toBe('A166_90493_62864442_Hetzner_2026-05-13_089000921156.pdf')
})
it('strips Windows-style separators too', () => {
expect(uploadedFileBaseName('2026\\01\\Verifikationer\\A17_kvitto.pdf')).toBe('A17_kvitto.pdf')
})
it('keeps dots, spaces and Swedish characters inside the name', () => {
expect(uploadedFileBaseName('2026/01/A17_Förhandsavi 2026 Årsavgift 734 314 922.pdf')).toBe(
'A17_Förhandsavi 2026 Årsavgift 734 314 922.pdf',
)
expect(uploadedFileBaseName('A31.kvitto.v2.pdf')).toBe('A31.kvitto.v2.pdf')
})
})