trabajo-afectivo/spec/models/channel/driver/sms/massenversand_spec.rb

73 lines
1.5 KiB
Ruby
Raw Normal View History

require 'rails_helper'
RSpec.describe Channel::Driver::Sms::Massenversand do
it 'passes' do
channel = create_channel
stub_request(:get, url_to_mock)
.to_return(body: 'OK')
api = channel.driver_instance.new
expect(api.send(channel.options, { recipient: receiver_number, message: message_body })).to be true
end
it 'fails' do
channel = create_channel
stub_request(:get, url_to_mock)
.to_return(body: 'blocked receiver ()')
api = channel.driver_instance.new
expect { api.send(channel.options, { recipient: receiver_number, message: message_body }) }.to raise_exception(RuntimeError)
end
private
def create_channel
FactoryBot.create(:channel,
options: {
adapter: 'sms/massenversand',
gateway: gateway,
sender: sender_number,
token: token
},
created_by_id: 1,
updated_by_id: 1)
end
def url_to_mock
params = {
authToken: token,
getID: 1,
msg: message_body,
msgtype: 'c',
receiver: receiver_number,
sender: sender_number
}
gateway + '?' + URI.encode_www_form(params)
end
# api parameters
def gateway
'https://gate1.goyyamobile.com/sms/sendsms.asp'
end
def message_body
'Test'
end
def receiver_number
'+37060010000'
end
def sender_number
'+491000000000'
end
def token
'00q1234123423r5rwefdfsfsfef'
end
end