+ describe('addCookie', function () {
+ let res, name, value;
+ beforeEach(function () {
+ res = {
+ appendHeader: sinon.stub(),
+ };
+ name = 'someCookieName';
+ value = 'someCookieValue';
+ });
+ it('covers no options', function () {
+ common.addCookie(res, name, value, {});
+ assert(res.appendHeader.called);
+ });
+ it('covers all options', function () {
+ common.addCookie(res, name, value, {
+ domain: 'example.com',
+ expires: new Date(),
+ httpOnly: true,
+ maxAge: 9999999,
+ path: '/foo',
+ sameSite: 'Lax',
+ secure: true,
+ });
+ assert(res.appendHeader.called);
+ });
+ it('covers invalid expires', function () {
+ assert.throws(() => common.addCookie(res, name, value, { expires: 'never' }), TypeError);
+ });
+ it('covers invalid sameSite', function () {
+ assert.throws(() => common.addCookie(res, name, value, { sameSite: 'Whatever' }));
+ });
+ it('covers no options', function () {
+ common.addCookie(res, name, value);
+ assert(res.appendHeader.called);
+ });
+ }); // addCookie
+