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.
67 lines (66 loc) • 2.71 kB
JavaScript
"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 cookies_1 = __importDefault(require("./cookies"));
const testRequest = Object.assign({}, requests_1.get, { headers: {
cookie: 'PHPSESSID=e61d68c319d12269c6af8cd939298857; REMEMBERME=yah; locale=de_DE',
} });
describe('Request cookies', () => {
test('get parsed', () => {
const expected = Object.assign({}, testRequest, { cookies: {
PHPSESSID: 'e61d68c319d12269c6af8cd939298857',
REMEMBERME: 'yah',
locale: 'de_DE',
} });
const request = cookies_1.default(testRequest);
expect(request).toEqual(expected);
});
test('header might not exist', () => {
const expected = Object.assign({}, testRequest, { cookies: {}, headers: {} });
const request = cookies_1.default(Object.assign({}, testRequest, { headers: {} }));
expect(request).toEqual(expected);
});
test('should handle quoted cookie values', () => {
const testCookieHeader = {
headers: {
cookie: 'foo="bar"; foobar=1',
},
};
const expected = Object.assign({}, testRequest, testCookieHeader, { cookies: {
foo: 'bar',
foobar: '1',
} });
const request = cookies_1.default(Object.assign({}, testRequest, testCookieHeader));
expect(request).toEqual(expected);
});
test('should handle empty cookie values', () => {
const testCookieHeader = {
headers: {
cookie: 'foo=bar; foobar=',
},
};
const expected = Object.assign({}, testRequest, testCookieHeader, { cookies: {
foo: 'bar',
foobar: '',
} });
const request = cookies_1.default(Object.assign({}, testRequest, testCookieHeader));
expect(request).toEqual(expected);
});
test('should handle messed up cookie values', () => {
const testCookieHeader = {
headers: {
cookie: 'foo=bar; foobar foofoo; barbar=1; broke=2 yup=',
},
};
const expected = Object.assign({}, testRequest, testCookieHeader, { cookies: {
barbar: '1',
broke: '2 yup=',
foo: 'bar',
} });
const request = cookies_1.default(Object.assign({}, testRequest, testCookieHeader));
expect(request).toEqual(expected);
});
});