Refactor poll specs

This commit is contained in:
Martin Lensment 2015-01-26 16:10:57 +02:00
parent bfb8670233
commit 7676b76df8

View file

@ -3,16 +3,17 @@ require 'rails_helper'
describe 'EPP Poll', epp: true do describe 'EPP Poll', epp: true do
let(:server_zone) { Epp::Server.new({ server: 'localhost', tag: 'zone', password: 'ghyt9e4fu', port: 701 }) } let(:server_zone) { Epp::Server.new({ server: 'localhost', tag: 'zone', password: 'ghyt9e4fu', port: 701 }) }
let(:server_elkdata) { Epp::Server.new({ server: 'localhost', tag: 'elkdata', password: 'ghyt9e4fu', port: 701 }) } let(:server_elkdata) { Epp::Server.new({ server: 'localhost', tag: 'elkdata', password: 'ghyt9e4fu', port: 701 }) }
let(:elkdata) { Fabricate(:registrar, { name: 'Elkdata', reg_no: '123' }) }
let(:zone) { Fabricate(:registrar) }
let(:epp_xml) { EppXml::Session.new } let(:epp_xml) { EppXml::Session.new }
before(:each) { create_settings } before(:each) { create_settings }
context 'with valid user' do before(:all) do
before(:each) do @elkdata = Fabricate(:registrar, { name: 'Elkdata', reg_no: '123' })
Fabricate(:epp_user, username: 'zone', registrar: zone) @zone = Fabricate(:registrar)
Fabricate(:epp_user, username: 'elkdata', registrar: elkdata) Fabricate(:epp_user, username: 'zone', registrar: @zone)
Fabricate(:epp_user, username: 'elkdata', registrar: @elkdata)
@uniq_no = proc { @i ||= 0; @i += 1 }
end end
it 'returns no messages in poll' do it 'returns no messages in poll' do
@ -47,7 +48,7 @@ describe 'EPP Poll', epp: true do
end end
it 'queues and dequeues messages' do it 'queues and dequeues messages' do
msg = zone.messages.create({ body: 'Balance low.' }) msg = @zone.messages.create({ body: 'Balance low.' })
response = epp_request(epp_xml.poll, :xml, :elkdata) response = epp_request(epp_xml.poll, :xml, :elkdata)
expect(response[:msg]).to eq('Command completed successfully; no messages') expect(response[:msg]).to eq('Command completed successfully; no messages')
@ -93,9 +94,9 @@ describe 'EPP Poll', epp: true do
end end
it 'dequeues multiple messages' do it 'dequeues multiple messages' do
zone.messages.create({ body: 'Balance low.' }) @zone.messages.create({ body: 'Balance low.' })
zone.messages.create({ body: 'Something.' }) @zone.messages.create({ body: 'Something.' })
zone.messages.create({ body: 'Smth else.' }) @zone.messages.create({ body: 'Smth else.' })
response = epp_request(epp_xml.poll, :xml, :zone) response = epp_request(epp_xml.poll, :xml, :zone)
expect(response[:msg]).to eq('Command completed successfully; ack to dequeue') expect(response[:msg]).to eq('Command completed successfully; ack to dequeue')
@ -156,4 +157,3 @@ describe 'EPP Poll', epp: true do
expect(response[:result_code]).to eq('1300') expect(response[:result_code]).to eq('1300')
end end
end end
end