mirror of
https://github.com/internetee/registry.git
synced 2025-08-01 23:42:04 +02:00
parent
c442e502b0
commit
a3b3490591
9 changed files with 372 additions and 77 deletions
59
spec/requests/epp/domain/create/default_period_spec.rb
Normal file
59
spec/requests/epp/domain/create/default_period_spec.rb
Normal file
|
@ -0,0 +1,59 @@
|
|||
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) }
|
||||
let!(:price) { create(:price,
|
||||
duration: '1 year',
|
||||
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
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<epp xmlns="https://epp.tld.ee/schema/epp-ee-1.0.xsd">
|
||||
<command>
|
||||
<create>
|
||||
<domain:create xmlns:domain="https://epp.tld.ee/schema/domain-eis-1.0.xsd">
|
||||
<domain:name>test.test</domain:name>
|
||||
<domain:registrant>test</domain:registrant>
|
||||
</domain:create>
|
||||
</create>
|
||||
<extension>
|
||||
<eis:extdata xmlns:eis="https://epp.tld.ee/schema/eis-1.0.xsd">
|
||||
<eis:legalDocument type="pdf">#{valid_legal_document}</eis:legalDocument>
|
||||
</eis:extdata>
|
||||
</extension>
|
||||
</command>
|
||||
</epp>
|
||||
XML
|
||||
}
|
||||
|
||||
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 absent' do
|
||||
it 'creates domain' do
|
||||
expect { request }.to change { Domain.count }.from(0).to(1)
|
||||
end
|
||||
|
||||
it 'uses default duration of 1 year' do
|
||||
request
|
||||
expire_time = (Time.zone.parse('05.07.2010') + 1.year + 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
|
|
@ -6,33 +6,6 @@ RSpec.describe 'EPP domain:create', settings: false do
|
|||
let!(:contact) { create(:contact, code: 'test') }
|
||||
let!(:zone) { create(:zone, origin: 'test') }
|
||||
let!(:registrar) { create(:registrar_with_unlimited_balance) }
|
||||
let!(:price) { create(:price,
|
||||
duration: '1 year',
|
||||
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
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<epp xmlns="https://epp.tld.ee/schema/epp-ee-1.0.xsd">
|
||||
<command>
|
||||
<create>
|
||||
<domain:create xmlns:domain="https://epp.tld.ee/schema/domain-eis-1.0.xsd">
|
||||
<domain:name>test.test</domain:name>
|
||||
<domain:registrant>test</domain:registrant>
|
||||
</domain:create>
|
||||
</create>
|
||||
<extension>
|
||||
<eis:extdata xmlns:eis="https://epp.tld.ee/schema/eis-1.0.xsd">
|
||||
<eis:legalDocument type="pdf">#{valid_legal_document}</eis:legalDocument>
|
||||
</eis:extdata>
|
||||
</extension>
|
||||
</command>
|
||||
</epp>
|
||||
XML
|
||||
}
|
||||
|
||||
before :example do
|
||||
travel_to Time.zone.parse('05.07.2010 10:30')
|
||||
|
@ -40,15 +13,91 @@ RSpec.describe 'EPP domain:create', settings: false do
|
|||
sign_in_to_epp_area(user: user)
|
||||
end
|
||||
|
||||
context 'when period is absent' do
|
||||
context 'when period is 3 months' do
|
||||
let!(:price) { create(:price,
|
||||
duration: '3 months',
|
||||
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
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<epp xmlns="https://epp.tld.ee/schema/epp-ee-1.0.xsd">
|
||||
<command>
|
||||
<create>
|
||||
<domain:create xmlns:domain="https://epp.tld.ee/schema/domain-eis-1.0.xsd">
|
||||
<domain:name>test.test</domain:name>
|
||||
<domain:period unit="m">3</domain:period>
|
||||
<domain:registrant>test</domain:registrant>
|
||||
</domain:create>
|
||||
</create>
|
||||
<extension>
|
||||
<eis:extdata xmlns:eis="https://epp.tld.ee/schema/eis-1.0.xsd">
|
||||
<eis:legalDocument type="pdf">#{valid_legal_document}</eis:legalDocument>
|
||||
</eis:extdata>
|
||||
</extension>
|
||||
</command>
|
||||
</epp>
|
||||
XML
|
||||
}
|
||||
|
||||
|
||||
it 'creates domain' do
|
||||
expect { request }.to change { Domain.count }.from(0).to(1)
|
||||
end
|
||||
|
||||
it 'uses default duration of 1 year' do
|
||||
specify 'expire_time' do
|
||||
request
|
||||
valid_to = (Time.zone.parse('05.07.2010') + 1.year + 1.day).beginning_of_day
|
||||
expect(Domain.first.valid_to).to eq(valid_to)
|
||||
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
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<epp xmlns="https://epp.tld.ee/schema/epp-ee-1.0.xsd">
|
||||
<command>
|
||||
<create>
|
||||
<domain:create xmlns:domain="https://epp.tld.ee/schema/domain-eis-1.0.xsd">
|
||||
<domain:name>test.test</domain:name>
|
||||
<domain:period unit="y">10</domain:period>
|
||||
<domain:registrant>test</domain:registrant>
|
||||
</domain:create>
|
||||
</create>
|
||||
<extension>
|
||||
<eis:extdata xmlns:eis="https://epp.tld.ee/schema/eis-1.0.xsd">
|
||||
<eis:legalDocument type="pdf">#{valid_legal_document}</eis:legalDocument>
|
||||
</eis:extdata>
|
||||
</extension>
|
||||
</command>
|
||||
</epp>
|
||||
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
|
||||
|
|
55
spec/requests/epp/domain/renew/default_period_spec.rb
Normal file
55
spec/requests/epp/domain/renew/default_period_spec.rb
Normal file
|
@ -0,0 +1,55 @@
|
|||
require 'rails_helper'
|
||||
|
||||
RSpec.describe 'EPP domain:renew', settings: false do
|
||||
let(:request) { post '/epp/command/renew', frame: request_xml }
|
||||
let!(:user) { create(:api_user_epp, registrar: registrar) }
|
||||
let!(:zone) { create(:zone, origin: 'test') }
|
||||
let!(:registrar) { create(:registrar_with_unlimited_balance) }
|
||||
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)
|
||||
}
|
||||
let!(:domain) { create(:domain,
|
||||
registrar: registrar,
|
||||
name: 'test.test',
|
||||
expire_time: Time.zone.parse('05.07.2010'))
|
||||
}
|
||||
let(:request_xml) { <<-XML
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<epp xmlns="https://epp.tld.ee/schema/epp-ee-1.0.xsd">
|
||||
<command>
|
||||
<renew>
|
||||
<domain:renew xmlns:domain="https://epp.tld.ee/schema/domain-eis-1.0.xsd">
|
||||
<domain:name>test.test</domain:name>
|
||||
<domain:curExpDate>2010-07-05</domain:curExpDate>
|
||||
<domain:period unit="y">1</domain:period>
|
||||
</domain:renew>
|
||||
</renew>
|
||||
</command>
|
||||
</epp>
|
||||
XML
|
||||
}
|
||||
|
||||
before :example do
|
||||
travel_to Time.zone.parse('05.07.2010')
|
||||
Setting.days_to_renew_domain_before_expire = 0
|
||||
sign_in_to_epp_area(user: user)
|
||||
end
|
||||
|
||||
context 'when period is absent' do
|
||||
it 'renews domain for 1 year' 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
|
||||
end
|
93
spec/requests/epp/domain/renew/period_spec.rb
Normal file
93
spec/requests/epp/domain/renew/period_spec.rb
Normal file
|
@ -0,0 +1,93 @@
|
|||
require 'rails_helper'
|
||||
|
||||
RSpec.describe 'EPP domain:renew', settings: false do
|
||||
let(:request) { post '/epp/command/renew', frame: request_xml }
|
||||
let!(:user) { create(:api_user_epp, registrar: registrar) }
|
||||
let!(:zone) { create(:zone, origin: 'test') }
|
||||
let!(:registrar) { create(:registrar_with_unlimited_balance) }
|
||||
let!(:domain) { create(:domain,
|
||||
registrar: registrar,
|
||||
name: 'test.test',
|
||||
expire_time: Time.zone.parse('05.07.2010 10:30'))
|
||||
}
|
||||
|
||||
before :example do
|
||||
travel_to Time.zone.parse('05.07.2010')
|
||||
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 months',
|
||||
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)
|
||||
}
|
||||
let(:request_xml) { <<-XML
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<epp xmlns="https://epp.tld.ee/schema/epp-ee-1.0.xsd">
|
||||
<command>
|
||||
<renew>
|
||||
<domain:renew xmlns:domain="https://epp.tld.ee/schema/domain-eis-1.0.xsd">
|
||||
<domain:name>test.test</domain:name>
|
||||
<domain:curExpDate>2010-07-05</domain:curExpDate>
|
||||
<domain:period unit="m">3</domain:period>
|
||||
</domain:renew>
|
||||
</renew>
|
||||
</command>
|
||||
</epp>
|
||||
XML
|
||||
}
|
||||
|
||||
it 'renews domain for 3 months' do
|
||||
request
|
||||
domain.reload
|
||||
expect(domain.expire_time).to eq(Time.zone.parse('05.10.2010 10:30'))
|
||||
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: 'renew',
|
||||
valid_from: Time.zone.parse('05.07.2010'),
|
||||
valid_to: Time.zone.parse('05.07.2010'),
|
||||
zone: zone)
|
||||
}
|
||||
let(:request_xml) { <<-XML
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<epp xmlns="https://epp.tld.ee/schema/epp-ee-1.0.xsd">
|
||||
<command>
|
||||
<renew>
|
||||
<domain:renew xmlns:domain="https://epp.tld.ee/schema/domain-eis-1.0.xsd">
|
||||
<domain:name>test.test</domain:name>
|
||||
<domain:curExpDate>2010-07-05</domain:curExpDate>
|
||||
<domain:period unit="y">10</domain:period>
|
||||
</domain:renew>
|
||||
</renew>
|
||||
</command>
|
||||
</epp>
|
||||
XML
|
||||
}
|
||||
|
||||
it 'renews domain for 10 years' do
|
||||
request
|
||||
domain.reload
|
||||
expect(domain.expire_time).to eq(Time.zone.parse('05.07.2020 10:30'))
|
||||
end
|
||||
|
||||
specify do
|
||||
request
|
||||
expect(response).to have_code_of(1000)
|
||||
end
|
||||
end
|
||||
end
|
67
spec/requests/epp/domain/renew/price_spec.rb
Normal file
67
spec/requests/epp/domain/renew/price_spec.rb
Normal file
|
@ -0,0 +1,67 @@
|
|||
require 'rails_helper'
|
||||
|
||||
RSpec.describe 'EPP domain:renew', settings: false do
|
||||
let(:request) { post '/epp/command/renew', frame: request_xml }
|
||||
let!(:user) { create(:api_user_epp, registrar: registrar) }
|
||||
let!(:zone) { create(:zone, origin: 'test') }
|
||||
let!(:registrar) { create(:registrar_with_unlimited_balance) }
|
||||
let!(:domain) { create(:domain,
|
||||
registrar: registrar,
|
||||
name: 'test.test',
|
||||
expire_time: Time.zone.parse('05.07.2010 10:30'))
|
||||
}
|
||||
let(:request_xml) { <<-XML
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<epp xmlns="https://epp.tld.ee/schema/epp-ee-1.0.xsd">
|
||||
<command>
|
||||
<renew>
|
||||
<domain:renew xmlns:domain="https://epp.tld.ee/schema/domain-eis-1.0.xsd">
|
||||
<domain:name>test.test</domain:name>
|
||||
<domain:curExpDate>2010-07-05</domain:curExpDate>
|
||||
<domain:period unit="y">1</domain:period>
|
||||
</domain:renew>
|
||||
</renew>
|
||||
</command>
|
||||
</epp>
|
||||
XML
|
||||
}
|
||||
|
||||
before :example do
|
||||
travel_to Time.zone.parse('05.07.2010')
|
||||
Setting.days_to_renew_domain_before_expire = 0
|
||||
sign_in_to_epp_area(user: user)
|
||||
end
|
||||
|
||||
context 'when price is present' do
|
||||
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)
|
||||
}
|
||||
|
||||
it 'renews domain for 1 year' do
|
||||
request
|
||||
domain.reload
|
||||
expect(domain.expire_time).to eq(Time.zone.parse('05.07.2011 10:30'))
|
||||
end
|
||||
|
||||
specify do
|
||||
request
|
||||
expect(response).to have_code_of(1000)
|
||||
end
|
||||
end
|
||||
|
||||
context 'when price is absent' do
|
||||
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(2104)
|
||||
end
|
||||
end
|
||||
end
|
Loading…
Add table
Add a link
Reference in a new issue