payload
Version:
Node, React, Headless CMS and Application Framework built on Next.js
41 lines (40 loc) • 1.27 kB
JavaScript
import { describe, expect, it } from 'vitest';
import { addDataAndFileToRequest } from './addDataAndFileToRequest.js';
const createReqWithMultipartBody = ()=>{
const formData = new FormData();
formData.append('file', new Blob([
'hello world'
], {
type: 'text/plain'
}), 'hello.txt');
const request = new Request('http://localhost/api/upload', {
body: formData,
method: 'POST'
});
return {
body: request.body,
headers: request.headers,
method: request.method,
payload: {
collections: {},
config: {
bodyParser: {},
upload: {}
},
logger: {
error: ()=>{}
}
}
};
};
describe('addDataAndFileToRequest', ()=>{
it('should parse multipart form-data even when content-length is absent', async ()=>{
const req = createReqWithMultipartBody();
expect(req.headers.get('content-length')).toBeNull();
await addDataAndFileToRequest(req);
expect(req.file).toBeDefined();
expect(req.file?.name).toBe('hello.txt');
expect(req.file?.mimetype).toBe('text/plain');
});
});
//# sourceMappingURL=addDataAndFileToRequest.spec.js.map