Module: Cornucopia::Capybara::SelectableValues

Extended by:
ActiveSupport::Concern
Defined in:
lib/cornucopia/capybara/selectable_values.rb

Instance Method Summary collapse

Instance Method Details

#select_value(values) ⇒ Object

select_value finds the option with the value #value then calls select_option on that item.

select_value only works on select boxes.



16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'lib/cornucopia/capybara/selectable_values.rb', line 16

def select_value(values)
  raise "select_value is only valid for select items" unless self.tag_name == "select"

  if values.is_a?(Array)
    values.each do |value|
      html_safe_value = "".html_safe + value.to_s
      self.find("option[value=\"#{html_safe_value}\"]", visible: false).select_option
    end
  else
    html_safe_value = "".html_safe + values.to_s
    self.find("option[value=\"#{html_safe_value}\"]", visible: false).select_option
  end
end

#value_textObject

value_text returns the text for the selected items in the select box instead of the value(s)

value_text only works on select boxes.



33
34
35
36
37
38
39
40
41
42
43
44
# File 'lib/cornucopia/capybara/selectable_values.rb', line 33

def value_text
  raise "value_text is only valid for select items" unless self.tag_name == "select"

  values = self.value
  if values.is_a?(Array)
    values.map do |value|
      self.find("option[value=\"#{value}\"]", visible: false).text
    end
  else
    self.find("option[value=\"#{values}\"]", visible: false).text
  end
end