UNPKG

@tlrg/middleware-js

Version:
71 lines (62 loc) 1.99 kB
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); }); });