0
Fork 0
mirror of https://github.com/TryGhost/Ghost.git synced 2025-01-27 22:49:56 -05:00
ghost/test/unit/api/v3/utils/serializers/output/posts_spec.js

47 lines
1.4 KiB
JavaScript
Raw Normal View History

const should = require('should');
const sinon = require('sinon');
const testUtils = require('../../../../../../utils');
const mapper = require('../../../../../../../core/server/api/v3/utils/serializers/output/utils/mapper');
const serializers = require('../../../../../../../core/server/api/v3/utils/serializers');
describe('Unit: v3/utils/serializers/output/posts', function () {
let postModel;
beforeEach(function () {
postModel = (data) => {
return Object.assign(data, {toJSON: sinon.stub().returns(data)});
};
sinon.stub(mapper, 'mapPost').returns({});
});
afterEach(function () {
sinon.restore();
});
it('calls the mapper', function () {
const apiConfig = {};
const frame = {
options: {
withRelated: ['tags', 'authors'],
context: {
private: false
}
}
};
const ctrlResponse = {
data: [
postModel(testUtils.DataGenerator.forKnex.createPost({})),
postModel(testUtils.DataGenerator.forKnex.createPost({}))
],
meta: {}
};
2019-11-07 12:27:02 +07:00
serializers.output.posts.all(ctrlResponse, apiConfig, frame);
mapper.mapPost.callCount.should.equal(2);
mapper.mapPost.getCall(0).args.should.eql([ctrlResponse.data[0], frame]);
});
});