diff --git a/app/models/contact.rb b/app/models/contact.rb index ec37811fa..77d118312 100644 --- a/app/models/contact.rb +++ b/app/models/contact.rb @@ -4,6 +4,8 @@ class Contact < ActiveRecord::Base has_many :addresses + validates_presence_of :code, :name, :phone, :email, :ident + validate :ident_must_be_valid validates :phone, format: { with: /\+\d{3}\.\d+/, message: "bad format" } diff --git a/config/locales/en.yml b/config/locales/en.yml index 76909cf82..8092cad4c 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -20,6 +20,22 @@ # available at http://guides.rubyonrails.org/i18n.html. en: + activerecord: + errors: + models: + contact: + attributes: + code: + blank: "Required parameter missing - code" + name: + blank: "Required parameter missing - name" + phone: + blank: "Required parameter missing - phone" + email: + blank: "Required parameter missing - email" + ident: + blank: "Required parameter missing - ident" + errors: messages: epp_domain_reserved: 'Domain name is reserved or restricted' diff --git a/spec/models/contact_spec.rb b/spec/models/contact_spec.rb index a3136ce5e..f782e5ff7 100644 --- a/spec/models/contact_spec.rb +++ b/spec/models/contact_spec.rb @@ -15,6 +15,19 @@ describe Contact do @contact.ident = "123abc" expect(@contact.valid?).to be false end + + it 'should return missing parameter error messages' do + @contact = Contact.new + expect(@contact.valid?).to eq false + + expect(@contact.errors.messages).to match_array({ + :code=>["Required parameter missing - code"], + :name=>["Required parameter missing - name"], + :phone=>["Required parameter missing - phone", "bad format"], + :email=>["Required parameter missing - email"], + :ident=>["Required parameter missing - ident"] + }) + end end context 'with valid attributes' do