From 44482846808615902c5f14e3fe0129b0b02c060d Mon Sep 17 00:00:00 2001 From: Priit Tark Date: Mon, 1 Jun 2015 17:48:23 +0300 Subject: [PATCH] Added ident country code error #2590 --- app/models/contact.rb | 2 +- app/models/epp/contact.rb | 3 ++- config/locales/en.yml | 1 + spec/epp/contact_spec.rb | 19 +++++++++++++++++-- spec/models/contact_spec.rb | 4 +++- 5 files changed, 24 insertions(+), 5 deletions(-) diff --git a/app/models/contact.rb b/app/models/contact.rb index 34d3c53ae..5cbc6ac53 100644 --- a/app/models/contact.rb +++ b/app/models/contact.rb @@ -181,7 +181,7 @@ class Contact < ActiveRecord::Base if code self.ident_country_code = code.alpha2 else - errors.add(:ident_country_code, 'is not following ISO_3166-1 alpha 2 format') + errors.add(:ident, :invalid_country_code) end end end diff --git a/app/models/epp/contact.rb b/app/models/epp/contact.rb index f106a4247..b07bdc124 100644 --- a/app/models/epp/contact.rb +++ b/app/models/epp/contact.rb @@ -123,7 +123,8 @@ class Epp::Contact < Contact [:email, :invalid], [:ident, :invalid], [:ident, :invalid_EE_identity_format], - [:ident, :invalid_birthday_format] + [:ident, :invalid_birthday_format], + [:ident, :invalid_country_code] ], '2302' => [ # Object exists [:code, :epp_id_taken] diff --git a/config/locales/en.yml b/config/locales/en.yml index 4a4707f59..4e66c4283 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -48,6 +48,7 @@ en: blank: "Required parameter missing - ident" invalid_EE_identity_format: "Ident not in valid Estonian identity format." invalid_birthday_format: "Ident not in valid birthady format, should be YYYY-MM-DD" + invalid_country_code: "Ident country code is not valid, should be in ISO_3166-1 alpha 2 format" domains: exist: 'Object association prohibits operation' diff --git a/spec/epp/contact_spec.rb b/spec/epp/contact_spec.rb index 02540e109..12857d013 100644 --- a/spec/epp/contact_spec.rb +++ b/spec/epp/contact_spec.rb @@ -100,7 +100,7 @@ describe 'EPP Contact', epp: true do log.api_user_registrar.should == 'registrar1' end - it 'successfully saves ident type' do + it 'successfully saves ident type with legal document' do extension = { legalDocument: { value: 'JVBERi0xLjQKJcOkw7zDtsOfCjIgMCBvYmoKPDwvTGVuZ3RoIDMgMCBSL0Zp==', @@ -116,7 +116,9 @@ describe 'EPP Contact', epp: true do response[:msg].should == 'Command completed successfully' response[:result_code].should == '1000' - Contact.last.ident_type.should == 'birthday' + @contact = Contact.last + @contact.ident_type.should == 'birthday' + @contact.legal_documents.size.should == 1 end it 'successfully adds registrar' do @@ -164,6 +166,19 @@ describe 'EPP Contact', epp: true do response[:result_code].should == '2005' end + it 'should not saves ident type with wrong country code' do + extension = { + ident: { + value: '1990-22-12', + attrs: { type: 'birthday', cc: 'WRONG' } + } + } + response = create_request({}, extension) + response[:msg].should == + 'Ident country code is not valid, should be in ISO_3166-1 alpha 2 format [ident]' + response[:result_code].should == '2005' + end + it 'should add registrar prefix for code when legacy prefix present' do response = create_request({ id: { value: 'CID:FIRST0:abc:ABC:NEW:12345' } }) response[:msg].should == 'Command completed successfully' diff --git a/spec/models/contact_spec.rb b/spec/models/contact_spec.rb index 0b42f2812..107f72106 100644 --- a/spec/models/contact_spec.rb +++ b/spec/models/contact_spec.rb @@ -73,11 +73,13 @@ describe Contact do end it 'should require valid country code' do + @contact.ident = '123' @contact.ident_type = 'bic' @contact.ident_country_code = 'INVALID' @contact.valid? - @contact.errors[:ident_country_code].should == ['is not following ISO_3166-1 alpha 2 format'] + @contact.errors[:ident].should == + ['Ident country code is not valid, should be in ISO_3166-1 alpha 2 format'] end it 'should convert to alpha2 country code' do