alagarr
Version:
Alagarr is a request-response helper library that removes the boilerplate from your Node.js serverless functions and helps make your code portable.
33 lines (32 loc) • 1.61 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const requests_1 = require("../../../test/fixtures/requests");
const url_encoded_body_1 = __importDefault(require("./url-encoded-body"));
const testRequest = Object.assign({}, requests_1.get, { body: 'foo=bar&bar=foo', headers: {
'content-type': 'application/x-www-form-urlencoded',
} });
describe('Request urlEncoded body', () => {
test('body is parsed if content-type application/x-www-form-urlencoded', () => {
const expected = Object.assign({}, testRequest, { body: {
bar: 'foo',
foo: 'bar',
} });
const result = url_encoded_body_1.default(testRequest);
expect(typeof result.body).not.toBe('string');
expect(result).toEqual(expected);
});
test('body is not parsed if content-type is not application/x-www-form-urlencoded', () => {
const invalidTestRequest = Object.assign({}, testRequest, { headers: { 'content-type': 'foo/bar' } });
const result = url_encoded_body_1.default(invalidTestRequest);
expect(typeof result.body).toBe('string');
expect(result).toEqual(invalidTestRequest);
});
test('correctly handle shitty body', () => {
const expected = Object.assign({}, testRequest, { body: -1 });
const result = url_encoded_body_1.default(Object.assign({}, testRequest, { body: -1 }));
expect(result).toEqual(expected);
});
});