Ghost/test/unit/server/web/parent/middleware/ghost-locals.test.js
Hannah Wolfe 9e96b04542
Moved server unit tests into the server folder
- this is a small part of a bit of cleanup of our test files
- the goal is to make the existing tests clearer with a view to making it easier to write more tests
- this makes the test structure follow the codebase structure more closely
- eventually we will colocate the tests as we break the codebase down further
2021-10-06 12:01:09 +01:00

45 lines
1.2 KiB
JavaScript

const should = require('should');
const sinon = require('sinon');
const ghostLocals = require('../../../../../../core/server/web/parent/middleware/ghost-locals');
const bridge = require('../../../../../../core/bridge');
describe('Theme Handler', function () {
let req;
let res;
let next;
beforeEach(function () {
req = sinon.spy();
res = sinon.spy();
next = sinon.spy();
sinon.stub(bridge, 'getActiveTheme').callsFake(() => {
return {
engine() {
return 'v3';
}
};
});
});
afterEach(function () {
sinon.restore();
});
describe('ghostLocals', function () {
it('sets all locals', function () {
req.path = '/awesome-post';
ghostLocals(req, res, next);
res.locals.should.be.an.Object();
should.exist(res.locals.version);
should.exist(res.locals.safeVersion);
should.exist(res.locals.apiVersion);
res.locals.relativeUrl.should.equal(req.path);
res.locals.apiVersion.should.equal('v3');
next.called.should.be.true();
});
});
});