UNPKG

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
"use strict"; 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); }); });