diff --git a/app/models/domain.rb b/app/models/domain.rb index d2b739a5c..7cda78657 100644 --- a/app/models/domain.rb +++ b/app/models/domain.rb @@ -173,7 +173,7 @@ class Domain < ActiveRecord::Base class << self def convert_period_to_time(period, unit) - return period.to_i.days if unit == 'd' + return period.to_i.days if unit == 'd' return period.to_i.months if unit == 'm' return period.to_i.years if unit == 'y' end diff --git a/spec/epp/domain_spec.rb b/spec/epp/domain_spec.rb index 22d8f386a..592a7c8ec 100644 --- a/spec/epp/domain_spec.rb +++ b/spec/epp/domain_spec.rb @@ -108,6 +108,13 @@ describe 'EPP Domain', epp: true do expect(response[:msg]).to eq('Command completed successfully') expect(Domain.first.valid_to).to eq(Date.today + 1.year) end + + it 'does not create a domain with invalid period' do + response = epp_request('domains/create_w_invalid_period.xml') + expect(response[:results][0][:result_code]).to eq('2004') + expect(response[:results][0][:msg]).to eq('Period must add up to 1, 2 or 3 years') + expect(response[:results][0][:value]).to eq('843') + end end context 'with juridical persion as an owner' do diff --git a/spec/epp/requests/domains/create_w_invalid_period.xml b/spec/epp/requests/domains/create_w_invalid_period.xml new file mode 100644 index 000000000..6d790db36 --- /dev/null +++ b/spec/epp/requests/domains/create_w_invalid_period.xml @@ -0,0 +1,24 @@ + + + + + + example.ee + 843 + + ns1.example.net + ns2.example.net + + jd1234 + sh8013 + sh8013 + sh801333 + + 2fooBAR + + + + ABC-12345 + +