Sha256: 180b61d4f2d182c2ba93566462c98528aa7fdd952dbcebb5be5f378bb29c5592

Contents?: true

Size: 1.7 KB

Versions: 19

Compression:

Stored size: 1.7 KB

Contents

def path_to_url(path)
  "#{request.protocol}#{request.host_with_port.sub(/:80$/, '')}/"\
    "#{path.sub(%r{^/}, '')}"
end

def show_page
  save_page Rails.root.join('public', 'capybara.html')
  `launchy http://localhost:3000/capybara.html`
end

def submit_via_button(button_name)
  button_id = find("input[type=submit][value='#{button_name}']")[:id]
  page.execute_script("$('##{button_id}').click();")
end

# Used to fill ckeditor fields
# @param [String] locator label text for the textarea or textarea id
def fill_in_ckeditor(locator, options)
  locator = find_field_by_label(locator)
  # Fill the editor content
  page.execute_script <<-SCRIPT
      var ckeditor = CKEDITOR.instances.#{locator}
      ckeditor.setData('#{ActionController::Base.helpers.j options[:with]}')
      ckeditor.focus()
      ckeditor.updateElement()
  SCRIPT
end

def fill_in_autocomplete(field, options = {})
  field = find_field_by_label(field)
  fill_in field, with: options[:with]

  page.execute_script "$('##{field}').trigger('focus')"
  page.execute_script "$('##{field}').trigger('keydown')"
  if page.has_selector?('.tt-menu .tt-suggestion')
    selector = ".tt-menu .tt-suggestion:contains('#{options[:with]}')"
    page.execute_script '$("' + selector + '").trigger("mouseenter").click()'
  end
end

def find_field_by_label(locator)
  if page.has_css?('label', text: locator)
    find('label', text: locator)[:for]
  else
    locator
  end
end

def wait_until(delay = 1)
  seconds_waited = 0
  while !yield && seconds_waited < Capybara.default_max_wait_time
    sleep delay
    seconds_waited += 1
  end
  unless yield
    puts "Waited for #{Capybara.default_max_wait_time} seconds."
    puts "{ #{yield} } did not become true, continuing."
  end
end

Version data entries

19 entries across 19 versions & 1 rubygems

Version Path
message_train-0.6.17 spec/support/utilities.rb
message_train-0.6.16 spec/support/utilities.rb
message_train-0.6.15 spec/support/utilities.rb
message_train-0.6.14 spec/support/utilities.rb
message_train-0.6.13 spec/support/utilities.rb
message_train-0.6.12 spec/support/utilities.rb
message_train-0.6.11 spec/support/utilities.rb
message_train-0.6.10 spec/support/utilities.rb
message_train-0.6.9 spec/support/utilities.rb
message_train-0.6.8 spec/support/utilities.rb
message_train-0.6.7 spec/support/utilities.rb
message_train-0.6.6 spec/support/utilities.rb
message_train-0.6.5 spec/support/utilities.rb
message_train-0.6.4 spec/support/utilities.rb
message_train-0.6.3 spec/support/utilities.rb
message_train-0.6.2 spec/support/utilities.rb
message_train-0.6.1 spec/support/utilities.rb
message_train-0.6.0 spec/support/utilities.rb
message_train-0.5.3 spec/support/utilities.rb