user_type - это столбец в пользовательской модели, и он должен быть :sence => true. Он отклоняет в rspec при передаче nil в user_type. Однако factory_girl может сохранить nil user_type в поле с помощью sqlite3.
Ходовые рельсы 3.1.0. rspec 2.6.0 и factory_girl 2.1.0
// модель пользователя:
validates :user_type, :presence => true
// Определение фабричной девушки:
Factory.define :user do |user|
user.name "Test User"
user.email "test@test.com"
user.password "password1"
user.password_confirmation "password1"
user.status "active"
user.user_type "employee"
end
Factory.define :user_level do |level|
level.role "sales"
level.position "member"
level.team 1
level.association :user
end
// rspec case: пройдено
it "should reject user type nil" do
user = Factory.build(:user, :user_type => nil)
user.should_not be_valid
end
it "should take user type 'employee'" do
user = Factory.build(:user, :user_type => 'employee')
user.errors[:user_type].should be_empty
user.should be_valid
end
Есть мысли? Благодарю.