From ae52ca87aa6c85cdb7d8aa0be637e0ba6cb6bcdf Mon Sep 17 00:00:00 2001 From: Vishnu Narayanan Date: Thu, 12 Oct 2023 17:11:04 +0530 Subject: [PATCH] fix: Handle empty status in conversation controller (#8091) Fixes CW-2644 --- app/controllers/api/v1/accounts/conversations_controller.rb | 2 +- .../api/v1/accounts/conversations_controller_spec.rb | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/app/controllers/api/v1/accounts/conversations_controller.rb b/app/controllers/api/v1/accounts/conversations_controller.rb index cd8547213..eb3187d54 100644 --- a/app/controllers/api/v1/accounts/conversations_controller.rb +++ b/app/controllers/api/v1/accounts/conversations_controller.rb @@ -60,7 +60,7 @@ class Api::V1::Accounts::ConversationsController < Api::V1::Accounts::BaseContro end def toggle_status - if params[:status] + if params[:status].present? set_conversation_status @status = @conversation.save! else diff --git a/spec/controllers/api/v1/accounts/conversations_controller_spec.rb b/spec/controllers/api/v1/accounts/conversations_controller_spec.rb index af3589ce5..90cd018f3 100644 --- a/spec/controllers/api/v1/accounts/conversations_controller_spec.rb +++ b/spec/controllers/api/v1/accounts/conversations_controller_spec.rb @@ -340,11 +340,12 @@ RSpec.describe 'Conversations API', type: :request do create(:inbox_member, user: agent, inbox: conversation.inbox) end - it 'toggles the conversation status' do + it 'toggles the conversation status if status is empty' do expect(conversation.status).to eq('open') post "/api/v1/accounts/#{account.id}/conversations/#{conversation.display_id}/toggle_status", headers: agent.create_new_auth_token, + params: { status: '' }, as: :json expect(response).to have_http_status(:success)