Class: Splinter::Capybara::FormCompleter
- Inherits:
-
Object
- Object
- Splinter::Capybara::FormCompleter
- Defined in:
- lib/splinter/capybara/form_completer.rb
Overview
The FormCompleter is a simple proxy that delegates actions to a Capybara session.
Instance Attribute Summary collapse
-
#submitted ⇒ Object
readonly
Returns the value of attribute submitted.
Instance Method Summary collapse
- #checkbox(id, value = nil) ⇒ Object
- #date(id, value) ⇒ Object
- #datetime(id, value) ⇒ Object
-
#initialize(base, page) ⇒ FormCompleter
constructor
A new instance of FormCompleter.
- #radio(id, value) ⇒ Object
- #select(id, value) ⇒ Object
- #submit(selector = "//form[contains(@id,'#{@base}')]//*[@type='submit']") ⇒ Object
-
#submitted? ⇒ Boolean
Public: Checks if this form has already been submitted.
- #text_field(id, value) ⇒ Object (also: #text_area)
- #time(id, value) ⇒ Object
Constructor Details
#initialize(base, page) ⇒ FormCompleter
Returns a new instance of FormCompleter.
8 9 10 11 |
# File 'lib/splinter/capybara/form_completer.rb', line 8 def initialize(base, page) @base = base @page = page end |
Instance Attribute Details
#submitted ⇒ Object (readonly)
Returns the value of attribute submitted.
6 7 8 |
# File 'lib/splinter/capybara/form_completer.rb', line 6 def submitted @submitted end |
Instance Method Details
#checkbox(id, value = nil) ⇒ Object
18 19 20 |
# 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) ⇒ Object
34 35 36 |
# 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) ⇒ Object
38 39 40 |
# 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) ⇒ Object
22 23 24 |
# File 'lib/splinter/capybara/form_completer.rb', line 22 def radio(id, value) @page.send :choose, "#{@base}_#{id}_#{value}" end |
#select(id, value) ⇒ Object
26 27 28 |
# 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,'#{@base}')]//*[@type='submit']") ⇒ Object
42 43 44 45 |
# 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? ⇒ Boolean
Public: Checks if this form has already been submitted.
48 49 50 |
# File 'lib/splinter/capybara/form_completer.rb', line 48 def submitted? submitted end |
#text_field(id, value) ⇒ Object Also known as: text_area
13 14 15 |
# 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 |
#time(id, value) ⇒ Object
30 31 32 |
# File 'lib/splinter/capybara/form_completer.rb', line 30 def time(id, value) @page.send :select_time, value, { :id_prefix => "#{@base}_#{id}" } end |