From 7b09b027371d921643d4a732a5932a8d7ae44336 Mon Sep 17 00:00:00 2001 From: Sojan Jose Date: Wed, 8 Nov 2023 17:02:48 -0800 Subject: [PATCH] chore: Fix trigger message for response Bot (#8322) - Fix the bug where wrong messages was used to search response sources --- .../enterprise/message_templates/response_bot_service.rb | 2 +- .../enterprise/message_templates/response_bot_service_spec.rb | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/enterprise/app/services/enterprise/message_templates/response_bot_service.rb b/enterprise/app/services/enterprise/message_templates/response_bot_service.rb index 0c1bcc220..214b33788 100644 --- a/enterprise/app/services/enterprise/message_templates/response_bot_service.rb +++ b/enterprise/app/services/enterprise/message_templates/response_bot_service.rb @@ -3,7 +3,7 @@ class Enterprise::MessageTemplates::ResponseBotService def perform ActiveRecord::Base.transaction do - @response = get_response(conversation.messages.last.content) + @response = get_response(conversation.messages.incoming.last.content) process_response end rescue StandardError => e diff --git a/spec/enterprise/services/enterprise/message_templates/response_bot_service_spec.rb b/spec/enterprise/services/enterprise/message_templates/response_bot_service_spec.rb index 180fa4cef..42c62bc62 100644 --- a/spec/enterprise/services/enterprise/message_templates/response_bot_service_spec.rb +++ b/spec/enterprise/services/enterprise/message_templates/response_bot_service_spec.rb @@ -14,10 +14,11 @@ RSpec.describe Enterprise::MessageTemplates::ResponseBotService, type: :service stub_request(:post, 'https://api.openai.com/v1/embeddings').to_return(status: 200, body: {}.to_json, headers: { Content_Type: 'application/json' }) create(:message, message_type: :incoming, conversation: conversation, content: 'Hi') + create(:message, message_type: :outgoing, conversation: conversation, content: 'Hello') 4.times { create(:response, response_source: response_source) } allow(ChatGpt).to receive(:new).and_return(chat_gpt_double) allow(chat_gpt_double).to receive(:generate_response).and_return({ 'response' => 'some_response', 'context_ids' => Response.all.map(&:id) }) - allow(conversation.inbox).to receive(:get_responses).and_return([response_object]) + allow(conversation.inbox).to receive(:get_responses).with('Hi').and_return([response_object]) end describe '#perform' do