Вместо этого следует использовать destroyed?
(или exists?
, или persisted?
), поскольку present?
просто проверяет наличие объекта, что является правильным поведением после уничтожения (destroy
само возвращает удаленный объект) .
def add_employee_weightloss
p check_in.weigh_in.destroyed?
end
Также не следует использовать следующее:
expect(wi.reload).to eq(nil)
потому что, если wi
был уничтожен, вы получите исключение ActiveRecord::RecordNotFound
вместо nil
. Вы можете попробовать следующее:
it "employee weightloss" do
wi = WeighIn.create(check_in: CheckIn.create)
wi.destroy
expect(wi.destroyed?).to eq(true)
end