Как проверить ввод коллекции в простой форме, используя капибару - PullRequest
0 голосов
/ 30 апреля 2020

Я пытаюсь проверить, будет ли заполнен ввод, имеющий коллекцию, я использую простую форму для моей формы и капибару с Rspe c для теста. Это ввод, который я пытаюсь заполнить <%= f.input :number_of_beds, collection: House::NUMBEROFBEDS, label: false %>.

Модель дома имеет NUMBEROFBEDS, представляющий собой массив, подобный следующему:

class House < ApplicationRecord
  NUMBEROFBEDS = [1,2,3,4,5,6]
end

В моем spec / system / create_house_spe c .rb . Я попытался проверить, что я могу заполнить ввод number_of_beds следующим образом:

require "rails_helper"
RSpec.describe "Create House" do
  scenario 'successful house creation' do 
    visit new_house_path
    fill_in 'house_number_of_beds', with: '1'
  end
end

Но я получаю следующую ошибку

  1) Create House successful bed creation
     Failure/Error: fill_in 'house_number_of_beds', with: '1'

     Capybara::ElementNotFound:
       Unable to find field "house_number_of_beds" that is not disabled

1 Ответ

0 голосов
/ 30 апреля 2020

Параметр сбора в простой форме работает как select tag, поэтому тестирование его с помощью fill_in не дает результатов, лучше всего использовать select, т.е. select '1', from: 'house_number_of_beds'

...