diff --git a/src/libs/isReportMessageAttachment.js b/src/libs/isReportMessageAttachment.js index e524d5f79f64..e3553df5e1de 100644 --- a/src/libs/isReportMessageAttachment.js +++ b/src/libs/isReportMessageAttachment.js @@ -8,5 +8,6 @@ import CONST from '../CONST'; * @returns {Boolean} */ export default function isReportMessageAttachment({text, html}) { - return text === CONST.ATTACHMENT_MESSAGE_TEXT && html !== CONST.ATTACHMENT_MESSAGE_TEXT; + const regex = new RegExp(` ${CONST.ATTACHMENT_SOURCE_ATTRIBUTE}="(.*)"`, 'i'); + return text === CONST.ATTACHMENT_MESSAGE_TEXT && !!html.match(regex); } diff --git a/tests/unit/isReportMessageAttachmentTest.js b/tests/unit/isReportMessageAttachmentTest.js new file mode 100644 index 000000000000..8338513a7e7e --- /dev/null +++ b/tests/unit/isReportMessageAttachmentTest.js @@ -0,0 +1,22 @@ +import isReportMessageAttachment from '../../src/libs/isReportMessageAttachment'; + +describe('isReportMessageAttachment', () => { + it('returns true if a report action is attachment', () => { + const message = { + text: '[Attachment]', + html: '', + }; + expect(isReportMessageAttachment(message)).toBe(true); + }); + + it('returns false if a report action is not attachment', () => { + let message = {text: '[Attachment]', html: '[Attachment]'}; + expect(isReportMessageAttachment(message)).toBe(false); + + message = {text: '[Attachment]', html: '[Attachment]'}; + expect(isReportMessageAttachment(message)).toBe(false); + + message = {text: '[Attachment]', html: '[Attachment]'}; + expect(isReportMessageAttachment(message)).toBe(false); + }); +});