Ghost/test/unit/api/canary/utils/serializers/output/pages_spec.js
Hannah Wolfe 7f1d3ebc07
Move tests from core to root (#11700)
- move all test files from core/test to test/
- updated all imports and other references
- all code inside of core/ is then application code
- tests are correctly at the root level
- consistent with other repos/projects

Co-authored-by: Kevin Ansfield <kevin@lookingsideways.co.uk>
2020-03-30 16:26:47 +01:00

53 lines
1.5 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/pages', function () {
let pageModel;
beforeEach(function () {
pageModel = (data) => {
return Object.assign(data, {toJSON: sinon.stub().returns(data)});
};
sinon.stub(mapper, 'mapPage').returns({});
});
afterEach(function () {
sinon.restore();
});
it('calls the mapper', function () {
const apiConfig = {};
const frame = {
options: {
withRelated: ['tags', 'authors'],
context: {
private: false
}
}
};
const ctrlResponse = {
data: [
pageModel(testUtils.DataGenerator.forKnex.createPost({
id: 'id1',
page: true
})),
pageModel(testUtils.DataGenerator.forKnex.createPost({
id: 'id2',
page: true
}))
],
meta: {}
};
serializers.output.pages.all(ctrlResponse, apiConfig, frame);
mapper.mapPage.callCount.should.equal(2);
mapper.mapPage.getCall(0).args.should.eql([ctrlResponse.data[0], frame]);
});
});