Owner contact validation

This commit is contained in:
Martin Lensment 2014-07-31 11:44:52 +03:00
parent 4396ec665c
commit 62b3ff6fc7
5 changed files with 45 additions and 34 deletions

View file

@ -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!

View file

@ -39,6 +39,9 @@ en:
attributes:
name:
blank: 'Required parameter missing - name'
owner_contact:
blank: 'Required parameter missing - owner contact'
errors:
messages:

View file

@ -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

View file

@ -1,4 +1,5 @@
Fabricator(:domain) do
name { "#{Faker::Internet.domain_word}.ee" }
period 1
owner_contact(fabricator: :contact)
end

View file

@ -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