LearningSalesForceCommerceC.../storefront-reference-architecture/test/unit/modules/server/middleware.js
2021-12-21 10:57:31 -08:00

81 lines
2.3 KiB
JavaScript

'use strict';
var assert = require('chai').assert;
var sinon = require('sinon');
var middleware = require('../../../../cartridges/modules/server/middleware');
describe('middleware', function () {
var next = null;
var req = {};
beforeEach(function () {
next = sinon.spy();
req = {};
});
afterEach(function () {
next.reset();
});
it('should call next for http method', function () {
req.https = false;
middleware.http(req, null, next);
assert.isTrue(next.calledOnce);
});
it('should call next with error for http method', function () {
req.https = true;
middleware.http(req, null, next);
assert.instanceOf(next.firstCall.args[0], Error);
});
it('should call next for https method', function () {
req.https = true;
middleware.https(req, null, next);
assert.isTrue(next.calledOnce);
});
it('should call next with error for https method', function () {
req.https = false;
middleware.https(req, null, next);
assert.instanceOf(next.firstCall.args[0], Error);
});
it('should call next for get method', function () {
req.httpMethod = 'GET';
middleware.get(req, null, next);
assert.isTrue(next.calledOnce);
});
it('should call next with error for get method', function () {
req.httpMethod = 'PUT';
middleware.get(req, null, next);
assert.instanceOf(next.firstCall.args[0], Error);
});
it('should call next for post method', function () {
req.httpMethod = 'POST';
middleware.post(req, null, next);
assert.isTrue(next.calledOnce);
});
it('should call next with error for post method', function () {
req.httpMethod = 'DELETE';
middleware.get(req, null, next);
assert.instanceOf(next.firstCall.args[0], Error);
});
it('should call next for include', function () {
req.includeRequest = true;
middleware.include(req, null, next);
assert.isTrue(next.calledOnce);
});
it('should call next with error for include', function () {
req.includeRequest = false;
middleware.include(req, null, next);
assert.instanceOf(next.firstCall.args[0], Error);
});
});