mirror of
https://github.com/TryGhost/Ghost.git
synced 2024-12-23 19:02:29 +03:00
829e8ed010
- Having these as destructured from the same package is hindering refactoring now - Events should really only ever be used server-side - i18n should be a shared module for now so it can be used everywhere until we figure out something better - Having them seperate also allows us to lint them properly
62 lines
2.1 KiB
JavaScript
62 lines
2.1 KiB
JavaScript
const should = require('should');
|
|
const sinon = require('sinon');
|
|
const configUtils = require('../../../utils/configUtils');
|
|
const events = require('../../../../core/server/lib/common/events');
|
|
const controllers = require('../../../../core/frontend/services/routing/controllers');
|
|
const RSSRouter = require('../../../../core/frontend/services/routing/RSSRouter');
|
|
const urlUtils = require('../../../../core/shared/url-utils');
|
|
|
|
describe('UNIT - services/routing/RSSRouter', function () {
|
|
describe('instantiate', function () {
|
|
beforeEach(function () {
|
|
sinon.stub(events, 'emit');
|
|
sinon.stub(events, 'on');
|
|
|
|
sinon.spy(RSSRouter.prototype, 'mountRoute');
|
|
sinon.spy(RSSRouter.prototype, 'mountRouter');
|
|
|
|
sinon.stub(urlUtils, 'urlJoin');
|
|
});
|
|
|
|
afterEach(function () {
|
|
sinon.restore();
|
|
configUtils.restore();
|
|
});
|
|
|
|
it('default', function () {
|
|
const rssRouter = new RSSRouter();
|
|
|
|
should.exist(rssRouter.router);
|
|
rssRouter.route.value.should.eql('/rss/');
|
|
|
|
events.emit.calledOnce.should.be.false();
|
|
events.on.calledOnce.should.be.false();
|
|
|
|
rssRouter.mountRoute.callCount.should.eql(2);
|
|
|
|
rssRouter.mountRoute.args[0][0].should.eql('/rss/');
|
|
rssRouter.mountRoute.args[0][1].should.eql(controllers.rss);
|
|
|
|
rssRouter.mountRoute.args[1][0].should.eql('/feed/');
|
|
});
|
|
|
|
it('subdirectory is enabled', function () {
|
|
configUtils.set('url', 'http://localhost:22222/blog/');
|
|
const rssRouter = new RSSRouter();
|
|
|
|
should.exist(rssRouter.router);
|
|
rssRouter.route.value.should.eql('/rss/');
|
|
|
|
events.emit.calledOnce.should.be.false();
|
|
events.on.calledOnce.should.be.false();
|
|
|
|
rssRouter.mountRoute.callCount.should.eql(2);
|
|
|
|
rssRouter.mountRoute.args[0][0].should.eql('/rss/');
|
|
rssRouter.mountRoute.args[0][1].should.eql(controllers.rss);
|
|
|
|
rssRouter.mountRoute.args[1][0].should.eql('/feed/');
|
|
});
|
|
});
|
|
});
|