From aa9d896069872a6a87ee08e7fab94b454b2ef7e5 Mon Sep 17 00:00:00 2001 From: Rolf Schmidt Date: Mon, 7 Dec 2020 14:09:37 +0100 Subject: [PATCH] Fixes #2980 - Article Notes added via Macro are not HTML formatted. --- .../javascripts/app/models/ticket.coffee | 2 ++ spec/system/ticket/zoom_spec.rb | 20 +++++++++++++++++++ 2 files changed, 22 insertions(+) diff --git a/app/assets/javascripts/app/models/ticket.coffee b/app/assets/javascripts/app/models/ticket.coffee index c39311ce2..75088b62e 100644 --- a/app/assets/javascripts/app/models/ticket.coffee +++ b/app/assets/javascripts/app/models/ticket.coffee @@ -177,6 +177,8 @@ class App.Ticket extends App.Model content.sender_id = sender.id if !content.from content.from = App.Session.get('login') + if !content.content_type + params.article.content_type = 'text/html' # apply direct value changes for articleKey, aricleValue of content diff --git a/spec/system/ticket/zoom_spec.rb b/spec/system/ticket/zoom_spec.rb index ae7c297a3..04d36d0c0 100644 --- a/spec/system/ticket/zoom_spec.rb +++ b/spec/system/ticket/zoom_spec.rb @@ -1265,4 +1265,24 @@ RSpec.describe 'Ticket zoom', type: :system do end end end + + describe 'Macros', authenticated_as: :authenticate do + let(:macro) { create :macro, perform: { 'article.note'=>{ 'body' => 'macro body', 'internal' => 'true', 'subject' => 'macro note' } } } + let!(:ticket) { create(:ticket, group: Group.find_by(name: 'Users')) } + + def authenticate + macro + true + end + + it 'does html macro by default' do + visit "ticket/zoom/#{ticket.id}" + find('.js-openDropdownMacro').click + all('.js-dropdownActionMacro').last.click + await_empty_ajax_queue + + expect(ticket.reload.articles.last.body).to eq('macro body') + expect(ticket.reload.articles.last.content_type).to eq('text/html') + end + end end