mirror of
https://github.com/TryGhost/Ghost.git
synced 2024-12-18 07:51:55 +03:00
250d571fe6
no issue - add mocha option to jshintrc, no need to define globals in files anymore - call client grunt commands in case of jshint/jscs
61 lines
1.5 KiB
JavaScript
61 lines
1.5 KiB
JavaScript
var should = require('should'),
|
|
sinon = require('sinon'),
|
|
decideIsAdmin = require('../../../server/middleware/decide-is-admin');
|
|
|
|
// To stop jshint complaining
|
|
should.equal(true, true);
|
|
|
|
describe('Middleware: decideIsAdmin', function () {
|
|
var sandbox,
|
|
res,
|
|
req,
|
|
next;
|
|
|
|
beforeEach(function () {
|
|
sandbox = sinon.sandbox.create();
|
|
|
|
next = sinon.spy();
|
|
res = sinon.spy();
|
|
req = {};
|
|
});
|
|
|
|
afterEach(function () {
|
|
sandbox.restore();
|
|
});
|
|
|
|
it('sets the isAdmin flag if the url contains /ghost/.', function (done) {
|
|
var trueUrls = [
|
|
'/ghost/',
|
|
'/ghost/foo?bar=foo'
|
|
],
|
|
falseUrls = [
|
|
'/ghost',
|
|
'ghost/',
|
|
'/foobar/ghost',
|
|
'/things/ghost/foo'
|
|
];
|
|
|
|
trueUrls.forEach(function (url) {
|
|
res = sinon.spy();
|
|
next = sinon.spy();
|
|
req.url = url;
|
|
|
|
decideIsAdmin(req, res, next);
|
|
res.isAdmin.should.be.exactly(true);
|
|
next.calledOnce.should.be.exactly(true);
|
|
});
|
|
|
|
falseUrls.forEach(function (url) {
|
|
res = sinon.spy();
|
|
next = sinon.spy();
|
|
req.url = url;
|
|
|
|
decideIsAdmin(req, res, next);
|
|
res.isAdmin.should.be.exactly(false);
|
|
next.calledOnce.should.be.exactly(true);
|
|
});
|
|
|
|
done();
|
|
});
|
|
});
|