New contacts not creating legacy CID prefix

This commit is contained in:
Priit Tark 2015-05-05 11:56:50 +03:00
parent 1a28b501aa
commit 3b009dc194
3 changed files with 20 additions and 17 deletions

View file

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

View file

@ -140,8 +140,4 @@ 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

@ -147,7 +147,7 @@ describe 'EPP Contact', epp: true do
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 == 'CID:FIRST0:abc12345' Contact.last.code.should == 'FIRST0:abc12345'
end end
it 'should add registrar prefix for code when missing' do it 'should add registrar prefix for code when missing' do
@ -155,7 +155,7 @@ describe 'EPP Contact', epp: true do
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 == 'CID:FIRST0:abc:ABC:12345' Contact.last.code.should == 'FIRST0:abc:ABC:12345'
end end
it 'should not allow spaces in custom code' do it 'should not allow spaces in custom code' do
@ -164,28 +164,36 @@ describe 'EPP Contact', epp: true do
response[:result_code].should == '2005' response[:result_code].should == '2005'
end end
it 'should not add registrar prefix for code when prefix present' do it 'should not add registrar prefix for code when legacy prefix present' do
response = create_request({ id: { value: 'CID: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 == 'CID:FIRST0:abc:ABC:NEW:12345' Contact.last.code.should == 'FIRST0:abc:ABC:NEW:12345'
end
it 'should not remove suffix CID' do
response = create_request({ id: { value: 'CID:FIRST0:abc:CID:ABC:NEW:12345' } })
response[:msg].should == 'Command completed successfully'
response[:result_code].should == '1000'
Contact.last.code.should == 'FIRST0:abc:CID: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: 'CID:FIRST0:abc22' } }) response = create_request({ id: { value: '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 == 'CID:FIRST0:abc22' Contact.last.code.should == '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: 'cid:first0:abc:ABC:11111' } }) response = create_request({ id: { value: 'cid2: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 == 'CID:FIRST0:cid:first0:abc:ABC:11111' Contact.last.code.should == 'FIRST0:cid2:first0:abc:ABC:11111'
end end
it 'should ignore custom code when only contact prefix given' do it 'should ignore custom code when only contact prefix given' do