payload
Version:
Node, React, Headless CMS and Application Framework built on Next.js
33 lines (32 loc) • 1.33 kB
JavaScript
import { parseCookies } from './cookies.js';
describe('parseCookies', ()=>{
it('parses cookie attributes without values', ()=>{
const fakeHeaders = new Map();
fakeHeaders.set('Cookie', 'my_value=true; Secure; HttpOnly');
const parsed = parseCookies(fakeHeaders);
expect(parsed.get('my_value')).toBe('true');
expect(parsed.get('Secure')).toBe('true');
expect(parsed.get('HttpOnly')).toBe('true');
expect(parsed.size).toBe(3);
});
it('strips whitespace', ()=>{
const fakeHeaders = new Map();
fakeHeaders.set('Cookie', 'my_value=true; ');
const parsed = parseCookies(fakeHeaders);
expect(parsed.get('my_value')).toBe('true');
expect(parsed.size).toBe(1);
});
it('ensure invalid cookies are ignored', ()=>{
const fakeHeaders = new Map();
fakeHeaders.set('Cookie', 'my_value=true; invalid_cookie=%E0%A4%A');
const parsed = parseCookies(fakeHeaders);
expect(parsed.get('my_value')).toBe('true');
expect(parsed.size).toBe(1);
});
it('ensure empty map is returned if there are no cookies', ()=>{
const fakeHeaders = new Map();
const parsed = parseCookies(fakeHeaders);
expect(parsed.size).toBe(0);
});
});
//# sourceMappingURL=cookies.spec.js.map