Some checks failed
Build & Deploy / 🔍 Prepare (push) Successful in 20s
Build & Deploy / 🧪 QA (push) Failing after 34s
Build & Deploy / 🏗️ Build (push) Has started running
Build & Deploy / 🚀 Deploy (push) Has been cancelled
Build & Deploy / 🧪 Smoke Test (push) Has been cancelled
Build & Deploy / ⚡ Lighthouse (push) Has been cancelled
Build & Deploy / 🔔 Notify (push) Has been cancelled
1 line
4.2 KiB
Plaintext
1 line
4.2 KiB
Plaintext
{"version":3,"sources":["../../src/uploads/mimeTypeValidator.spec.ts"],"sourcesContent":["import { describe, it, expect } from 'vitest'\nimport type { ValidateOptions } from '../fields/config/types'\n\nimport { mimeTypeValidator } from './mimeTypeValidator'\n\nconst options = { siblingData: { filename: 'file.xyz' } } as ValidateOptions<\n undefined,\n undefined,\n undefined\n>\n\ndescribe('mimeTypeValidator', () => {\n it('should validate single mimeType', () => {\n const mimeTypes = ['image/png']\n const validate = mimeTypeValidator(mimeTypes)\n expect(validate('image/png', options)).toBe(true)\n })\n\n it('should validate multiple mimeTypes', () => {\n const mimeTypes = ['image/png', 'application/pdf']\n const validate = mimeTypeValidator(mimeTypes)\n expect(validate('image/png', options)).toBe(true)\n expect(validate('application/pdf', options)).toBe(true)\n })\n\n it('should validate using wildcard', () => {\n const mimeTypes = ['image/*']\n const validate = mimeTypeValidator(mimeTypes)\n expect(validate('image/png', options)).toBe(true)\n expect(validate('image/gif', options)).toBe(true)\n })\n\n it('should validate multiple wildcards', () => {\n const mimeTypes = ['image/*', 'audio/*']\n const validate = mimeTypeValidator(mimeTypes)\n expect(validate('image/png', options)).toBe(true)\n expect(validate('audio/mpeg', options)).toBe(true)\n })\n\n it('should not validate when unmatched', () => {\n const mimeTypes = ['image/png']\n const validate = mimeTypeValidator(mimeTypes)\n expect(validate('audio/mpeg', options)).toBe(\"Invalid file type: 'audio/mpeg'\")\n })\n\n it('should not validate when unmatched - multiple mimeTypes', () => {\n const mimeTypes = ['image/png', 'application/pdf']\n const validate = mimeTypeValidator(mimeTypes)\n expect(validate('audio/mpeg', options)).toBe(\"Invalid file type: 'audio/mpeg'\")\n })\n\n it('should not validate using wildcard - unmatched', () => {\n const mimeTypes = ['image/*']\n const validate = mimeTypeValidator(mimeTypes)\n expect(validate('audio/mpeg', options)).toBe(\"Invalid file type: 'audio/mpeg'\")\n })\n\n it('should not validate multiple wildcards - unmatched', () => {\n const mimeTypes = ['image/*', 'audio/*']\n const validate = mimeTypeValidator(mimeTypes)\n expect(validate('video/mp4', options)).toBe(\"Invalid file type: 'video/mp4'\")\n expect(validate('application/pdf', options)).toBe(\"Invalid file type: 'application/pdf'\")\n })\n\n it('should not error when mimeType is missing', () => {\n const mimeTypes = ['image/*', 'application/pdf']\n const validate = mimeTypeValidator(mimeTypes)\n let value\n expect(validate(value, options)).toBe('Invalid file type')\n })\n})\n"],"names":["describe","it","expect","mimeTypeValidator","options","siblingData","filename","mimeTypes","validate","toBe","value"],"mappings":"AAAA,SAASA,QAAQ,EAAEC,EAAE,EAAEC,MAAM,QAAQ,SAAQ;AAG7C,SAASC,iBAAiB,QAAQ,sBAAqB;AAEvD,MAAMC,UAAU;IAAEC,aAAa;QAAEC,UAAU;IAAW;AAAE;AAMxDN,SAAS,qBAAqB;IAC5BC,GAAG,mCAAmC;QACpC,MAAMM,YAAY;YAAC;SAAY;QAC/B,MAAMC,WAAWL,kBAAkBI;QACnCL,OAAOM,SAAS,aAAaJ,UAAUK,IAAI,CAAC;IAC9C;IAEAR,GAAG,sCAAsC;QACvC,MAAMM,YAAY;YAAC;YAAa;SAAkB;QAClD,MAAMC,WAAWL,kBAAkBI;QACnCL,OAAOM,SAAS,aAAaJ,UAAUK,IAAI,CAAC;QAC5CP,OAAOM,SAAS,mBAAmBJ,UAAUK,IAAI,CAAC;IACpD;IAEAR,GAAG,kCAAkC;QACnC,MAAMM,YAAY;YAAC;SAAU;QAC7B,MAAMC,WAAWL,kBAAkBI;QACnCL,OAAOM,SAAS,aAAaJ,UAAUK,IAAI,CAAC;QAC5CP,OAAOM,SAAS,aAAaJ,UAAUK,IAAI,CAAC;IAC9C;IAEAR,GAAG,sCAAsC;QACvC,MAAMM,YAAY;YAAC;YAAW;SAAU;QACxC,MAAMC,WAAWL,kBAAkBI;QACnCL,OAAOM,SAAS,aAAaJ,UAAUK,IAAI,CAAC;QAC5CP,OAAOM,SAAS,cAAcJ,UAAUK,IAAI,CAAC;IAC/C;IAEAR,GAAG,sCAAsC;QACvC,MAAMM,YAAY;YAAC;SAAY;QAC/B,MAAMC,WAAWL,kBAAkBI;QACnCL,OAAOM,SAAS,cAAcJ,UAAUK,IAAI,CAAC;IAC/C;IAEAR,GAAG,2DAA2D;QAC5D,MAAMM,YAAY;YAAC;YAAa;SAAkB;QAClD,MAAMC,WAAWL,kBAAkBI;QACnCL,OAAOM,SAAS,cAAcJ,UAAUK,IAAI,CAAC;IAC/C;IAEAR,GAAG,kDAAkD;QACnD,MAAMM,YAAY;YAAC;SAAU;QAC7B,MAAMC,WAAWL,kBAAkBI;QACnCL,OAAOM,SAAS,cAAcJ,UAAUK,IAAI,CAAC;IAC/C;IAEAR,GAAG,sDAAsD;QACvD,MAAMM,YAAY;YAAC;YAAW;SAAU;QACxC,MAAMC,WAAWL,kBAAkBI;QACnCL,OAAOM,SAAS,aAAaJ,UAAUK,IAAI,CAAC;QAC5CP,OAAOM,SAAS,mBAAmBJ,UAAUK,IAAI,CAAC;IACpD;IAEAR,GAAG,6CAA6C;QAC9C,MAAMM,YAAY;YAAC;YAAW;SAAkB;QAChD,MAAMC,WAAWL,kBAAkBI;QACnC,IAAIG;QACJR,OAAOM,SAASE,OAAON,UAAUK,IAAI,CAAC;IACxC;AACF"} |