Ricardo Garcia
Builds for 1 pipeline failed in 0 seconds

Test card charge creation

......@@ -19,8 +19,8 @@ module ActsAsChargeable
return { error_message: error_message }
end
send("charge_with_#{service}", options)
rescue Exception => exception
{ error_message: exception.message }
# rescue Exception => exception
# { error_message: exception.message }
end
def charge_with_conekta(options)
......
# frozen_string_literal: true
require 'spec_helper'
describe Var::ConektaCardHandler do
let!(:product) {
# product = instance_double('Product')
# allow(product).to receive(:charge_with).and_return(:success)
# product
Product.create
}
let!(:var_mock) {
var = class_double('Var')
allow(var).to receive(:find_charge).and_return(product)
var
}
it 'processes card charge' do
conekta_object_mock = JSON.parse(
ConektaChargeCreateObject::CARD_CREATE_CHARGE_OBJECT,
object_class: OpenStruct)
allow(product).to receive(:conekta_charge).and_return(conekta_object_mock)
Var.create_charge(:conekta, product, { conekta_type: 'card' })
expect(product.var_id).to eq conekta_object_mock.id
expect(product.var_service).to eq 'conekta'
expect(product.var_status).to eq('paid')
Var::ConektaHandler.analyze(WebHookPostRequest::CARD_CHARGE_CREATED)
expect(product.var_id).to eq conekta_object_mock.id
expect(product.var_service).to eq 'conekta'
expect(product.var_status).to eq('paid')
end
it 'processes card payment' do
conekta_object_mock = JSON.parse(
ConektaChargeCreateObject::CARD_CREATE_CHARGE_OBJECT,
object_class: OpenStruct)
allow(product).to receive(:conekta_charge).and_return(conekta_object_mock)
Var.create_charge(:conekta, product, { conekta_type: 'card' })
expect(product.var_id).to eq conekta_object_mock.id
expect(product.var_service).to eq 'conekta'
expect(product.var_status).to eq('paid')
Var::ConektaHandler.analyze(WebHookPostRequest::CARD_CHARGE_PAID)
expect(product.var_id).to eq conekta_object_mock.id
expect(product.var_service).to eq 'conekta'
expect(product.var_status).to eq('paid')
expect(product.var_paid_amount).to eq 0.00
end
end
# Conekta.config do |c|
# c.locale = :en
# # Llave de Sandbox
# c.api_key = 'key_mGmC5ry7s71JSLCv2WcxUg'
# c::PUBLIC_KEY = 'key_K6WVsv82RrEHGocJQcoEqPw'
# end
# Var.create_charge(:conekta, product, { conekta_type: 'card', card_token: 'tok_ZGFFi3sv18a3duJWR' })
......@@ -125,8 +125,7 @@ describe Var do
end
it 'handles payout paid' do
null = nil
params = { "object": { "livemode": true, "currency": 'MXN', "method": { "id": 'pytmtd_MymQ7favB2hQJC', "created_at": 1_467_832_748, "payee_id": null, "_type": 'BankTransferPayoutMethod', "object": 'bank_transfer_payout_method', "account_number": '072580002374915018', "account_holder": 'UKKO SOLUTIONS SA DE CV', "bank": 'Banco Mercantil del Norte, S.A.' }, "object": 'transfer', "amount": 303_534, "id": '577d59ac243c7fee8100146d', "created_at": 1_467_832_748, "status": 'scheduled', "statement_reference": '4632539', "statement_description": 'Conekta 4632539' }, "previous_attributes": {} }
params = { "data": { "object": { "livemode": true, "currency": 'MXN', "method": { "id": 'pytmtd_MymQ7favB2hQJC', "created_at": 1_467_832_748, "payee_id": nil, "_type": 'BankTransferPayoutMethod', "object": 'bank_transfer_payout_method', "account_number": '072580002374915018', "account_holder": 'UKKO SOLUTIONS SA DE CV', "bank": 'Banco Mercantil del Norte, S.A.' }, "object": 'transfer', "amount": 303_534, "id": '577d59ac243c7fee8100146d', "created_at": 1_467_832_748, "status": 'scheduled', "statement_reference": '4632539', "statement_description": 'Conekta 4632539' }, "previous_attributes": {} } }
payout_handler = class_double('Var::ConektaPayoutHandler')
.as_stubbed_const(transfer_nested_constants: true)
expect(payout_handler).to receive(:analyze).with(params)
......