diff --git a/app/javascript/dashboard/store/modules/contactConversations.js b/app/javascript/dashboard/store/modules/contactConversations.js index 55dfcf441..0edced126 100644 --- a/app/javascript/dashboard/store/modules/contactConversations.js +++ b/app/javascript/dashboard/store/modules/contactConversations.js @@ -25,7 +25,9 @@ export const createConversationPayload = ({ params, contactId, files }) => { payload.append('inbox_id', inboxId); payload.append('contact_id', contactId); payload.append('source_id', sourceId); - payload.append('additional_attributes[mail_subject]', mailSubject); + if (mailSubject) { + payload.append('additional_attributes[mail_subject]', mailSubject); + } payload.append('assignee_id', assigneeId); return payload; diff --git a/app/javascript/dashboard/store/modules/specs/contactConversations/actions.spec.js b/app/javascript/dashboard/store/modules/specs/contactConversations/actions.spec.js index b403c0d4a..dd3b52587 100644 --- a/app/javascript/dashboard/store/modules/specs/contactConversations/actions.spec.js +++ b/app/javascript/dashboard/store/modules/specs/contactConversations/actions.spec.js @@ -282,6 +282,24 @@ describe('createConversationPayload', () => { expect(payload.get('assignee_id')).toBe(options.params.assigneeId); expect(payload.getAll('message[attachments][]')).toEqual([]); }); + + it('omits mail_subject when mailSubject is undefined', () => { + const options = { + params: { + inboxId: '1', + message: { + content: 'Test message content', + }, + sourceId: '12', + assigneeId: '123', + }, + contactId: '23', + }; + + const payload = createConversationPayload(options); + + expect(payload.has('additional_attributes[mail_subject]')).toBe(false); + }); }); describe('createWhatsAppConversationPayload', () => {