2013-07-02 3 views
0

컨트롤러의 메소드에 AJAX 호출을 보내는 페이지에 체크 박스가 있습니다. 사용자는이 상자를 선택하여 사용자가이 항목을 선택했음을 나타내며 관계는 UserItems라는 조인 테이블에 저장됩니다.레일즈 - RSpec/Capybara 및 AJAX : AJAX 데이터베이스 업데이트를 테스트하는 방법은 무엇입니까?

어떻게 테스트할까요? 현재 가지고있는 항목 :

check "add-this-item-"+item.id.to_s 
@user.user_item.item.should include(item) 

확인란의 이름은 "add-this-item-"과 ID입니다. pry-nav를 사용하여 체크 박스를 찾고 선택했음을 확인했습니다. 그러나 테스트 데이터베이스는 업데이트되지 않습니다.

사이트를 로컬에서 사용할 때 확인란이 데이터베이스를 업데이트합니다.

나는 이것을 알아낼 수 없습니다. 어떤 도움을 주셔서 감사합니다!

답변

1

PhantomJS과 같이 Javascript를 실행할 수있는 Capybara 드라이버를 사용해야합니다. 표준 Capybara 드라이버는 Javascript를 실행하지 않으므로 클릭 핸들러 또는 AJAX를 호출하지 않습니다.