Ghost/test/unit/frontend/services/theme-engine/config.test.js

54 lines
1.6 KiB
JavaScript
Raw Normal View History

const should = require('should');
const sinon = require('sinon');
const themeConfig = require('../../../../../core/frontend/services/theme-engine/config');
describe('Themes', function () {
afterEach(function () {
sinon.restore();
});
describe('Config', function () {
it('handles no package.json', function () {
const config = themeConfig.create();
config.should.eql({
posts_per_page: 5,
card_assets: {
exclude: ['bookmark', 'gallery']
}
});
});
it('handles package.json without config', function () {
const config = themeConfig.create({name: 'casper'});
config.should.eql({
posts_per_page: 5,
card_assets: {
exclude: ['bookmark', 'gallery']
}
});
});
it('handles allows package.json to override default', function () {
const config = themeConfig.create({name: 'casper', config: {posts_per_page: 3, card_assets: true}});
config.should.eql({
posts_per_page: 3,
card_assets: true
});
});
it('handles ignores non-allowed config', function () {
const config = themeConfig.create({name: 'casper', config: {magic: 'roundabout'}});
config.should.eql({
posts_per_page: 5,
card_assets: {
exclude: ['bookmark', 'gallery']
}
});
});
});
});