diff --git a/core/server/api/v2/utils/serializers/output/utils/extra-attrs.js b/core/server/api/v2/utils/serializers/output/utils/extra-attrs.js index 8f6fb7c1bf..5f3ace9fba 100644 --- a/core/server/api/v2/utils/serializers/output/utils/extra-attrs.js +++ b/core/server/api/v2/utils/serializers/output/utils/extra-attrs.js @@ -8,6 +8,8 @@ module.exports.forPost = (frame, model, attrs) => { if (plaintext) { attrs.excerpt = plaintext.substring(0, 500); + } else { + attrs.excerpt = null; } } else { attrs.excerpt = attrs.custom_excerpt; diff --git a/core/test/unit/api/v2/utils/serializers/output/utils/extra-attrs_spec.js b/core/test/unit/api/v2/utils/serializers/output/utils/extra-attrs_spec.js index 439813bd49..78ea08afb3 100644 --- a/core/test/unit/api/v2/utils/serializers/output/utils/extra-attrs_spec.js +++ b/core/test/unit/api/v2/utils/serializers/output/utils/extra-attrs_spec.js @@ -33,5 +33,17 @@ describe('Unit: v2/utils/serializers/output/utils/extra-attrs', () => { attrs.excerpt.should.eql(new Array(501).join('A')); }); + + it('has excerpt when plaintext is null', () => { + model.get.withArgs('plaintext').returns(null); + + const attrs = {}; + + extraAttrsUtil.forPost(frame, model, attrs); + model.get.called.should.be.true(); + + attrs.should.have.property('excerpt'); + (attrs.excerpt === null).should.be.true(); + }); }); });