Я использую самоцветов bootstrap-datepicker-rails для своего приложения и создали форму, в которой пользователи могут выбрать дату начала и дату окончания.Тестирование дампинг-гема с Rspec
Когда пользователь редактирует форму, я хочу, чтобы они могли видеть даты, которые они ранее выбрали. (например, Начало: 31 октября 2015 г., Окончание: 15 ноября 2015 г.).
Я пытаюсь написать тест, чтобы убедиться, что мое приложение это делает, но я застрял в синтаксисе.
user_updates_project_spec.rb
require "rails_helper"
feature "User updates project" do
before (:each) do
@user = create(:user)
login_as(@user, scope: :user)
@project = create(:project, creator: @user,
name: "Building a robot",
start_at: "2015-10-31",
end_at: "2015-11-15",)
end
scenario "and sees correct dates on form" do
visit edit_user_project_path(@user, @project)
expect(".datepicker").to have_content("October 31, 2015")
end
end
Ошибки я получаю:
Failure/Error: expect(".datepicker").to have_content("October 31, 2015")
expected to find text "October 31, 2015" in ".datepicker"
Это то, что моя форма выглядит следующим образом:
<div class="col-sm-6 pl0">
<%= f.input :start_at, label: "Start Date", as: :string,
input_html: {value:@project.set_start_date_for_form.to_s(:long),
class: "datepicker start-date"} %>
</div>
<div class="col-sm-6 pr0">
<%= f.input :end_at, label: "End Date", as: :string,
input_html: {value: @project.set_end_date_for_form.to_s(:long),
class: "datepicker end-date"} %>
</div>
Любые идеи о том, почему это не так за работой?
Вы были правы, я не проверял правильный элемент. Что закончилось: ожидать (страница) .to have_css ("# project_start_at [значение = '31 октября 2015 года]") ожидать (страница) .to have_css ("# project_end_at [value =' 15 ноября , 2015 '] ") –
Хорошо - поскольку вы проверяете атрибуты значения для двух элементов, я собираюсь предположить, что они являются полями ввода некоторого типа - в этом случае вы также можете использовать expect (page).to_all ('project_start_at', с: '31 октября 2015'), который обеспечивает немного лучшее чтение и несколько других функций. –