diff --git a/spec/requests/epp/domain/renew/account_balance_spec.rb b/spec/requests/epp/domain/renew/account_balance_spec.rb new file mode 100644 index 000000000..6543b7225 --- /dev/null +++ b/spec/requests/epp/domain/renew/account_balance_spec.rb @@ -0,0 +1,89 @@ +require 'rails_helper' + +RSpec.describe 'EPP domain:renew' do + let(:request) { post '/epp/command/renew', frame: request_xml } + let!(:user) { create(:api_user_epp, registrar: registrar) } + let!(:pricelist) { create(:pricelist, + category: 'com', + duration: '1year', + price: Money.from_amount(1), + operation_category: 'renew', + valid_from: Time.zone.parse('05.07.2010'), + valid_to: Time.zone.parse('05.07.2010')) + } + + before :example do + travel_to Time.zone.parse('05.07.2010') + sign_in_to_epp_area(user: user) + end + + context 'when account balance is sufficient' do + let!(:registrar) { create(:registrar_with_unlimited_balance) } + let!(:domain) { create(:domain, + registrar: registrar, + name: 'test.com', + expire_time: Time.zone.parse('05.07.2010')) + } + let(:request_xml) { <<-XML + + + + + + test.com + 2010-07-05 + 1 + + + + + XML + } + + it 'renews domain' do + request + domain.reload + expect(domain.expire_time).to eq(Time.zone.parse('05.07.2011')) + end + + specify do + request + expect(response).to have_code_of(1000) + end + end + + context 'when account balance is not sufficient' do + let!(:registrar) { create(:registrar_with_zero_balance) } + let!(:domain) { create(:domain, + registrar: registrar, + name: 'test.com', + expire_time: Time.zone.parse('05.07.2010')) + } + let(:request_xml) { <<-XML + + + + + + test.com + 2010-07-04 + 1 + + + + + XML + } + + it 'does not renew domain' do + request + domain.reload + expect(domain.expire_time).to eq(Time.zone.parse('05.07.2010')) + end + + specify do + request + expect(response).to have_code_of(2104) + end + end +end diff --git a/spec/requests/epp/domain/renew/expire_time_spec.rb b/spec/requests/epp/domain/renew/expire_time_spec.rb index 520ed338a..ae9006548 100644 --- a/spec/requests/epp/domain/renew/expire_time_spec.rb +++ b/spec/requests/epp/domain/renew/expire_time_spec.rb @@ -18,7 +18,7 @@ RSpec.describe 'EPP domain:renew' do sign_in_to_epp_area(user: user) end - context 'when given expire time is the same as current' do + context 'when given expire time and current match' do let!(:domain) { create(:domain, registrar: registrar, name: 'test.com', @@ -52,7 +52,7 @@ RSpec.describe 'EPP domain:renew' do end end - context 'when given expire time is not the same as current' do + context 'when given expire time and current do not match' do let!(:domain) { create(:domain, registrar: registrar, name: 'test.com', diff --git a/spec/requests/epp/domain/renew_spec.rb b/spec/requests/epp/domain/renew/limit_spec.rb similarity index 100% rename from spec/requests/epp/domain/renew_spec.rb rename to spec/requests/epp/domain/renew/limit_spec.rb