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