generateFileID.test.js 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. import { describe, expect, it } from '@jest/globals'
  2. import generateFileID from './generateFileID.js'
  3. describe('generateFileID', () => {
  4. it('should take the filename object and produce a lowercase file id made up of uppy- prefix, file name (cleaned up to be lowercase, letters and numbers only), type, relative path (folder) from file.meta.relativePath, size and lastModified date', () => {
  5. const fileObj = {
  6. name: 'fOo0Fi@£$.jpg',
  7. type: 'image/jpeg',
  8. data: {
  9. lastModified: 1498510508000,
  10. size: 2271173,
  11. },
  12. }
  13. expect(generateFileID(fileObj)).toEqual(
  14. 'uppy-foo0fi////jpg-20-53-14-1e-image/jpeg-2271173-1498510508000',
  15. )
  16. expect(generateFileID({
  17. name: 'джумла-джpумлатест.jpg',
  18. type: 'image/jpeg',
  19. data: {
  20. lastModified: 1498510508000,
  21. size: 2271173,
  22. },
  23. })).toEqual(
  24. 'uppy-/////////p/////////jpg-11k-11m-123-11s-11r-11g-1d-11k-11m-123-11s-11r-11g-122-11l-121-122-1e-image/jpeg-2271173-1498510508000',
  25. )
  26. expect(generateFileID({
  27. name: 'hello.jpg',
  28. type: 'image/jpeg',
  29. data: {
  30. lastModified: 1498510508000,
  31. size: 2271173,
  32. },
  33. meta: {
  34. relativePath: 'folder/a',
  35. },
  36. })).toEqual(
  37. 'uppy-hello/jpg-1e-image/jpeg-folder/a-1f-2271173-1498510508000',
  38. )
  39. })
  40. })