mirror of
https://github.com/TryGhost/Ghost.git
synced 2025-01-20 22:42:53 -05:00
44c72ddd81
closes https://github.com/TryGhost/Toolbox/issues/332 refs https://github.com/TryGhost/Ghost/issues/10922 - The "page" attirbute has been deprecated long time ago and was kept around in the output for back compatibility reasons. With Ghost 5.0 there's no longer need to return this field or keep around any of the code supporting "page" attribute processing
101 lines
2.8 KiB
JavaScript
101 lines
2.8 KiB
JavaScript
const should = require('should');
|
|
const shared = require('../../../../core/server/api/shared');
|
|
|
|
describe('Unit: api/shared/frame', function () {
|
|
it('constructor', function () {
|
|
const frame = new shared.Frame();
|
|
Object.keys(frame).should.eql([
|
|
'original',
|
|
'options',
|
|
'data',
|
|
'user',
|
|
'file',
|
|
'files',
|
|
'apiType'
|
|
]);
|
|
});
|
|
|
|
describe('fn: configure', function () {
|
|
it('no transform', function () {
|
|
const original = {
|
|
context: {user: 'id'},
|
|
body: {posts: []},
|
|
params: {id: 'id'},
|
|
query: {include: 'tags', filter: 'type:post', soup: 'yumyum'}
|
|
};
|
|
|
|
const frame = new shared.Frame(original);
|
|
|
|
frame.configure({});
|
|
|
|
should.exist(frame.options.context.user);
|
|
should.not.exist(frame.options.include);
|
|
should.not.exist(frame.options.filter);
|
|
should.not.exist(frame.options.id);
|
|
should.not.exist(frame.options.soup);
|
|
|
|
should.exist(frame.data.posts);
|
|
});
|
|
|
|
it('transform', function () {
|
|
const original = {
|
|
context: {user: 'id'},
|
|
body: {posts: []},
|
|
params: {id: 'id'},
|
|
query: {include: 'tags', filter: 'type:post', soup: 'yumyum'}
|
|
};
|
|
|
|
const frame = new shared.Frame(original);
|
|
|
|
frame.configure({
|
|
options: ['include', 'filter', 'id']
|
|
});
|
|
|
|
should.exist(frame.options.context.user);
|
|
should.exist(frame.options.include);
|
|
should.exist(frame.options.filter);
|
|
should.exist(frame.options.id);
|
|
should.not.exist(frame.options.soup);
|
|
|
|
should.exist(frame.data.posts);
|
|
});
|
|
|
|
it('transform', function () {
|
|
const original = {
|
|
context: {user: 'id'},
|
|
options: {
|
|
slug: 'slug'
|
|
}
|
|
};
|
|
|
|
const frame = new shared.Frame(original);
|
|
|
|
frame.configure({
|
|
options: ['include', 'filter', 'slug']
|
|
});
|
|
|
|
should.exist(frame.options.context.user);
|
|
should.exist(frame.options.slug);
|
|
});
|
|
|
|
it('transform', function () {
|
|
const original = {
|
|
context: {user: 'id'},
|
|
options: {
|
|
id: 'id'
|
|
},
|
|
body: {}
|
|
};
|
|
|
|
const frame = new shared.Frame(original);
|
|
|
|
frame.configure({
|
|
data: ['id']
|
|
});
|
|
|
|
should.exist(frame.options.context.user);
|
|
should.not.exist(frame.options.id);
|
|
should.exist(frame.data.id);
|
|
});
|
|
});
|
|
});
|