From 7de9c5735eb4f2493145037e3eca4297dd26c001 Mon Sep 17 00:00:00 2001 From: luciajanikova <19lucia99@gmail.com> Date: Thu, 6 Feb 2025 13:53:56 +0100 Subject: [PATCH] Add Inbox Tag to thread when new FS inbox message is processed --- app/models/fs/message.rb | 1 + test/fixtures/messages.yml | 1 + test/models/fs/message_test.rb | 49 +++++++++++++++++++++++++++++++++- 3 files changed, 50 insertions(+), 1 deletion(-) diff --git a/app/models/fs/message.rb b/app/models/fs/message.rb index 01b51302..418c681b 100644 --- a/app/models/fs/message.rb +++ b/app/models/fs/message.rb @@ -9,6 +9,7 @@ def self.create_inbox_message_with_thread!(raw_message, box:) message = create_inbox_message(raw_message) message.thread = associated_outbox_message.thread + message.thread.assign_tag(message.thread.tenant.inbox_tag) message.save! diff --git a/test/fixtures/messages.yml b/test/fixtures/messages.yml index 24e10771..3d7c7898 100644 --- a/test/fixtures/messages.yml +++ b/test/fixtures/messages.yml @@ -309,6 +309,7 @@ fs_accountants_outbox: replyable: false metadata: fs_message_id: 1234/2024 + correlation_id: 4bc972bb-9364-47de-bb40-23720f24a4ab author: accountants_basic solver_main_delivery_notification_one: diff --git a/test/models/fs/message_test.rb b/test/models/fs/message_test.rb index 6ec9a37a..60ee075d 100644 --- a/test/models/fs/message_test.rb +++ b/test/models/fs/message_test.rb @@ -4,7 +4,7 @@ require "active_support/all" class Fs::MessageTest < ActiveSupport::TestCase - test "#create_inbox_messages creates new message with delivered_at and fs_submission_created_at values in same format" do + test "#create_inbox_message creates new message with delivered_at and fs_submission_created_at values in same format" do raw_message = { "created_at" => "2024-06-05T10:27:03.105Z", "message_id" => "12345689/2024", @@ -51,4 +51,51 @@ class Fs::MessageTest < ActiveSupport::TestCase assert_equal '2024-06-05 12:27:03 +0200', message.delivered_at.to_s assert_equal '2024-06-05T12:27:01.433+02:00', message.metadata['fs_submission_created_at'] end + + test "#create_inbox_message_with_thread handles adding inbox tag to thread" do + raw_message = { + "created_at" => "2024-06-05T10:27:03.105Z", + "message_id" => "12345689/2024", + "submission_type_id" => "3079", + "submission_type_name" => "Podanie pre FS (Správa daní) – späťvzatie žiadosti", + "message_type_id" => "DRSR_POPP_v02", + "message_type_name" => "Informácia o podaní", + "sent_message_id" => "1234/2024", + "seen" => true, + "is_ekr2" => true, + "status" => "Vybavená", + "submission_status" => "Prijaté a potvrdené", + "dic" => "1122222333", + "subject" => "xy", + "submitting_subject" => "xy", + "submission_created_at" => "2024-06-05T10:27:01.433Z", + "period" => nil, + "dismissal_reason" => nil, + "message_container" => + { + "message_id" => SecureRandom.uuid, + "sender_id" => "FSSR", + "recipient_id" => "1122222333", + "message_type" => "ED.DeliveryReport", + "subject" => "x", + "objects" => [ + { + "class" => "FORM", + "description" => "DeliveryReport", + "encoding" => "XML", + "id" => SecureRandom.uuid, + "signed" => true, + "mime_type" => "application/xml", + "name" => "DeliveryReport", + "content" => + "xy" + } + ] + } + } + + Fs::Message.create_inbox_message_with_thread!(raw_message, box: boxes(:fs_accountants)) + + assert Message.last.thread.tags.include?(tags(:accountants_inbox)) + end end