2022-07-06 19:45:03 +00:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
|
|
|
require 'rails_helper'
|
|
|
|
|
|
|
|
RSpec.describe Channel::Whatsapp do
|
|
|
|
describe 'validate_provider_config' do
|
|
|
|
let(:channel) { build(:channel_whatsapp, provider: 'whatsapp_cloud', account: create(:account)) }
|
|
|
|
|
|
|
|
it 'validates false when provider config is wrong' do
|
|
|
|
stub_request(:get, 'https://graph.facebook.com/v14.0//message_templates?access_token=test_key').to_return(status: 401)
|
2022-07-15 02:51:59 +00:00
|
|
|
expect(channel.save).to be(false)
|
2022-07-06 19:45:03 +00:00
|
|
|
end
|
|
|
|
|
|
|
|
it 'validates true when provider config is right' do
|
|
|
|
stub_request(:get, 'https://graph.facebook.com/v14.0//message_templates?access_token=test_key')
|
|
|
|
.to_return(status: 200,
|
|
|
|
body: { data: [{
|
|
|
|
id: '123456789', name: 'test_template'
|
|
|
|
}] }.to_json)
|
2022-07-15 02:51:59 +00:00
|
|
|
expect(channel.save).to be(true)
|
2022-07-06 19:45:03 +00:00
|
|
|
end
|
|
|
|
end
|
2022-10-12 00:32:31 +00:00
|
|
|
|
|
|
|
describe 'webhook_verify_token' do
|
|
|
|
it 'generates webhook_verify_token if not present' do
|
|
|
|
channel = create(:channel_whatsapp, provider_config: { webhook_verify_token: nil }, provider: 'whatsapp_cloud', account: create(:account),
|
|
|
|
validate_provider_config: false, sync_templates: false)
|
|
|
|
|
|
|
|
expect(channel.provider_config['webhook_verify_token']).not_to be_nil
|
|
|
|
end
|
|
|
|
|
|
|
|
it 'does not generate webhook_verify_token if present' do
|
|
|
|
channel = create(:channel_whatsapp, provider: 'whatsapp_cloud', provider_config: { webhook_verify_token: '123' }, account: create(:account),
|
|
|
|
validate_provider_config: false, sync_templates: false)
|
|
|
|
|
|
|
|
expect(channel.provider_config['webhook_verify_token']).to eq '123'
|
|
|
|
end
|
|
|
|
end
|
2022-07-06 19:45:03 +00:00
|
|
|
end
|