Я бы хотел проверить свои модели, но вся информация, которую я мог найти, кажется устаревшей. Моя цель - проверить каждую отдельную проверку. Моя модель:Rails - FactoryGirl - тестовые модели [валидация]
class Author < ActiveRecord::Base
has_and_belongs_to_many :books
before_save :capitalize_names
validates :name, :surname, presence: true, length: { minimum: 3 },
format: { with: /[a-zA-Z]/ }
private
def capitalize_names
self.name.capitalize!
self.surname.capitalize!
end
end
и мой factorygirl определить:
FactoryGirl.define do
factory :author do |f|
f.name { Faker::Name.first_name }
f.surname { Faker::Name.last_name }
end
end
Так что теперь, я хочу, чтобы проверить, является ли имя не короче 3-х символов.
Мой контекст:
context 'when first name is too short' do
it { expect(FactoryGirl.build(:author, name: 'Le')).to
be_falsey }
end
Я знаю, что это недопустимо, так как из [FactoryGirl.build (: автор, название: 'Le')] возвращает хеш вместо логического значения. Итак, как мне его проверить? Какой помощник я должен использовать?
Вы можете оставить официальный ответ самостоятельно, а затем выбрать этот вопрос ответил, так это легко увидеть, для других ваших вопросов был дан ответ :) – sourcx
Спасибо за подсказку :) Я вы только что сделали это – mike927