Files
klz-cables.com/.pnpm-store/v10/files/4f/491d0f8f1e4469ca2b89ab9a7535760963d54ea905833b5bd0c0a6c773fdfc0b0f79b04dded674fce7f65a97324628f745a37ea5447bfcee77f2b3ac74431e
Marc Mintel 5397309103
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
fix(products): fix breadcrumbs and product filtering (backport from main)
2026-02-24 16:04:21 +01:00

84 lines
2.9 KiB
Plaintext

import { describe, it, expect } from 'vitest';
import { mimeTypeValidator } from './mimeTypeValidator';
const options = {
siblingData: {
filename: 'file.xyz'
}
};
describe('mimeTypeValidator', ()=>{
it('should validate single mimeType', ()=>{
const mimeTypes = [
'image/png'
];
const validate = mimeTypeValidator(mimeTypes);
expect(validate('image/png', options)).toBe(true);
});
it('should validate multiple mimeTypes', ()=>{
const mimeTypes = [
'image/png',
'application/pdf'
];
const validate = mimeTypeValidator(mimeTypes);
expect(validate('image/png', options)).toBe(true);
expect(validate('application/pdf', options)).toBe(true);
});
it('should validate using wildcard', ()=>{
const mimeTypes = [
'image/*'
];
const validate = mimeTypeValidator(mimeTypes);
expect(validate('image/png', options)).toBe(true);
expect(validate('image/gif', options)).toBe(true);
});
it('should validate multiple wildcards', ()=>{
const mimeTypes = [
'image/*',
'audio/*'
];
const validate = mimeTypeValidator(mimeTypes);
expect(validate('image/png', options)).toBe(true);
expect(validate('audio/mpeg', options)).toBe(true);
});
it('should not validate when unmatched', ()=>{
const mimeTypes = [
'image/png'
];
const validate = mimeTypeValidator(mimeTypes);
expect(validate('audio/mpeg', options)).toBe("Invalid file type: 'audio/mpeg'");
});
it('should not validate when unmatched - multiple mimeTypes', ()=>{
const mimeTypes = [
'image/png',
'application/pdf'
];
const validate = mimeTypeValidator(mimeTypes);
expect(validate('audio/mpeg', options)).toBe("Invalid file type: 'audio/mpeg'");
});
it('should not validate using wildcard - unmatched', ()=>{
const mimeTypes = [
'image/*'
];
const validate = mimeTypeValidator(mimeTypes);
expect(validate('audio/mpeg', options)).toBe("Invalid file type: 'audio/mpeg'");
});
it('should not validate multiple wildcards - unmatched', ()=>{
const mimeTypes = [
'image/*',
'audio/*'
];
const validate = mimeTypeValidator(mimeTypes);
expect(validate('video/mp4', options)).toBe("Invalid file type: 'video/mp4'");
expect(validate('application/pdf', options)).toBe("Invalid file type: 'application/pdf'");
});
it('should not error when mimeType is missing', ()=>{
const mimeTypes = [
'image/*',
'application/pdf'
];
const validate = mimeTypeValidator(mimeTypes);
let value;
expect(validate(value, options)).toBe('Invalid file type');
});
});
//# sourceMappingURL=mimeTypeValidator.spec.js.map