Builds for
1 pipeline
failed
in
0 seconds
Specs ready to modify var
Showing
5 changed files
with
59 additions
and
122 deletions
... | @@ -25,7 +25,6 @@ module ActsAsChargeable | ... | @@ -25,7 +25,6 @@ module ActsAsChargeable |
25 | 25 | ||
26 | def charge_with_conekta(options) | 26 | def charge_with_conekta(options) |
27 | charge = conekta_charge(options) | 27 | charge = conekta_charge(options) |
28 | - amount = charge.amount / 100.0 | ||
29 | update_columns(var_status: charge.status, var_id: charge.id, | 28 | update_columns(var_status: charge.status, var_id: charge.id, |
30 | var_service: 'conekta') | 29 | var_service: 'conekta') |
31 | update_conekta_barcode(charge) if options[:conekta_type] == 'oxxo' | 30 | update_conekta_barcode(charge) if options[:conekta_type] == 'oxxo' | ... | ... |
... | @@ -2,11 +2,56 @@ | ... | @@ -2,11 +2,56 @@ |
2 | require 'spec_helper' | 2 | require 'spec_helper' |
3 | 3 | ||
4 | describe ActsAsChargeable do | 4 | describe ActsAsChargeable do |
5 | + before(:each) do | ||
6 | + Product.delete_all | ||
7 | + end | ||
8 | + | ||
5 | context 'as a module' do | 9 | context 'as a module' do |
6 | it 'can be implemented in ActiveRecord' do | 10 | it 'can be implemented in ActiveRecord' do |
7 | expect(Product).to respond_to(:acts_as_chargeable) | 11 | expect(Product).to respond_to(:acts_as_chargeable) |
8 | end | 12 | end |
9 | end | 13 | end |
14 | + | ||
15 | + context 'processing charges' do | ||
16 | + it ': oxxo' do | ||
17 | + product = Product.create | ||
18 | + conekta_object_mock = JSON.parse( | ||
19 | + ConektaChargeCreateObject::OXXO_CREATE_CHARGE_OBJECT, | ||
20 | + object_class: OpenStruct) | ||
21 | + allow(product).to receive(:conekta_charge).and_return(conekta_object_mock) | ||
22 | + | ||
23 | + Var.create_charge(:conekta, product, {"conekta_type": "oxxo"}) | ||
24 | + | ||
25 | + expect(product.var_id).to eq conekta_object_mock.id | ||
26 | + expect(product.var_service).to eq 'conekta' | ||
27 | + expect(product.var_status).to eq 'pending_payment' | ||
28 | + expect(product.var_paid_amount).to eq conekta_object_mock.amount | ||
29 | + expect(product.var_fee).to eq conekta_object_mock.fee | ||
30 | + expect(product.var_payment_method).to eq 'OXXO' | ||
31 | + expect(product.var_payment_at).to eq(Time.strptime conekta_object_mock.paid_at.to_s, '%s') | ||
32 | + end | ||
33 | + | ||
34 | + it ': card' do | ||
35 | + product = Product.create | ||
36 | + conekta_object_mock = JSON.parse( | ||
37 | + ConektaChargeCreateObject::CARD_CREATE_CHARGE_OBJECT, | ||
38 | + object_class: OpenStruct) | ||
39 | + allow(product).to receive(:conekta_charge).and_return(conekta_object_mock) | ||
40 | + | ||
41 | + Var.create_charge(:conekta, product, { conekta_type: 'card' }) | ||
42 | + | ||
43 | + expect(product.var_id).to eq conekta_object_mock.id | ||
44 | + expect(product.var_service).to eq 'conekta' | ||
45 | + expect(product.var_status).to eq 'paid' | ||
46 | + expect(product.var_paid_amount).to eq conekta_object_mock.amount | ||
47 | + expect(product.var_fee).to eq conekta_object_mock.fee | ||
48 | + expect(product.var_payment_method).to eq 'Card' | ||
49 | + expect(product.var_payment_at).to eq(Time.strptime conekta_object_mock.paid_at.to_s, '%s') | ||
50 | + end | ||
51 | + | ||
52 | + xit ': spei' do | ||
53 | + end | ||
54 | + end | ||
10 | end | 55 | end |
11 | 56 | ||
12 | # Tests for mock on Chargeable class | 57 | # Tests for mock on Chargeable class | ... | ... |
... | @@ -2,66 +2,36 @@ | ... | @@ -2,66 +2,36 @@ |
2 | require 'spec_helper' | 2 | require 'spec_helper' |
3 | 3 | ||
4 | describe Var::ConektaCardHandler do | 4 | describe Var::ConektaCardHandler do |
5 | - let!(:product) { | 5 | + before(:each) do |
6 | - # product = instance_double('Product') | 6 | + Product.delete_all |
7 | - # allow(product).to receive(:charge_with).and_return(:success) | 7 | + end |
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 | 8 | it 'processes card charge' do |
9 | + product = Product.create | ||
19 | conekta_object_mock = JSON.parse( | 10 | conekta_object_mock = JSON.parse( |
20 | ConektaChargeCreateObject::CARD_CREATE_CHARGE_OBJECT, | 11 | ConektaChargeCreateObject::CARD_CREATE_CHARGE_OBJECT, |
21 | object_class: OpenStruct) | 12 | object_class: OpenStruct) |
22 | allow(product).to receive(:conekta_charge).and_return(conekta_object_mock) | 13 | allow(product).to receive(:conekta_charge).and_return(conekta_object_mock) |
23 | 14 | ||
15 | + # No se checan updates por que esto ya está testeado | ||
24 | Var.create_charge(:conekta, product, { conekta_type: 'card' }) | 16 | Var.create_charge(:conekta, product, { conekta_type: 'card' }) |
25 | 17 | ||
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 | - # Se está testeando crear un cargo y recibir webook | ||
31 | - # Analizar separación | ||
32 | Var::ConektaCardHandler.analyze(WebHookPostRequest::CARD_CHARGE_CREATED) | 18 | Var::ConektaCardHandler.analyze(WebHookPostRequest::CARD_CHARGE_CREATED) |
33 | - | ||
34 | - # TODO: Revisar que si entra un cargo, se debe actualizar status a pending_payment | ||
35 | - # Pero falta desarrollo (Hacer un overwrite del método process_charge en el handler de card) | ||
36 | expect(product.var_id).to eq conekta_object_mock.id | 19 | expect(product.var_id).to eq conekta_object_mock.id |
37 | - expect(product.var_service).to eq 'conekta' | 20 | + expect(product.var_status).to eq 'pending_payment' |
38 | - expect(product.var_status).to eq('pending_payment') | ||
39 | end | 21 | end |
40 | 22 | ||
41 | it 'processes card payment' do | 23 | it 'processes card payment' do |
24 | + product = Product.create | ||
42 | conekta_object_mock = JSON.parse( | 25 | conekta_object_mock = JSON.parse( |
43 | ConektaChargeCreateObject::CARD_CREATE_CHARGE_OBJECT, | 26 | ConektaChargeCreateObject::CARD_CREATE_CHARGE_OBJECT, |
44 | object_class: OpenStruct) | 27 | object_class: OpenStruct) |
45 | allow(product).to receive(:conekta_charge).and_return(conekta_object_mock) | 28 | allow(product).to receive(:conekta_charge).and_return(conekta_object_mock) |
46 | 29 | ||
30 | + # No se checan updates por que esto ya está testeado | ||
47 | Var.create_charge(:conekta, product, { conekta_type: 'card' }) | 31 | Var.create_charge(:conekta, product, { conekta_type: 'card' }) |
48 | 32 | ||
49 | - expect(product.var_id).to eq conekta_object_mock.id | ||
50 | - expect(product.var_service).to eq 'conekta' | ||
51 | - expect(product.var_status).to eq('paid') | ||
52 | - | ||
53 | Var::ConektaHandler.analyze(WebHookPostRequest::CARD_CHARGE_PAID) | 33 | Var::ConektaHandler.analyze(WebHookPostRequest::CARD_CHARGE_PAID) |
54 | - | ||
55 | expect(product.var_id).to eq conekta_object_mock.id | 34 | expect(product.var_id).to eq conekta_object_mock.id |
56 | - expect(product.var_service).to eq 'conekta' | 35 | + expect(product.var_status).to eq 'paid' |
57 | - expect(product.var_status).to eq('paid') | ||
58 | - expect(product.var_paid_amount).to_not be_nil | ||
59 | end | 36 | end |
60 | end | 37 | end |
... | \ No newline at end of file | ... | \ No newline at end of file |
61 | - # Conekta.config do |c| | ||
62 | - # c.locale = :en | ||
63 | - # # Llave de Sandbox | ||
64 | - # c.api_key = 'key_mGmC5ry7s71JSLCv2WcxUg' | ||
65 | - # c::PUBLIC_KEY = 'key_K6WVsv82RrEHGocJQcoEqPw' | ||
66 | - # end | ||
67 | - # Var.create_charge(:conekta, product, { conekta_type: 'card', card_token: 'tok_ZGFFi3sv18a3duJWR' }) | ... | ... |
spec/conekta_handler_spec.rb
deleted
100644 → 0
1 | -# frozen_string_literal: true | ||
2 | -require 'spec_helper' | ||
3 | - | ||
4 | -describe Var::ConektaHandler 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 | - # TODO: Probar errores en Var.create_charge | ||
19 | - it 'processes oxxo charge' do | ||
20 | - allow_any_instance_of(Product).to receive(:conekta_charge).and_return( | ||
21 | - JSON.parse(ConektaChargeCreateObject::OXXO_CREATE_CHARGE_OBJECT, object_class: OpenStruct)) | ||
22 | - charge = Var.create_charge(:conekta, product, {"conekta_type": "oxxo"}) | ||
23 | - Var::ConektaHandler.analyze(WebHookPostRequest::OXXO_CHARGE_CREATED) | ||
24 | - expect(product.var_status).to eq('pending_payment') | ||
25 | - end | ||
26 | - | ||
27 | - it 'processes card charge' do | ||
28 | - allow_any_instance_of(Product).to receive(:conekta_charge).and_return( | ||
29 | - JSON.parse(ConektaChargeCreateObject::CARD_CREATE_CHARGE_OBJECT, object_class: OpenStruct)) | ||
30 | - charge = Var.create_charge(:conekta, product, {"conekta_type": "card"}) | ||
31 | - Var::ConektaHandler.analyze(WebHookPostRequest::CARD_CHARGE_CREATED) | ||
32 | - expect(product.var_status).to eq('pending_payment') | ||
33 | - end | ||
34 | - | ||
35 | - xit 'processes spei charge' do | ||
36 | - end | ||
37 | - | ||
38 | - it 'processes payout' do | ||
39 | - end | ||
40 | - | ||
41 | - it 'processes oxxo payment' do | ||
42 | - Var::ConektaHandler.analyze(WebHookPostRequest::OXXO_CHARGE_CREATED) | ||
43 | - expect(product.var_status).to eq('paid') | ||
44 | - | ||
45 | - end | ||
46 | - | ||
47 | - it 'processes card payment' do | ||
48 | - end | ||
49 | - | ||
50 | - it 'processes oxxo payment' do | ||
51 | - end | ||
52 | - | ||
53 | - xit 'processes spei payment' do | ||
54 | - end | ||
55 | - | ||
56 | - it 'processes payout' do | ||
57 | - end | ||
58 | -end |
1 | # frozen_string_literal: true | 1 | # frozen_string_literal: true |
2 | require 'spec_helper' | 2 | require 'spec_helper' |
3 | 3 | ||
4 | -describe Var::ConektaHandler do | 4 | +describe Var::ConektaOxxoHandler do |
5 | before(:each) do | 5 | before(:each) do |
6 | Product.delete_all | 6 | Product.delete_all |
7 | end | 7 | end |
... | @@ -11,19 +11,13 @@ describe Var::ConektaHandler do | ... | @@ -11,19 +11,13 @@ describe Var::ConektaHandler do |
11 | conekta_object_mock = JSON.parse( | 11 | conekta_object_mock = JSON.parse( |
12 | ConektaChargeCreateObject::OXXO_CREATE_CHARGE_OBJECT, | 12 | ConektaChargeCreateObject::OXXO_CREATE_CHARGE_OBJECT, |
13 | object_class: OpenStruct) | 13 | object_class: OpenStruct) |
14 | - allow_any_instance_of(Product).to receive(:conekta_charge) | 14 | + allow(product).to receive(:conekta_charge).and_return(conekta_object_mock) |
15 | - .and_return(conekta_object_mock) | ||
16 | 15 | ||
17 | Var.create_charge(:conekta, product, {"conekta_type": "oxxo"}) | 16 | Var.create_charge(:conekta, product, {"conekta_type": "oxxo"}) |
18 | 17 | ||
19 | - expect(product.var_id).to eq conekta_object_mock.id | ||
20 | - expect(product.var_service).to eq 'conekta' | ||
21 | - expect(product.var_status).to eq('pending_payment') | ||
22 | - | ||
23 | Var::ConektaOxxoHandler.analyze(WebHookPostRequest::OXXO_CHARGE_CREATED) | 18 | Var::ConektaOxxoHandler.analyze(WebHookPostRequest::OXXO_CHARGE_CREATED) |
24 | expect(product.var_id).to eq conekta_object_mock.id | 19 | expect(product.var_id).to eq conekta_object_mock.id |
25 | - expect(product.var_service).to eq 'conekta' | 20 | + expect(product.var_status).to eq 'pending_payment' |
26 | - expect(product.var_status).to eq('pending_payment') | ||
27 | end | 21 | end |
28 | 22 | ||
29 | it 'processes oxxo payment' do | 23 | it 'processes oxxo payment' do |
... | @@ -31,24 +25,11 @@ describe Var::ConektaHandler do | ... | @@ -31,24 +25,11 @@ describe Var::ConektaHandler do |
31 | conekta_object_mock = JSON.parse( | 25 | conekta_object_mock = JSON.parse( |
32 | ConektaChargeCreateObject::OXXO_CREATE_CHARGE_OBJECT, | 26 | ConektaChargeCreateObject::OXXO_CREATE_CHARGE_OBJECT, |
33 | object_class: OpenStruct) | 27 | object_class: OpenStruct) |
34 | - allow_any_instance_of(Product).to receive(:conekta_charge) | 28 | + allow(product).to receive(:conekta_charge).and_return(conekta_object_mock) |
35 | - .and_return(conekta_object_mock) | ||
36 | 29 | ||
37 | Var.create_charge(:conekta, product, {"conekta_type": "oxxo"}) | 30 | Var.create_charge(:conekta, product, {"conekta_type": "oxxo"}) |
38 | - | ||
39 | - expect(product.var_id).to eq conekta_object_mock.id | ||
40 | - expect(product.var_service).to eq 'conekta' | ||
41 | - expect(product.var_status).to eq('pending_payment') | ||
42 | - | ||
43 | Var::ConektaOxxoHandler.analyze(WebHookPostRequest::OXXO_CHARGE_PAID) | 31 | Var::ConektaOxxoHandler.analyze(WebHookPostRequest::OXXO_CHARGE_PAID) |
44 | - product.reload | ||
45 | - | ||
46 | expect(product.var_id).to eq conekta_object_mock.id | 32 | expect(product.var_id).to eq conekta_object_mock.id |
47 | - expect(product.var_service).to eq 'conekta' | 33 | + expect(product.var_status).to eq 'paid' |
48 | - expect(product.var_status).to eq('paid') | ||
49 | - expect(product.var_paid_amount).to_not be_nil | ||
50 | - expect(product.var_fee).to_not be_nil | ||
51 | - expect(product.var_payment_method).to eq('OXXO') | ||
52 | - expect(product.var_payment_at).to_not be_nil | ||
53 | end | 34 | end |
54 | end | 35 | end | ... | ... |
-
Please register or login to post a comment