Ricardo Garcia
Builds for 1 pipeline failed in 0 seconds

Test card charge creation

...@@ -19,8 +19,8 @@ module ActsAsChargeable ...@@ -19,8 +19,8 @@ module ActsAsChargeable
19 return { error_message: error_message } 19 return { error_message: error_message }
20 end 20 end
21 send("charge_with_#{service}", options) 21 send("charge_with_#{service}", options)
22 - rescue Exception => exception 22 + # rescue Exception => exception
23 - { error_message: exception.message } 23 + # { error_message: exception.message }
24 end 24 end
25 25
26 def charge_with_conekta(options) 26 def charge_with_conekta(options)
......
1 +# frozen_string_literal: true
2 +require 'spec_helper'
3 +
4 +describe Var::ConektaCardHandler do
5 + let!(:product) {
6 + # product = instance_double('Product')
7 + # allow(product).to receive(:charge_with).and_return(:success)
8 + # product
9 + Product.create
10 + }
11 +
12 + let!(:var_mock) {
13 + var = class_double('Var')
14 + allow(var).to receive(:find_charge).and_return(product)
15 + var
16 + }
17 +
18 + it 'processes card charge' do
19 + conekta_object_mock = JSON.parse(
20 + ConektaChargeCreateObject::CARD_CREATE_CHARGE_OBJECT,
21 + object_class: OpenStruct)
22 + allow(product).to receive(:conekta_charge).and_return(conekta_object_mock)
23 +
24 + Var.create_charge(:conekta, product, { conekta_type: 'card' })
25 +
26 + expect(product.var_id).to eq conekta_object_mock.id
27 + expect(product.var_service).to eq 'conekta'
28 + expect(product.var_status).to eq('paid')
29 +
30 + Var::ConektaHandler.analyze(WebHookPostRequest::CARD_CHARGE_CREATED)
31 +
32 + expect(product.var_id).to eq conekta_object_mock.id
33 + expect(product.var_service).to eq 'conekta'
34 + expect(product.var_status).to eq('paid')
35 + end
36 +
37 + it 'processes card payment' do
38 + conekta_object_mock = JSON.parse(
39 + ConektaChargeCreateObject::CARD_CREATE_CHARGE_OBJECT,
40 + object_class: OpenStruct)
41 + allow(product).to receive(:conekta_charge).and_return(conekta_object_mock)
42 +
43 + Var.create_charge(:conekta, product, { conekta_type: 'card' })
44 +
45 + expect(product.var_id).to eq conekta_object_mock.id
46 + expect(product.var_service).to eq 'conekta'
47 + expect(product.var_status).to eq('paid')
48 +
49 + Var::ConektaHandler.analyze(WebHookPostRequest::CARD_CHARGE_PAID)
50 +
51 + expect(product.var_id).to eq conekta_object_mock.id
52 + expect(product.var_service).to eq 'conekta'
53 + expect(product.var_status).to eq('paid')
54 + expect(product.var_paid_amount).to eq 0.00
55 + end
56 +end
57 + # Conekta.config do |c|
58 + # c.locale = :en
59 + # # Llave de Sandbox
60 + # c.api_key = 'key_mGmC5ry7s71JSLCv2WcxUg'
61 + # c::PUBLIC_KEY = 'key_K6WVsv82RrEHGocJQcoEqPw'
62 + # end
63 + # Var.create_charge(:conekta, product, { conekta_type: 'card', card_token: 'tok_ZGFFi3sv18a3duJWR' })
...@@ -125,8 +125,7 @@ describe Var do ...@@ -125,8 +125,7 @@ describe Var do
125 end 125 end
126 126
127 it 'handles payout paid' do 127 it 'handles payout paid' do
128 - null = nil 128 + 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": {} } }
129 - 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": {} }
130 payout_handler = class_double('Var::ConektaPayoutHandler') 129 payout_handler = class_double('Var::ConektaPayoutHandler')
131 .as_stubbed_const(transfer_nested_constants: true) 130 .as_stubbed_const(transfer_nested_constants: true)
132 expect(payout_handler).to receive(:analyze).with(params) 131 expect(payout_handler).to receive(:analyze).with(params)
......