Added missing CID for custom code

This commit is contained in:
Priit Tark 2015-05-04 14:41:27 +03:00
parent 6bded6bc80
commit 60d564d098
4 changed files with 29 additions and 20 deletions

View file

@ -55,10 +55,11 @@ class Epp::Contact < Contact
# add prefix when needed # add prefix when needed
if custom_code.present? if custom_code.present?
prefix, custom = custom_code.split(':') cid, rcode, custom = custom_code.split(':')
if prefix != registrar.code && custom != registrar.code if "#{cid}:#{rcode}" != registrar.contact_prefix
custom_code = "#{registrar.code}:#{custom_code}" custom_code = "#{registrar.contact_prefix}:#{custom_code}"
end end
custom_code = nil if custom_code == registrar.contact_prefix
end end
super( super(

View file

@ -140,4 +140,8 @@ class Registrar < ActiveRecord::Base
def code=(code) def code=(code)
self[:code] = code.gsub(/[ :]/, '').upcase if new_record? && code.present? self[:code] = code.gsub(/[ :]/, '').upcase if new_record? && code.present?
end end
def contact_prefix
"CID:#{code}"
end
end end

View file

@ -142,20 +142,20 @@ describe 'EPP Contact', epp: true do
cr_date.text.to_time.should be_within(5).of(Time.zone.now) cr_date.text.to_time.should be_within(5).of(Time.zone.now)
end end
it 'should add registrar prefix for code when missing' do
response = create_request({ id: { value: 'abc:ABC:12345' } })
response[:msg].should == 'Command completed successfully'
response[:result_code].should == '1000'
Contact.last.code.should == 'FIRST0:abc:ABC:12345'
end
it 'should add registrar prefix for code when missing' do it 'should add registrar prefix for code when missing' do
response = create_request({ id: { value: 'abc12345' } }) response = create_request({ id: { value: 'abc12345' } })
response[:msg].should == 'Command completed successfully' response[:msg].should == 'Command completed successfully'
response[:result_code].should == '1000' response[:result_code].should == '1000'
Contact.last.code.should == 'FIRST0:abc12345' Contact.last.code.should == 'CID:FIRST0:abc12345'
end
it 'should add registrar prefix for code when missing' do
response = create_request({ id: { value: 'abc:ABC:12345' } })
response[:msg].should == 'Command completed successfully'
response[:result_code].should == '1000'
Contact.last.code.should == 'CID:FIRST0:abc:ABC:12345'
end end
it 'should not allow spaces in custom code' do it 'should not allow spaces in custom code' do
@ -165,31 +165,31 @@ describe 'EPP Contact', epp: true do
end end
it 'should not add registrar prefix for code when prefix present' do it 'should not add registrar prefix for code when prefix present' do
response = create_request({ id: { value: 'FIRST0:abc:ABC:NEW:12345' } }) response = create_request({ id: { value: 'CID:FIRST0:abc:ABC:NEW:12345' } })
response[:msg].should == 'Command completed successfully' response[:msg].should == 'Command completed successfully'
response[:result_code].should == '1000' response[:result_code].should == '1000'
Contact.last.code.should == 'FIRST0:abc:ABC:NEW:12345' Contact.last.code.should == 'CID:FIRST0:abc:ABC:NEW:12345'
end end
it 'should not add registrar prefix for code when prefix present' do it 'should not add registrar prefix for code when prefix present' do
response = create_request({ id: { value: 'FIRST0:abc22' } }) response = create_request({ id: { value: 'CID:FIRST0:abc22' } })
response[:msg].should == 'Command completed successfully' response[:msg].should == 'Command completed successfully'
response[:result_code].should == '1000' response[:result_code].should == '1000'
Contact.last.code.should == 'FIRST0:abc22' Contact.last.code.should == 'CID:FIRST0:abc22'
end end
it 'should add registrar prefix for code does not match exactly to prefix' do it 'should add registrar prefix for code does not match exactly to prefix' do
response = create_request({ id: { value: 'first0:abc:ABC:11111' } }) response = create_request({ id: { value: 'cid:first0:abc:ABC:11111' } })
response[:msg].should == 'Command completed successfully' response[:msg].should == 'Command completed successfully'
response[:result_code].should == '1000' response[:result_code].should == '1000'
Contact.last.code.should == 'FIRST0:first0:abc:ABC:11111' Contact.last.code.should == 'CID:FIRST0:cid:first0:abc:ABC:11111'
end end
it 'should ignore custom code when value is prefix' do it 'should ignore custom code when only contact prefix given' do
response = create_request({ id: { value: 'FIRST0' } }) response = create_request({ id: { value: 'CID:FIRST0' } })
response[:msg].should == 'Command completed successfully' response[:msg].should == 'Command completed successfully'
response[:result_code].should == '1000' response[:result_code].should == '1000'

View file

@ -89,6 +89,10 @@ describe Registrar do
registrar.code.should == 'WITH.DOT' registrar.code.should == 'WITH.DOT'
end end
it 'should have contact prefix' do
@registrar.contact_prefix.should == 'CID:REGISTRAR0'
end
it 'should have one version' do it 'should have one version' do
with_versioning do with_versioning do
@registrar.versions.should == [] @registrar.versions.should == []