module CapybaraSelect2::Helpers

Public Instance Methods

select2_clear(options) click to toggle source
# File lib/capybara_select2/helpers.rb, line 44
def select2_clear(options)
  options = Utils.set_option_aliases(options)
  Utils.validate_options!(options)

  _, container, version = Utils.get_page_container_and_version(options, self)
  remove_option_selector = Selectors.remove_option_selector(version)

  container.all(remove_option_selector).map(&:click)
end
select2_close(options = {}) click to toggle source
# File lib/capybara_select2/helpers.rb, line 18
def select2_close(options = {})
  page.find(:css, 'body').click
end
select2_open(options) click to toggle source
# File lib/capybara_select2/helpers.rb, line 8
def select2_open(options)
  options = Utils.set_option_aliases(options)
  Utils.validate_options!(options)

  _, container, version = Utils.get_page_container_and_version(options, self)
  opener_selector = Selectors.opener_selector(version)

  container.find(:css, opener_selector).click
end
select2_select(value, options) click to toggle source
# File lib/capybara_select2/helpers.rb, line 32
def select2_select(value, options)
  Utils.validate_options!(options)

  page, _, version = Utils.get_page_container_and_version(options, self)
  option_selector = Selectors.option_selector(version)

  find_options = options.select { |k, _| [:match, :exact_text].include?(k) }
  find_options = find_options.merge(text: value)

  page.find(:xpath, '//body').find(:css, option_selector, **find_options).click
end