73 lines
1.5 KiB
Ruby
73 lines
1.5 KiB
Ruby
|
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
|