mirror of
https://github.com/TryGhost/Ghost.git
synced 2025-02-10 23:36:14 -05:00
- The original intention of the proxy was to collect up all the requires in our helpers into one place - This has since been expanded and used in more places, in more ways - In hindsight there are now multiple different types of requires in the proxy: - One: true frontend rendering framework requires (stuff from deep inside theme-engine) - Two: data manipulation/sdk stuff, belongs to the frontend, ways to process API data - Three: actual core stuff from Ghost, that we wish wasn't here / needs to be passed in a controlled way - This commit pulls out One into a new rendering service, so at least that stuff is managed independently - This draws the lines clearly between what's internal to the frontend and what isn't - It also highlights that the theme-engine needs to be divided up / refactored so that we don't have these deep requires
20 lines
736 B
JavaScript
20 lines
736 B
JavaScript
const should = require('should');
|
|
const errors = require('@tryghost/errors');
|
|
const {hbs, templates} = require('../../../../../core/frontend/services/rendering');
|
|
|
|
describe('Helpers Template', function () {
|
|
it('can execute a template', function () {
|
|
hbs.registerPartial('test', '<h1>Hello {{name}}</h1>');
|
|
|
|
const safeString = templates.execute('test', {name: 'world'});
|
|
|
|
should.exist(safeString);
|
|
safeString.should.have.property('string').and.equal('<h1>Hello world</h1>');
|
|
});
|
|
|
|
it('will throw an IncorrectUsageError if the partial does not exist', function () {
|
|
should.throws(() => {
|
|
templates.execute('non-existent');
|
|
}, errors.IncorrectUsageError);
|
|
});
|
|
});
|