require 'rails_helper' RSpec.describe 'EPP domain:create', settings: false do let(:request) { post '/epp/command/create', frame: request_xml } let!(:user) { create(:api_user_epp, registrar: registrar) } let!(:contact) { create(:contact, code: 'test') } let!(:zone) { create(:zone, origin: 'test') } let!(:registrar) { create(:registrar_with_unlimited_balance) } before :example do travel_to Time.zone.parse('05.07.2010 10:30') Setting.days_to_renew_domain_before_expire = 0 sign_in_to_epp_area(user: user) end context 'when period is 3 months' do let!(:price) { create(:price, duration: '3 mons', price: Money.from_amount(1), operation_category: 'create', valid_from: Time.zone.parse('05.07.2010'), valid_to: Time.zone.parse('05.07.2010'), zone: zone) } let(:request_xml) { <<-XML test.test 3 test #{valid_legal_document} XML } it 'creates domain' do expect { request }.to change { Domain.count }.from(0).to(1) end specify 'expire_time' do request expire_time = (Time.zone.parse('05.07.2010 10:30') + 3.months + 1.day).beginning_of_day expect(Domain.first.expire_time).to eq(expire_time) end specify do request expect(response).to have_code_of(1000) end end context 'when period is 10 years' do let!(:price) { create(:price, duration: '10 years', price: Money.from_amount(1), operation_category: 'create', valid_from: Time.zone.parse('05.07.2010'), valid_to: Time.zone.parse('05.07.2010'), zone: zone) } let(:request_xml) { <<-XML test.test 10 test #{valid_legal_document} XML } it 'creates domain' do expect { request }.to change { Domain.count }.from(0).to(1) end specify 'expire_time' do request expire_time = (Time.zone.parse('05.07.2010 10:30') + 10.years + 1.day).beginning_of_day expect(Domain.first.expire_time).to eq(expire_time) end specify do request expect(response).to have_code_of(1000) end end end