2010-03-11 1 views
1

В настоящее время я пытаюсь написать функциональные тесты для загружаемой формы, которая загружается на страницу через AJAX (jQuery). Он загружает форму из действия charge_form, которое возвращает представление consult_form.js.erb.Rails Функциональный тест assert_select javascript reply_to

Все это работает, но у меня проблемы с тестированием.

В функциональности я могу перейти к действию, но я не могу использовать assert_select, чтобы найти элемент и убедиться, что форма на самом деле существует.

Ошибка: 1) Failure: test_should_create_new_consult(ConsultsControllerTest) [/test/functional/consults_controller_test.rb:8]: Expected at least 1 element matching "h4", found 0. <false> is not true.

Это мнение. consult_form.js.erb:

<div id="charging_form"> 
<h4>Charging form</h4> 
<div class="left" id="charge_selection"> 
    <%= select_tag("select_category", options_from_collection_for_select(@categories, :id, :name)) %><br/> 
... 

consults_controller_test.rb:

require 'test_helper' 

class ConsultsControllerTest < ActionController::TestCase 
def test_should_create_new_consult 
    get_with_user :charge_form, :animal_id => animals(:one), :id => consults(:one), :format => 'js' 
    assert_response :success 

    assert_select 'h4', "Charging form" #can't find h4 
end 
end 

Есть ли проблема с использованием assert_select с другими, чем HTML типов?

Благодарим за помощь!

ответ

0

Итак, проблема заключалась в том, что я должен поместить javascript в .js и HTML в .html: P Kinda очевидно.

Я помещал html в файл javascript. Я исправил его, просто переименовав charge_form.js.erb в charge_form.html.erb.