0
Fork 0
mirror of https://github.com/TryGhost/Ghost.git synced 2025-01-20 22:42:53 -05:00
ghost/test/unit/api/shared/frame.test.js
Naz 44c72ddd81 Removed output of "page" filter in Admin/Content APIs
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
2022-05-16 22:06:55 +08:00

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);
});
});
});