gentelella/vendors/update/test/view.methods.js

40 lines
1.1 KiB
JavaScript

require('should');
var support = require('./support');
var App = support.resolve();
var app;
describe('view.option()', function() {
beforeEach(function() {
app = new App();
app.engine('tmpl', require('engine-base'));
app.create('page');
});
describe('.use', function() {
it('should expose `.use` for running plugins on a view:', function() {
app.page('a.tmpl', {path: 'a.tmpl', content: '<%= a %>'})
.use(function() {
this.options.foo = 'bar';
})
.use(function() {
this.options.bar = 'baz';
});
var page = app.pages.getView('a.tmpl');
page.options.should.have.property('foo');
page.options.should.have.property('bar');
});
});
describe('.render:', function() {
it('should expose `.render` for rendering a view:', function(done) {
app.page('a.tmpl', {path: 'a.tmpl', content: '<%= a %>', locals: {a: 'bbb'}})
.render({}, function(err, res) {
if (err) return done(err);
res.contents.toString().should.equal('bbb');
done();
});
});
});
});