module SolidusCardInputHelper

Public Instance Methods

fill_in_card(card = {}) click to toggle source
# File lib/solidus_stripe/testing_support/card_input_helper.rb, line 4
def fill_in_card(card = {})
  card[:number] ||= "4242 4242 4242 4242"
  card[:code] ||= "123"
  card[:exp_month] ||= "01"
  card[:exp_year] ||= "#{Time.zone.now.year + 1}"

  if preferred_v3_elements || preferred_v3_intents
    within_frame find('#card_number iframe') do
      fill_in_number("cardnumber", card)
    end
    within_frame(find '#card_cvc iframe') { fill_in 'cvc', with: card[:code] }
    within_frame(find '#card_expiry iframe') do
      fill_in_expiration("exp-date", card)
    end
  else
    fill_in_number("Card Number", card)
    fill_in "Card Code", with: card[:code]
    fill_in_expiration("Expiration", card)
  end
end

Private Instance Methods

fill_in_expiration(field_name, card) click to toggle source
# File lib/solidus_stripe/testing_support/card_input_helper.rb, line 31
def fill_in_expiration(field_name, card)
  "#{card[:exp_month]}#{card[:exp_year].last(2)}".split('').each { |n| find_field(field_name).native.send_keys(n) }
end
fill_in_number(field_name, card) click to toggle source
# File lib/solidus_stripe/testing_support/card_input_helper.rb, line 27
def fill_in_number(field_name, card)
  card[:number].split('').each { |n| find_field(field_name).native.send_keys(n) }
end