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_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