UNPKG

@tlrg/middleware-js

Version:
92 lines (82 loc) 2.62 kB
require('chai').should(); var request = require('supertest'); var app = require('express')(); describe('Brand Middleware', function () { var brandMiddleware = require('../lib/middlewares/brand'); before(function () { app.use(function moonstickSetup(req, res, next) { req.moonstick = req.moonstick || {}; req.moonstick.errorParams = req.params; req.moonstick.params = req.params; next(); }); app.get('/', brandMiddleware, function (req, res) { res.status(200).json({ brand: req.moonstick.brand, laterooms: req.moonstick.laterooms, asiarooms: req.moonstick.asiarooms, 'laterooms.com.au': req.moonstick['laterooms.com.au'] }); }); }); it('should set the brand for laterooms based on the host header', function (done) { request(app) .get('/') .set({ host: 'web.test.laterooms.com' }) .expect(200) .expect({ brand: 'laterooms', laterooms: true }, done); }); it('should set the brand for asiarooms based on the host header', function (done) { request(app) .get('/') .set({ host: 'stage.asiarooms.com' }) .expect(200) .expect({ brand: 'asiarooms', asiarooms: true }, done); }); it('should set the brand to laterooms by default', function (done) { request(app) .get('/') .set({ host: '172.1.1.1' }) .expect(200) .expect({ brand: 'laterooms', laterooms: true }, done); }); it('should set the brand based on the query string if one is present', function (done) { request(app) .get('/?brand=asiarooms') .set({ host: '172.1.1.1' }) .expect(200) .expect({ brand: 'asiarooms', asiarooms: true }, done); }); it('should set the brand to laterooms.com.au if host is laterooms.com.au', function (done) { request(app) .get('/') .set({ host: 'web.test.laterooms.com.au' }) .expect(200) .expect({ brand: 'laterooms.com.au', 'laterooms.com.au': true }, done); }); });