From 587db31cdd123051efc083dd920fe24cfa2cc214 Mon Sep 17 00:00:00 2001 From: Shivam Mishra Date: Mon, 3 Jul 2023 16:06:43 +0530 Subject: [PATCH] test: nil condition if labels are missing --- .../openai/processor_service_spec.rb | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/spec/lib/integrations/openai/processor_service_spec.rb b/spec/lib/integrations/openai/processor_service_spec.rb index 04306c27b..b4cf747fb 100644 --- a/spec/lib/integrations/openai/processor_service_spec.rb +++ b/spec/lib/integrations/openai/processor_service_spec.rb @@ -4,8 +4,6 @@ RSpec.describe Integrations::Openai::ProcessorService do subject { described_class.new(hook: hook, event: event) } let(:account) { create(:account) } - let(:label1) { create(:label, account: account) } - let(:label2) { create(:label, account: account) } let(:hook) { create(:integrations_hook, :openai, account: account) } let(:expected_headers) { { 'Authorization' => "Bearer #{hook.settings['api_key']}" } } let(:openai_response) do @@ -100,8 +98,10 @@ RSpec.describe Integrations::Openai::ProcessorService do end end - context 'when event name is label_suggestion' do + context 'when event name is label_suggestion with labels' do let(:event) { { 'name' => 'label_suggestion', 'data' => { 'conversation_display_id' => conversation.display_id } } } + let(:label1) { create(:label, account: account) } + let(:label2) { create(:label, account: account) } let(:label_suggestion_payload) do labels = "#{label1.title}, #{label2.title}" messages = @@ -110,7 +110,7 @@ RSpec.describe Integrations::Openai::ProcessorService do "Messages:\n#{messages}\n\nLabels:\n#{labels}" end - it 'returns the label suggestions with no labels' do + it 'returns the label suggestions' do request_body = { 'model' => 'gpt-3.5-turbo', 'messages' => [ @@ -137,6 +137,15 @@ RSpec.describe Integrations::Openai::ProcessorService do end end + context 'when event name is label_suggestion with no labels' do + let(:event) { { 'name' => 'label_suggestion', 'data' => { 'conversation_display_id' => conversation.display_id } } } + + it 'returns nil' do + result = subject.perform + expect(result).to be_nil + end + end + context 'when event name is not one that can be processed' do let(:event) { { 'name' => 'unknown', 'data' => {} } }