abby-client
Version:
[](https://coveralls.io/github/GreetzNL/abby-client) [](https://tra
50 lines (46 loc) • 1.75 kB
JavaScript
const http = require('http');
const { expect } = require('chai');
const mocks = require('../../mocks');
const abby = require('../../index')({ tags: [], apiEndpoint: 'dummy' }, mocks.synchroniser);
/**
* integration spec that validates the correct setting of the cookies
*/
function request({ address, port }) {
return new Promise((resolve, reject) => {
http.get(`http://${address}:${port}`, (res) => {
resolve(res);
}).on('error', reject);
});
}
describe('cookie test', () => {
let server;
beforeEach(() => abby.ready());
beforeEach((done) => {
server = http.createServer((req, res) => {
res.setHeader('Set-Cookie', 'TEST_COOKIE=aap; Path=/');
abby(req, res);
res.writeHead(200, { 'Content-Type': 'text/plain' });
res.write('Hello World!');
res.end();
}).listen(0, 'localhost');
server.on('listening', done);
});
afterEach((done) => {
server.close(done);
});
it('should set abby session cookie', async () => {
let response = await request(server.address());
let cookies = response.headers['set-cookie'].join('\n');
expect(cookies).to.have.string('ABBY_SESSION');
});
it('should set abby experiment cookie', async () => {
let response = await request(server.address());
let cookies = response.headers['set-cookie'].join('\n');
expect(cookies).to.have.string('ABBY_TOGGLES');
});
it('should set abby experiment cookie', async () => {
let response = await request(server.address());
let cookies = response.headers['set-cookie'].join('\n');
expect(cookies).to.have.string('TEST_COOKIE');
});
});