Skip to content

Commit

Permalink
revert: "fix: message_type inconsistency across message end points" (
Browse files Browse the repository at this point in the history
  • Loading branch information
muhsin-k authored Sep 16, 2024
1 parent 05b8486 commit 5d52e4e
Show file tree
Hide file tree
Showing 13 changed files with 22 additions and 40 deletions.
2 changes: 1 addition & 1 deletion app/models/message.rb
Original file line number Diff line number Diff line change
Expand Up @@ -137,7 +137,7 @@ def channel_token
def push_event_data
data = attributes.symbolize_keys.merge(
created_at: created_at.to_i,
message_type: message_type.to_i,
message_type: message_type_before_type_cast,
conversation_id: conversation.display_id,
conversation: conversation_push_event_data
)
Expand Down
2 changes: 1 addition & 1 deletion app/views/api/v1/accounts/search/_message.json.jbuilder
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
json.id message.id
json.content message.content
json.message_type message.message_type.to_i
json.message_type message.message_type_before_type_cast
json.content_type message.content_type
json.source_id message.source_id
json.inbox_id message.inbox_id
Expand Down
2 changes: 1 addition & 1 deletion app/views/api/v1/models/_conversation.json.jbuilder
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ json.messages do
json.content message.content
json.id message.id
json.sender_name message.sender.name if message.sender
json.message_type message.message_type.to_i
json.message_type message.message_type_before_type_cast
json.created_at message.created_at.to_i
end
end
Expand Down
2 changes: 1 addition & 1 deletion app/views/api/v1/models/_message.json.jbuilder
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ json.content message.content
json.inbox_id message.inbox_id
json.echo_id message.echo_id if message.echo_id
json.conversation_id message.conversation.display_id
json.message_type message.message_type.to_i
json.message_type message.message_type_before_type_cast
json.content_type message.content_type
json.status message.status
json.content_attributes message.content_attributes
Expand Down
2 changes: 1 addition & 1 deletion app/views/api/v1/models/_widget_message.json.jbuilder
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
json.id resource.id
json.content resource.content
json.message_type resource.message_type.to_i
json.message_type resource.message_type_before_type_cast
json.content_type resource.content_type
json.content_attributes resource.content_attributes
json.created_at resource.created_at.to_i
Expand Down
2 changes: 1 addition & 1 deletion app/views/api/v1/widget/messages/create.json.jbuilder
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ json.id @message.id
json.content @message.content
json.inbox_id @message.inbox_id
json.conversation_id @message.conversation.display_id
json.message_type @message.message_type.to_i
json.message_type @message.message_type_before_type_cast
json.created_at @message.created_at.to_i
json.private @message.private
json.source_id @message.source_id
Expand Down
2 changes: 1 addition & 1 deletion app/views/api/v1/widget/messages/index.json.jbuilder
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ json.payload do
json.array! @messages do |message|
json.id message.id
json.content message.content
json.message_type message.message_type.to_i
json.message_type message.message_type_before_type_cast
json.content_type message.content_type
json.content_attributes message.content_attributes
json.created_at message.created_at.to_i
Expand Down
2 changes: 1 addition & 1 deletion app/views/public/api/v1/models/_message.json.jbuilder
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
json.id resource.id
json.content resource.content
json.message_type resource.message_type.to_i
json.message_type resource.message_type_before_type_cast
json.content_type resource.content_type
json.content_attributes resource.content_attributes
json.created_at resource.created_at.to_i
Expand Down
1 change: 0 additions & 1 deletion spec/controllers/api/v1/accounts/search_controller_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -112,7 +112,6 @@

expect(response_data[:payload].keys).to contain_exactly(:messages)
expect(response_data[:payload][:messages].length).to eq 2
expect(response_data[:payload][:messages].first[:message_type]).to eq 0
end
end
end
Expand Down
41 changes: 13 additions & 28 deletions spec/controllers/api/v1/widget/conversations_controller_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -13,21 +13,6 @@
Widget::TokenService.new(payload: { source_id: second_session.source_id, inbox_id: web_widget.inbox.id }).generate_token
end

def conversation_params
{
website_token: web_widget.website_token,
contact: {
name: 'contact-name',
email: '[email protected]',
phone_number: '+919745313456'
},
message: {
content: 'This is a test message'
},
custom_attributes: { order_id: '12345' }
}
end

describe 'GET /api/v1/widget/conversations' do
context 'with a conversation' do
it 'returns the correct conversation params' do
Expand Down Expand Up @@ -62,10 +47,21 @@ def conversation_params
end

describe 'POST /api/v1/widget/conversations' do
it 'creates a conversation with correct details' do
it 'creates a conversation' do
post '/api/v1/widget/conversations',
headers: { 'X-Auth-Token' => token },
params: conversation_params,
params: {
website_token: web_widget.website_token,
contact: {
name: 'contact-name',
email: '[email protected]',
phone_number: '+919745313456'
},
message: {
content: 'This is a test message'
},
custom_attributes: { order_id: '12345' }
},
as: :json

expect(response).to have_http_status(:success)
Expand All @@ -74,19 +70,8 @@ def conversation_params
expect(json_response['contact']['email']).to eq '[email protected]'
expect(json_response['contact']['phone_number']).to eq '+919745313456'
expect(json_response['contact']['name']).to eq 'contact-name'
end

it 'creates a conversation with correct message and custom attributes' do
post '/api/v1/widget/conversations',
headers: { 'X-Auth-Token' => token },
params: conversation_params,
as: :json

expect(response).to have_http_status(:success)
json_response = response.parsed_body
expect(json_response['custom_attributes']['order_id']).to eq '12345'
expect(json_response['messages'][0]['content']).to eq 'This is a test message'
expect(json_response['messages'][0]['message_type']).to eq 0
end

it 'create a conversation with a name and without an email' do
Expand Down
1 change: 0 additions & 1 deletion spec/controllers/api/v1/widget/messages_controller_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,6 @@
expect(response).to have_http_status(:success)
json_response = response.parsed_body
expect(json_response['content']).to eq(message_params[:content])
expect(json_response['message_type']).to eq 0
end

it 'does not create the message' do
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,6 @@
expect(response).to have_http_status(:success)
data = response.parsed_body
expect(data['content']).to eq('hello')
expect(data['message_type']).to eq(0)
end

it 'does not create the message' do
Expand Down
2 changes: 1 addition & 1 deletion spec/models/message_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@
external_source_ids: message.external_source_ids,
id: message.id,
inbox_id: message.inbox_id,
message_type: message.message_type.to_i,
message_type: message.message_type_before_type_cast,
private: message.private,
processed_message_content: message.processed_message_content,
sender_id: message.sender_id,
Expand Down

0 comments on commit 5d52e4e

Please sign in to comment.