diff --git a/test/unit/email_process_follow_up_test.rb b/test/unit/email_process_follow_up_test.rb
index 59c1d0e08..cb73c8381 100644
--- a/test/unit/email_process_follow_up_test.rb
+++ b/test/unit/email_process_follow_up_test.rb
@@ -196,7 +196,6 @@ no reference "
test 'process with follow up check with different ticket hook' do
- setting_orig = Setting.get('ticket_hook')
Setting.set('ticket_hook', 'VD-Ticket#')
ticket = Ticket.create(
@@ -243,14 +242,10 @@ Some Text"
assert_equal(ticket.id, ticket_p.id)
travel_back
-
- Setting.set('ticket_hook', setting_orig)
-
end
test 'process with follow up check with two external reference headers' do
- setting_orig = Setting.get('postmaster_follow_up_search_in')
Setting.set('postmaster_follow_up_search_in', %w[body attachment references])
data1 = "From: me@example.com
@@ -286,7 +281,6 @@ test 123
assert_equal(ticket_p2.id, ticket_p3.id)
- Setting.set('postmaster_follow_up_search_in', setting_orig)
travel_back
end
@@ -383,7 +377,6 @@ Some Text"
test 'process with follow up check - ticket initiated by customer without T# in subject and other people in Cc reply to all' do
# check if follow up based on inital system sender address
- setting_orig = Setting.get('postmaster_follow_up_search_in')
Setting.set('postmaster_follow_up_search_in', [])
subject = "ticket initiated by customer without T# in subject and other people in Cc reply to all #{rand(9999)}"
@@ -470,14 +463,11 @@ Some other Text"
assert_equal(ticket5.id, ticket6.id)
assert_equal(subject, ticket6.title)
- Setting.set('postmaster_follow_up_search_in', setting_orig)
end
test 'process with follow up check - with none ticket# in subject' do
- setting_orig = Setting.get('postmaster_follow_up_search_in')
Setting.set('postmaster_follow_up_search_in', [])
- ticket_hook_position_orig = Setting.get('ticket_hook_position')
Setting.set('ticket_hook_position', 'none')
subject = 'some title'
@@ -505,9 +495,53 @@ Some Text"
ticket_p2, article_p2, user_p2, mail = Channel::EmailParser.new.process({}, email_raw_string)
ticket2 = Ticket.find(ticket_p2.id)
assert_equal(ticket1.id, ticket2.id)
-
- Setting.set('ticket_hook_position', ticket_hook_position_orig)
- Setting.set('postmaster_follow_up_search_in', setting_orig)
end
+ test 'process with follow up check - in body' do
+
+ Setting.set('postmaster_follow_up_search_in', %w[body attachment references])
+ Setting.set('ticket_hook', '#')
+
+ email_raw_string = "From: me@example.com
+To: bob@example.com
+Subject: some subject
+
+Some Text"
+
+ ticket_p1, article_1, user_1, mail = Channel::EmailParser.new.process({}, email_raw_string)
+
+ email_raw_string = "From: me@example.com
+To: bob@example.com
+Subject: some subject
+
+Some Text #{Setting.get('ticket_hook')}#{ticket_p1.number} asdasd"
+
+ ticket_p2, article_2, user_2, mail = Channel::EmailParser.new.process({}, email_raw_string)
+ assert_equal(ticket_p1.id, ticket_p2.id)
+
+ email_raw_string = "From: me@example.com
+To: bob@example.com
+Subject: some subject
+Content-Transfer-Encoding: 7bit
+Content-Type: text/html;
+
+Some Text #{Setting.get('ticket_hook')}#{ticket_p1.number}
+"
+
+ ticket_p3, article_3, user_3, mail = Channel::EmailParser.new.process({}, email_raw_string)
+ assert_equal(ticket_p1.id, ticket_p3.id)
+
+ email_raw_string = "From: me@example.com
+To: bob@example.com
+Subject: some subject
+Content-Transfer-Encoding: 8bit
+Content-Type: text/html;
+
+Some Text test
+"
+
+ ticket_p4, article_4, user_4, mail = Channel::EmailParser.new.process({}, email_raw_string)
+ assert_not_equal(ticket_p1.id, ticket_p4.id)
+
+ end
end