2013-03-22 4 views
1

У меня есть модель с валидаций, как это:Как проверить валидацию монгоидной модели с сообщением от shoulda?

class Order 
    include Mongoid::Document 

    field :first_name, type: String 
    field :last_name, type: String 

    validates_presence_of :first_name, :message => "Can't be empty" 
    validates_presence_of :last_name, :message => "Can't be empty" 
end 

я описываю модель, rspec и thoughtbot's shoulda:

describe Order do 
    # validations 
    it { should validate_presence_of(:first_name) } 
    it { should presence_of(:last_name) } 
end 

Но я получаю отказы:

Failures: 

    1) Order 
    Failure/Error: it { should validate_presence_of(:first_name) } 
     Expected errors to include "can't be blank" when first_name is set to nil, got errors: ["first_name Can't be empty (nil)", "last_name Can't be empty (nil)"] 
    # ./spec/models/order_spec.rb:10:in `block (2 levels) in <top (required)>' 

Кроме того 'следует' -cases работают очень хорошо без сообщений в моделях.

Как проверить проверку модели с помощью сообщений?

ответ

4

mongoid-rspec gem позволяет тестировать модели с сообщениями.

it { should validate_uniqueness_of(:email).with_message("is already taken") } 

 Смежные вопросы

  • Нет связанных вопросов^_^