Added serializer for integrations.destroy

refs: https://github.com/TryGhost/Toolbox/issues/245

- The destroy endpoint was missing a serializer
- Instead of adding one, we've refactored to use the standard structure for this serializer
- Updated the tests to prove the body doesn't change
This commit is contained in:
Hannah Wolfe 2022-03-17 15:06:25 +00:00
parent 7433378e6a
commit c89a01b031
2 changed files with 20 additions and 26 deletions

View File

@ -2,33 +2,24 @@ const debug = require('@tryghost/debug')('api:canary:utils:serializers:output:in
const mappers = require('./mappers');
module.exports = {
browse({data, meta}, apiConfig, frame) {
debug('browse');
all(models, apiConfig, frame) {
debug('all');
if (!models) {
return;
}
if (models.meta) {
frame.response = {
integrations: models.data.map(model => mappers.integrations(model, frame)),
meta: models.meta
};
return;
}
frame.response = {
integrations: data.map(model => mappers.integrations(model, frame)),
meta
};
},
read(model, apiConfig, frame) {
debug('read');
frame.response = {
integrations: [mappers.integrations(model, frame)]
};
},
add(model, apiConfig, frame) {
debug('add');
frame.response = {
integrations: [mappers.integrations(model, frame)]
};
},
edit(model, apiConfig, frame) {
debug('edit');
frame.response = {
integrations: [mappers.integrations(model, frame)]
integrations: [mappers.integrations(models, frame)]
};
}
};

View File

@ -326,7 +326,10 @@ describe('Integrations API', function () {
await request.del(localUtils.API.getApiQuery(`integrations/${createdIntegration.id}/`))
.set('Origin', config.get('url'))
.expect(204);
.expect(204)
.expect((_res) => {
_res.body.should.be.empty();
});
await request.get(localUtils.API.getApiQuery(`integrations/${createdIntegration.id}/`))
.set('Origin', config.get('url'))