UNPKG

@tlrg/middleware-js

Version:
70 lines (52 loc) 1.81 kB
var proxyquire = require('proxyquire').noCallThru(); var chai = require('chai'); chai.should(); var sinon = require('sinon'); describe('meta mobile only', function () { it('should call ismobile as part of the middleware', function () { var req = { headers: { 'user-agent': 'clearlyMobile' } }; var isMobileJsStub = sinon.stub().returns({ any: true }); var mobileOnly = proxyquire('../../lib/middlewares/meta/mobileOnly', { ismobilejs: isMobileJsStub }); mobileOnly(req); isMobileJsStub.called.should.equal(true); }); it('should call ismobile with the user agent', function () { var req = { headers: { 'user-agent': 'clearlyMobile' } }; var isMobileJsStub = sinon.stub().returns({ any: true }); var mobileOnly = proxyquire('../../lib/middlewares/meta/mobileOnly', { ismobilejs: isMobileJsStub }); mobileOnly(req); isMobileJsStub.calledWith('clearlyMobile').should.equal(true); }); it('should return true when on mobile', function () { var req = { headers: { 'user-agent': 'clearlyMobile' } }; var isMobileJsStub = sinon.stub().returns({ phone:false }); isMobileJsStub.withArgs('clearlyMobile').returns({ phone:true }); var mobileOnly = proxyquire('../../lib/middlewares/meta/mobileOnly', { ismobilejs: isMobileJsStub }); var result = mobileOnly(req); result.should.equal(true); var secondTime = mobileOnly({headers: {'user-agent': ''}}); secondTime.should.equal(false); }); });