class Vantiv::Certification::PaypageDriver

Public Instance Methods

get_paypage_registration_id(card_number, cvv = '123') click to toggle source
# File lib/vantiv/certification/paypage_driver.rb, line 19
def get_paypage_registration_id(card_number, cvv = '123')
  driver.navigate.to paypage_server.root_path

  driver.switch_to.frame('vantiv-payframe')
  driver.find_element(:id, 'accountNumber').send_keys card_number
  driver.find_element(:id, 'cvv').send_keys cvv

  driver.switch_to.default_content
  button = driver.find_element(:id, 'submit')
  button.click

  wait = Selenium::WebDriver::Wait.new(:timeout => 10)
  wait.until {
    driver.find_element(:id, "request-status").text.include?("Request Complete")
  }

  driver.find_element(:id, 'temp-token').text
end
start() click to toggle source
# File lib/vantiv/certification/paypage_driver.rb, line 8
def start
  paypage_server.start
  start_driver
  self
end
stop() click to toggle source
# File lib/vantiv/certification/paypage_driver.rb, line 14
def stop
  paypage_server.stop
  driver.quit
end

Private Instance Methods

driver() click to toggle source
# File lib/vantiv/certification/paypage_driver.rb, line 44
def driver
  @driver ||=
    begin
      options = ::Selenium::WebDriver::Firefox::Options.new
      options.headless!

      Selenium::WebDriver.for(:firefox, options: options)
    end
end
paypage_server() click to toggle source
# File lib/vantiv/certification/paypage_driver.rb, line 54
def paypage_server
  @paypage_server ||= Vantiv::Certification::PaypageServer.new
end
start_driver() click to toggle source
# File lib/vantiv/certification/paypage_driver.rb, line 40
def start_driver
  driver.manage.timeouts.implicit_wait = 10
end