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.
32 lines (31 loc) • 1.54 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 json_body_1 = __importDefault(require("./json-body"));
const testRequest = Object.assign({}, requests_1.get, { body: '{"foo": "bar"}', headers: {
'content-type': 'application/json',
} });
describe('Request JSON', () => {
test('body is parsed if content-type application/json', () => {
const expected = Object.assign({}, testRequest, { body: {
foo: 'bar',
} });
const result = json_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/json', () => {
const nonJsonTestRequest = Object.assign({}, testRequest, { headers: { 'content-type': 'foo/bar' } });
const result = json_body_1.default(nonJsonTestRequest);
expect(typeof result.body).toBe('string');
expect(result).toEqual(nonJsonTestRequest);
});
test('correctly handle shitty JSON', () => {
const expected = Object.assign({}, testRequest, { body: {} });
const result = json_body_1.default(Object.assign({}, testRequest, { body: '{"huurr hurr:" derp. can\'t parse this on purpose}' }));
expect(result).toEqual(expected);
});
});