@tlrg/middleware-js
Version:
Node module for sharing common middlewares.
71 lines (62 loc) • 1.99 kB
JavaScript
require('chai').should();
var request = require('supertest');
var app = require('express')();
describe('Cobrands Middleware', function () {
var cobrandMiddleware = require('../lib/middlewares/cobrands');
before(function () {
app.use(function moonstickSetup(req, res, next) {
req.moonstick = req.moonstick || {};
req.moonstick.brand = 'laterooms';
req.moonstick.domain = 'laterooms.com';
req.moonstick.pcode = '1111';
next();
});
app.set('cobrandsConfig', {
lovelyhotels: {
pcode: '1234'
}
});
app.get('/', cobrandMiddleware, function (req, res) {
res.status(200).json(req.moonstick);
});
});
it('should not change any values if the cobrand subdomain isnt recognised', function (done) {
request(app)
.get('/')
.set({
host: 'badboyhotelz.test.laterooms.com'
})
.expect(200)
.expect({
brand: 'laterooms',
domain: 'laterooms.com',
pcode: '1111'
}, done);
});
it('should set cobrand values when the subdomain is recognised', function (done) {
request(app)
.get('/')
.set({
host: 'lovelyhotels.laterooms.com'
})
.expect(200)
.expect({
brand: 'lovelyhotels',
domain: 'cobrands',
pcode: '1234'
}, done);
});
it('should honour querystring override cobrand', function (done) {
request(app)
.get('/?cobrand=lovelyhotels')
.set({
host: 'badboyhotelz.laterooms.com'
})
.expect(200)
.expect({
brand: 'lovelyhotels',
domain: 'cobrands',
pcode: '1234'
}, done);
});
});