Chore: Increase test coverage for widget messages (#472)
This commit is contained in:
@@ -33,7 +33,8 @@ RSpec.describe '/api/v1/widget/messages', type: :request do
|
|||||||
describe 'POST /api/v1/widget/messages' do
|
describe 'POST /api/v1/widget/messages' do
|
||||||
context 'when post request is made' do
|
context 'when post request is made' do
|
||||||
it 'creates message in conversation' do
|
it 'creates message in conversation' do
|
||||||
message_params = { content: 'hello world' }
|
conversation.destroy # Test all params
|
||||||
|
message_params = { content: 'hello world', timestamp: Time.current }
|
||||||
post api_v1_widget_messages_url,
|
post api_v1_widget_messages_url,
|
||||||
params: { website_token: web_widget.website_token, message: message_params },
|
params: { website_token: web_widget.website_token, message: message_params },
|
||||||
headers: { 'X-Auth-Token' => token },
|
headers: { 'X-Auth-Token' => token },
|
||||||
@@ -64,6 +65,19 @@ RSpec.describe '/api/v1/widget/messages', type: :request do
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
context 'when put request is made with invalid email' do
|
||||||
|
it 'rescues the error' do
|
||||||
|
message = create(:message, account: account, inbox: web_widget.inbox, conversation: conversation)
|
||||||
|
contact_params = { email: nil }
|
||||||
|
put api_v1_widget_message_url(message.id),
|
||||||
|
params: { website_token: web_widget.website_token, contact: contact_params },
|
||||||
|
headers: { 'X-Auth-Token' => token },
|
||||||
|
as: :json
|
||||||
|
|
||||||
|
expect(response).to have_http_status(:internal_server_error)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
context 'when put request is made with existing email' do
|
context 'when put request is made with existing email' do
|
||||||
it 'updates message in conversation and deletes the current contact' do
|
it 'updates message in conversation and deletes the current contact' do
|
||||||
message = create(:message, account: account, inbox: web_widget.inbox, conversation: conversation)
|
message = create(:message, account: account, inbox: web_widget.inbox, conversation: conversation)
|
||||||
|
|||||||
Reference in New Issue
Block a user