UNPKG

@tlrg/middleware-js

Version:
92 lines (74 loc) 2.3 kB
var app = require('express')(); var request = require('supertest'); var cookieParser = require('cookie-parser'); var tax = require('../lib/middlewares/tax'); app.use(cookieParser()); describe('tax middleware', function () { var agent; var featureSwitch; before(function () { app.get('/', function (req, resp, next) { req.moonstick = { featureSwitches: { hideTax: featureSwitch } }; next(); }, tax, function (req, res) { res.status(200).json(req.moonstick); }); agent = request(app); }); beforeEach(function () { featureSwitch = undefined; }); it('should show tax by default', function (done) { agent .get('/') .end(function (err, resp) { if (err) { return done(err); } resp.body.hideTax.should.equal(false); done(); }); }); it('should hide tax if feature switch is turned on', function (done) { featureSwitch = true; agent .get('/') .end(function (err, resp) { if (err) { return done(err); } resp.body.hideTax.should.equal(true); done(); }); }); it('should hide tax if from AR redirect cookie is set', function (done) { featureSwitch = false; agent .get('/') .set('Cookie', 'redirectedFromAsiarooms=true') .end(function (err, resp) { if (err) { return done(err); } resp.body.hideTax.should.equal(true); done(); }); }); it('should hide tax if from asiarooms-redirect-acknowledged cookie is set', function (done) { featureSwitch = false; agent .get('/') .set('Cookie', 'asiarooms-redirect-acknowledged=true') .end(function (err, resp) { if (err) { return done(err); } resp.body.hideTax.should.equal(true); done(); }); }); });