2012-12-19 10 views
7

W moim Rails 3 app, używam attr jQuery() aby robić rzeczy tak:Jak używać Capybara do testowania, że ​​element formularza jest wyłączony podczas korzystania z metody propagacji jQuery?

$('#application_dust_type_id').attr('disabled', 'disabled'); 

użyłbym test/unit, kapibary i capybara-WebKit przetestować to z:

assert page.has_selector? 'select[id=application_dust_type_id][disabled=disabled]' 

teraz próbuję przełączyć się za pomocą metody propan, jak jQuery poleca:

$('#application_dust_type_id').prop('disabled', true) 

Ale teraz powyższe twierdzenie nie powiedzie się, chociaż nadal działa javascript to samo w przeglądarce.

Jak mogę utworzyć asercję na podstawie właściwości elementu (zamiast atrybutu) za pomocą kapibara?

Odpowiedz

7

Spróbuj właśnie sprawdzanie do istnienia z atrybutem disabled jak to jest wszystko, co jest naprawdę potrzebne, aby wyłączyć wejście:

assert page.has_selector? 'select[id=application_dust_type_id][disabled]' 

pamiętać, że wartość atrybutu disabled jest dyskusyjna. Można ustawić wartość disabled="false" lub disabled="foobar", a element będzie renderowany jako wyłączony.

Powiązane problemy