conekta_oxxo_handler_spec.rb
1.88 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
# frozen_string_literal: true
require 'spec_helper'
describe Var::ConektaHandler do
before(:each) do
Product.delete_all
end
# TODO: Probar errores en Var.create_charge
it 'processes oxxo charge' do
product = Product.create
conekta_object_mock = JSON.parse(
ConektaChargeCreateObject::OXXO_CREATE_CHARGE_OBJECT,
object_class: OpenStruct)
allow_any_instance_of(Product).to receive(:conekta_charge)
.and_return(conekta_object_mock)
Var.create_charge(:conekta, product, {"conekta_type": "oxxo"})
expect(product.var_id).to eq conekta_object_mock.id
expect(product.var_service).to eq 'conekta'
expect(product.var_status).to eq('pending_payment')
Var::ConektaOxxoHandler.analyze(WebHookPostRequest::OXXO_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('pending_payment')
end
it 'processes oxxo payment' do
product = Product.create
conekta_object_mock = JSON.parse(
ConektaChargeCreateObject::OXXO_CREATE_CHARGE_OBJECT,
object_class: OpenStruct)
allow_any_instance_of(Product).to receive(:conekta_charge)
.and_return(conekta_object_mock)
Var.create_charge(:conekta, product, {"conekta_type": "oxxo"})
expect(product.var_id).to eq conekta_object_mock.id
expect(product.var_service).to eq 'conekta'
expect(product.var_status).to eq('pending_payment')
Var::ConektaOxxoHandler.analyze(WebHookPostRequest::OXXO_CHARGE_PAID)
product.reload
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_not be_nil
expect(product.var_fee).to_not be_nil
expect(product.var_payment_method).to eq('OXXO')
expect(product.var_payment_at).to_not be_nil
end
end