Capybara nie widzi pola po zmianie z disabled: true na disabled: false

Witam,

Mam takie pytanie …

Mam test:

    it 'creates new business contact' do
      visit 'strona'
      fill_in 'Imię', with: 'Jo'
      fill_in 'Nazwisko', with: 'Black'
      fill_in 'Email', with: 'jb@test.com'
      fill_in 'Ulica i numer lokalu', with: 'Sezamkowa 33/1 B'
      fill_in 'Kod pocztowy', with: '51-140'
      fill_in 'Miasto', with: 'Zakopane'

     // tu pole powinno być read only
      expect(page).to have_field('contact_create_business_name', disabled: true)

      // po wybraniu account type = Firma, pole contact_create_business_name powinno się zmienić na edytowalne
      select 'Firma', :from => 'account_type'
      expect(page).to have_field('contact_create_business_name', disabled: false)
  end

Niestety w ostatniej linijce leci taki błąd:
expected to find field "contact_create_business_name" that is disabled but there were no matches.

W UI wszystko wygląda ok, jquery zmienia pole contact_create_business_name z disabled: true na false.
Jedyny problem to test. Czy muszę jakoś przeładować stronę, poczekać aż jquery się przeładuje (zakończy), czy problem leży gdzie indziej?

Z góry bardzo dziękuję za pomoc.
Bartek.

Może zapomniałeś js: true?

Tak, to było to :wink:

Dziękuję bardzo za pomoc.

1 Like