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!(:registrar) { create(:registrar_with_unlimited_balance) } let!(:zone) { create(:zone, origin: 'test') } let!(:price) { create(:price, duration: '1 year', price: Money.from_amount(1), operation_category: 'renew', valid_from: Time.zone.parse('05.07.2010'), valid_to: Time.zone.parse('05.07.2010'), zone: zone) } before :example do Setting.days_to_renew_domain_before_expire = 0 travel_to Time.zone.parse('05.07.2010') sign_in_to_epp_area(user: user) end context 'when given expire time and current match' do let!(:domain) { create(:domain, registrar: registrar, name: 'test.test', expire_time: Time.zone.parse('05.07.2010')) } let(:request_xml) { <<-XML test.test 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 given expire time and current do not match' do let!(:domain) { create(:domain, registrar: registrar, name: 'test.test', expire_time: Time.zone.parse('05.07.2010')) } let(:request_xml) { <<-XML test.test 2010-07-04 1 XML } it 'does not renew domain' do expect { request; domain.reload }.to_not change { domain.expire_time } end specify do request expect(response).to have_code_of(2306) end end end