Я хочу поймать ошибку ActiveRecord на Rspe c: (я также использую фабрику)
Rspe c
it "should throw an error" do
animal = create(:animal)
food_store = -1;
expect(animal.update!(food_store: food_store)).to raise_error(ActiveRecord::RecordInvalid)
Валидатор:
class AnimalValidator < ActiveModel::Validator
def validate(record)
if record.food_store < 1
record.errors[:food_store] << "store can't be negative"
end
end
end
Я получаю это сообщение об ошибке:
Failure/Error: expect(animal.update!(food_store: new_share)).raise_error(ActiveRecord::RecordInvalid)
ActiveRecord::RecordInvalid:
Validation failed: store can't be negative
Как мне перехватить эту ошибку activeRecord?