У меня есть модель с ассоциацией, которую я строю в контроллере для вложенной формы
def edit
@trans_op = TransportOperator.find params[:id]
@trans_op.coverages.build
end
Как проверить, что линия @trans_op.coverages.build
существует?
describe "GET edit" do
let!(:trans_op){ Factory :trans_op }
it "should be a success" do
get :edit, id: trans_op
response.should be_success
end
# this test needs to be fixed
it "should build an empty coverage if there are none" do
get :edit, id: trans_op
# ???
end
end
Я пробовал издеваться:
it "should build an empty coverage if there are none" do
trans_op.coverages.should_receive(:build)
get :edit, id: trans_op
end
1) TransportOperatorsController GET edit should add an empty coverage if there are none
Failure/Error: Unable to find matching line from backtrace
([]).build(any args)
expected: 1 time
received: 0 times
и считая
it "should build an empty coverage if there are none" do
get :edit, id: trans_op
trans_op.coverages.count.should == 1
end
Неудачи:
1) TransportOperatorsController GET edit should add an empty coverage if there are none
Failure/Error: trans_op.coverages.count.should == 1
expected: 1
got: 0 (using ==)