Тест на Капибару и Аякс не работает - PullRequest
0 голосов
/ 28 июня 2011

Я отправляю форму с ajax. Если при отправке формы возникают ошибки, форма снова отображается с использованием ajax, jquery.

Я пытаюсь проверить это поведение с помощью Capybara и Rspec следующим образом:

опишите "ошибка создания платы",: type =>: request do

      it "should not create a birthday board" do
        Capybara.default_wait_time = 5
            lambda do
              visit root_path
              fill_in "Name",      :with => ""
              select('1967', :from => "board_birthday_1i" )
              select('October',   :from => "board_birthday_2i" )
              select('30',   :from => "board_birthday_3i" )
              click_button("Start the surprise")
              page.should have_selector('div#error_explanation')
              page.find_field('Name').value
            end.should_not change(Board, :count)
      end
    end

Результаты следующие:

  Failure/Error: page.should have_selector('div#error_explanation')
       expected following output to contain a <div#error_explanation/> tag:

Однако у меня действительно есть div error_explanation на странице.

Почему этот тест не пройден?

Заранее спасибо.

1 Ответ

0 голосов
/ 06 июля 2011

Вы пытались подождать несколько секунд до получения ответа.

Добавить sleep(3) до

page.should have_selector('div#error_explanation')

Строка и проверка снова. Это может помочь.

...