前提・実現したいこと
rspecのsystemテストでイベント作成動作の確認をしたいです
view側のdatetime_selectの値をデータで入れるテストができません
教えてください、、
この方法でなくても、もっと簡単な方法があれば教えて欲しいです
発生している問題・エラーメッセージ
Capybara::ElementNotFound: Unable to find xpath ".//label[contains(.,'event_started_at')]"
該当のソースコード
view
1<%= f.label :start_at, "開始時間" %> 2<%= f.datetime_select :start_at %>
selectDateSpecrb
1module SelectDateHelpers 2 def select_date(date, options = {}) 3 field = options[:from] 4 base_id = find(:xpath, ".//label[contains(.,'#{field}')]")[:for] 5 year, month, day = date.split(',') 6 select year, :from => "#{base_id}_1i" 7 select month, :from => "#{base_id}_2i" 8 select day, :from => "#{base_id}_3i" 9 end 10 11 def select_time(hour, minute, options = {}) 12 field = options[:from] 13 base_id = find(:xpath, ".//label[contains(.,'#{field}')]")[:for] 14 select hour, :from => "#{base_id}_4i" 15 select minute, :from => "#{base_id}_5i" 16 end 17end
railsHelperrb
1RSpec.configure do |config| 2 ︙ 3 config.include SelectDateHelpers 4end
eventSpecrb
1 2 describe 'イベントの作成'do 3 before do 4 visit new_event_path 5 fill_in 'タイトル',with: "title" 6 fill_in '会場', with: "location" 7 select_date("2019,9,28", from: "event_started_at") 8 select_time("13", "00", from: "event_started_at") 9 click_button 'イベント作成' 10 end 11
試したこと
ここに問題に対して試したことを記載してください。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
あなたの回答
tips
プレビュー