class Splinter::Capybara::FormCompleter

The FormCompleter is a simple proxy that delegates actions to a Capybara session.

Attributes

submitted[R]

Public Class Methods

new(base, page) click to toggle source
# File lib/splinter/capybara/form_completer.rb, line 8
def initialize(base, page)
  @base = base
  @page = page
end

Public Instance Methods

checkbox(id, value = nil) click to toggle source
# File lib/splinter/capybara/form_completer.rb, line 18
def checkbox(id, value = nil)
  @page.send value ? :check : :uncheck, "#{@base}_#{id}"
end
date(id, value) click to toggle source
# File lib/splinter/capybara/form_completer.rb, line 34
def date(id, value)
  @page.send :select_date, value, { :id_prefix => "#{@base}_#{id}" }
end
datetime(id, value) click to toggle source
# File lib/splinter/capybara/form_completer.rb, line 38
def datetime(id, value)
  @page.send :select_datetime, value, { :id_prefix => "#{@base}_#{id}" }
end
radio(id, value) click to toggle source
# File lib/splinter/capybara/form_completer.rb, line 22
def radio(id, value)
  @page.send :choose, "#{@base}_#{id}_#{value}"
end
select(id, value) click to toggle source
# File lib/splinter/capybara/form_completer.rb, line 26
def select(id, value)
  @page.send :find_and_select_option, "#{@base}_#{id}", value
end
submit(selector = "//form[contains(@id,' click to toggle source
# File lib/splinter/capybara/form_completer.rb, line 42
def submit(selector = "//form[contains(@id,'#{@base}')]//*[@type='submit']")
  @page.send(:find, :xpath, selector).click
  @submitted = true
end
submitted?() click to toggle source

Public: Checks if this form has already been submitted.

# File lib/splinter/capybara/form_completer.rb, line 48
def submitted?
  submitted
end
text_area(id, value)
Alias for: text_field
text_field(id, value) click to toggle source
# File lib/splinter/capybara/form_completer.rb, line 13
def text_field(id, value)
  @page.send :fill_in, "#{@base}_#{id}", { :with => value.to_s }
end
Also aliased as: text_area
time(id, value) click to toggle source
# File lib/splinter/capybara/form_completer.rb, line 30
def time(id, value)
  @page.send :select_time, value, { :id_prefix => "#{@base}_#{id}" }
end