mirror of
https://github.com/TryGhost/Ghost.git
synced 2025-02-10 23:36:14 -05:00
refs https://github.com/TryGhost/Team/issues/1071 - updates tests to handle new visibility of `tiers` which uses tiers pivot table
45 lines
1.4 KiB
JavaScript
45 lines
1.4 KiB
JavaScript
const should = require('should');
|
|
const sinon = require('sinon');
|
|
const testUtils = require('../../../../../../utils');
|
|
const mapper = require('../../../../../../../core/server/api/canary/utils/serializers/output/utils/mapper');
|
|
const serializers = require('../../../../../../../core/server/api/canary/utils/serializers');
|
|
|
|
describe('Unit: canary/utils/serializers/output/preview', function () {
|
|
let pageModel;
|
|
|
|
beforeEach(function () {
|
|
pageModel = (data) => {
|
|
return Object.assign(data, {toJSON: sinon.stub().returns(data), get: key => (key === 'type' ? 'page' : '')});
|
|
};
|
|
|
|
sinon.stub(mapper, 'mapPost').returns({});
|
|
});
|
|
|
|
afterEach(function () {
|
|
sinon.restore();
|
|
});
|
|
|
|
it('calls the mapper', async function () {
|
|
const apiConfig = {};
|
|
const frame = {
|
|
options: {
|
|
withRelated: ['tags', 'authors'],
|
|
context: {
|
|
private: false
|
|
}
|
|
}
|
|
};
|
|
|
|
const ctrlResponse = pageModel(testUtils.DataGenerator.forKnex.createPost({
|
|
id: 'id1',
|
|
type: 'page'
|
|
}));
|
|
|
|
await serializers.output.preview.all(ctrlResponse, apiConfig, frame);
|
|
|
|
mapper.mapPost.callCount.should.equal(1);
|
|
mapper.mapPost.getCall(0).args.should.eql([ctrlResponse, frame]);
|
|
|
|
frame.response.preview[0].page.should.equal(true);
|
|
});
|
|
});
|