mirror of
https://github.com/internetee/registry.git
synced 2025-05-21 11:49:40 +02:00
Owner contact validation
This commit is contained in:
parent
4396ec665c
commit
62b3ff6fc7
5 changed files with 45 additions and 34 deletions
|
@ -22,6 +22,9 @@ class Domain < ActiveRecord::Base
|
|||
validates :name, domain_name: true, uniqueness: { message: I18n.t('errors.messages.epp_domain_taken') }
|
||||
validates :name_puny, domain_name: true
|
||||
validates :period, numericality: { only_integer: true, greater_than: 0, less_than: 100 }
|
||||
validates :owner_contact, presence: true
|
||||
# validates :tech_contacts_count
|
||||
# validates :admin_contacts_count
|
||||
|
||||
def name=(value)
|
||||
value.strip!
|
||||
|
|
|
@ -39,6 +39,9 @@ en:
|
|||
attributes:
|
||||
name:
|
||||
blank: 'Required parameter missing - name'
|
||||
owner_contact:
|
||||
blank: 'Required parameter missing - owner contact'
|
||||
|
||||
|
||||
errors:
|
||||
messages:
|
||||
|
|
|
@ -6,44 +6,47 @@ describe 'EPP Domain', epp: true do
|
|||
context 'with valid user' do
|
||||
before(:each) { Fabricate(:epp_user) }
|
||||
|
||||
# incomplete
|
||||
it 'creates a domain' do
|
||||
response = epp_request('domains/create.xml')
|
||||
expect(response[:result_code]).to eq('1000')
|
||||
expect(response[:msg]).to eq('Command completed successfully')
|
||||
expect(response[:clTRID]).to eq('ABC-12345')
|
||||
expect(Domain.first.registrar.name).to eq('Zone Media OÜ')
|
||||
end
|
||||
context 'with citizen as an owner' do
|
||||
before(:each) { Fabricate(:contact, code: 'jd1234') }
|
||||
|
||||
it 'does not create duplicate domain' do
|
||||
epp_request('domains/create.xml')
|
||||
response = epp_request('domains/create.xml')
|
||||
expect(response[:result_code]).to eq('2302')
|
||||
expect(response[:msg]).to eq('Domain name already exists')
|
||||
expect(response[:clTRID]).to eq('ABC-12345')
|
||||
end
|
||||
it 'creates a domain' do
|
||||
response = epp_request('domains/create.xml')
|
||||
expect(response[:result_code]).to eq('1000')
|
||||
expect(response[:msg]).to eq('Command completed successfully')
|
||||
expect(response[:clTRID]).to eq('ABC-12345')
|
||||
expect(Domain.first.registrar.name).to eq('Zone Media OÜ')
|
||||
end
|
||||
|
||||
it 'does not create reserved domain' do
|
||||
Fabricate(:reserved_domain)
|
||||
response = epp_request('domains/create_reserved.xml')
|
||||
expect(response[:result_code]).to eq('2302')
|
||||
expect(response[:msg]).to eq('Domain name is reserved or restricted')
|
||||
expect(response[:clTRID]).to eq('ABC-12345')
|
||||
end
|
||||
it 'does not create duplicate domain' do
|
||||
epp_request('domains/create.xml')
|
||||
response = epp_request('domains/create.xml')
|
||||
expect(response[:result_code]).to eq('2302')
|
||||
expect(response[:msg]).to eq('Domain name already exists')
|
||||
expect(response[:clTRID]).to eq('ABC-12345')
|
||||
end
|
||||
|
||||
it 'creates a domain with contacts' do
|
||||
Fabricate(:contact, code: 'jd1234')
|
||||
Fabricate(:contact, code: 'sh8013')
|
||||
Fabricate(:contact, code: 'sh801333')
|
||||
it 'does not create reserved domain' do
|
||||
Fabricate(:reserved_domain)
|
||||
response = epp_request('domains/create_reserved.xml')
|
||||
expect(response[:result_code]).to eq('2302')
|
||||
expect(response[:msg]).to eq('Domain name is reserved or restricted')
|
||||
expect(response[:clTRID]).to eq('ABC-12345')
|
||||
end
|
||||
|
||||
response = epp_request('domains/create.xml')
|
||||
expect(response[:result_code]).to eq('1000')
|
||||
expect(response[:msg]).to eq('Command completed successfully')
|
||||
expect(response[:clTRID]).to eq('ABC-12345')
|
||||
it 'creates a domain with contacts' do
|
||||
Fabricate(:contact, code: 'jd1234')
|
||||
Fabricate(:contact, code: 'sh8013')
|
||||
Fabricate(:contact, code: 'sh801333')
|
||||
|
||||
expect(Domain.first.tech_contacts.count).to eq 2
|
||||
expect(Domain.first.admin_contacts.count).to eq 1
|
||||
expect(Domain.first.owner_contact).to_not be nil
|
||||
response = epp_request('domains/create.xml')
|
||||
expect(response[:result_code]).to eq('1000')
|
||||
expect(response[:msg]).to eq('Command completed successfully')
|
||||
expect(response[:clTRID]).to eq('ABC-12345')
|
||||
|
||||
expect(Domain.first.tech_contacts.count).to eq 2
|
||||
expect(Domain.first.admin_contacts.count).to eq 1
|
||||
expect(Domain.first.owner_contact).to_not be nil
|
||||
end
|
||||
end
|
||||
|
||||
it 'checks a domain' do
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
Fabricator(:domain) do
|
||||
name { "#{Faker::Internet.domain_word}.ee" }
|
||||
period 1
|
||||
owner_contact(fabricator: :contact)
|
||||
end
|
||||
|
|
|
@ -40,7 +40,8 @@ describe Domain do
|
|||
|
||||
expect(d.errors.messages).to match_array({
|
||||
name: ['Required parameter missing - name'],
|
||||
period: ['is not a number']
|
||||
period: ['is not a number'],
|
||||
owner_contact: ['Required parameter missing - owner contact']
|
||||
})
|
||||
end
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue