Skip to content

Instantly share code, notes, and snippets.

@lbspen
Created May 29, 2013 23:11
Show Gist options
  • Save lbspen/5674563 to your computer and use it in GitHub Desktop.
Save lbspen/5674563 to your computer and use it in GitHub Desktop.
Select date and time for capybara-rspec from rails forms
def select_date(date, options = {})
field = options[:from]
base_id = find(:xpath, ".//label[contains(.,'#{field}')]")[:for]
year, month, day = date.split(',')
select year, :from => "#{base_id}_1i"
select month, :from => "#{base_id}_2i"
select day, :from => "#{base_id}_3i"
end
def select_time(hour, minute, options = {})
field = options[:from]
base_id = find(:xpath, ".//label[contains(.,'#{field}')]")[:for]
select hour, :from => "#{base_id}_4i"
select minute, :from => "#{base_id}_5i"
end
@ClayShentrup
Copy link

  def select_date(date, from:)
    label_el = find('label', text: from)
    id = label_el['for']
    select(date.year, from: "#{id}_1i")
    select(date.strftime("%B"), from: "#{id}_2i")
    select(date.day, from: "#{id}_3i")
  end

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment