У меня есть тест, определенный так:
it "should have allow you to fill out the new form and save a customer" do
customer = Factory.build(:customer)
visit new_customer_path
factory_to_form "customer", customer, ["kf_code", "supported"]
click_button "customer_submit"
current_path.should eq(customer_path(Customer.last))
page.should have_content "created customer"
page.should have_content customer.long_name
end
это довольно просто, это устанавливает клиента на мою фабрику клиентов, а затем заполняет новую форму действий данными с этой фабрики (что делает мой макрос factory_to_form) и нажимает кнопку отправки.
Моя проблема в том, что кнопка отправки, кажется, никогда не касается действия создания, оно идет в "/ Customers" и не сохраняет клиента.
Форма стандартная form_for(@customer)
, а кнопка просто f.submit
, я не могу представить себе причину, по которой эта форма будет нормально работать в браузере, но не в этом тесте.
Почему бы капибаре не отправлять в нужное место?