W mojej fabryce mam pole boolowskie (ocenione), które próbuję ustawić na false. Chcę pole być wymagane, a zawsze ustawiony na prawda lub fałszywegoFactoryGirl: Przypisywanie wartości false do boolowskiej
Modelu
validates_presence_of :evaluated
Fabrykę
FactoryGirl.define do
factory :submission do
evaluated true
score 1.5
ranking 1.5
submission_type "user"
.
.
end
end
W teście
it { should validate_presence_of(:evaluated) }
Kiedy biegnę to
Failure/Error: expect(@submission).to be_valid
expected #<Submission id: nil, competition_id: 163, user_id: 134, team_id: nil, evaluated: false, score: 1.5, ranking: 1.5, submission_type_cd: "user", withdrawn: true, withdrawn_date: "2016-02-08", created_at: nil, updated_at: nil> to be valid, but got errors: Evaluated can't be blank
Gdybym zmienić wartość true, test przechodzi
evaluated true
Jak mogę założyć fabrykę z fałszywych wartości dla wartości logiczne?
To bardziej, że nie można potwierdzić obecność logicznych. 'false.present? => false' –
Więc najlepszą opcją jest dodanie go jako nie zerowego na poziomie db? – ardochhigh
Tak, właśnie to robię –