Капибара click_button не идет, чтобы создать действие - PullRequest
4 голосов
/ 19 июля 2011

У меня есть тест, определенный так:

    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, я не могу представить себе причину, по которой эта форма будет нормально работать в браузере, но не в этом тесте.

Почему бы капибаре не отправлять в нужное место?

1 Ответ

0 голосов
/ 29 марта 2013

Есть ли JavaScript? Возможно, попробуйте использовать такой драйвер, как Webkit.

setup do
  Capybara.javascript_driver = :webkit
  Capybara.current_driver = Capybara.javascript_driver
end
...