Toggle navigation
Toggle navigation
This project
Loading...
Sign in
Ruby Gems
/
var
Go to a project
Toggle navigation
Toggle navigation pinning
Projects
Groups
Snippets
Help
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Snippets
Network
Create a new issue
Builds
Commits
Issue Boards
Authored by
Ricardo Garcia
2016-07-07 11:41:23 -0500
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
196dd3f89908ed6cc639d81ccfc7ccfd70d79b1f
196dd3f8
1 parent
522401bc
Update
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
21 additions
and
6 deletions
lib/var.rb
spec/spec_helper.rb
spec/var_spec.rb
lib/var.rb
View file @
196dd3f
...
...
@@ -23,14 +23,15 @@ module Var
object
.
charge_with
(
service
,
options
)
end
def
conekta_webhook
(
params
)
payment
=
params
[
:data
][
:object
]
def
conekta_webhook
(
event
)
raise
"Hash expected, received
#{
event
.
class
}
"
unless
event
.
class
==
Hash
raise
'Malformed hash received'
unless
event
[
:data
]
&&
event
[
:data
][
:object
]
payment
=
event
[
:data
][
:object
]
object
=
Var
.
find_charge
payment
[
:id
]
# object.handle_conekta_event
update_object_var_data
(
object
,
payment
)
object
# rescue Exception => exception
# puts exception
# false
end
def
update_object_var_data
(
object
,
data
)
...
...
spec/spec_helper.rb
View file @
196dd3f
require
'pry'
require
'active_record'
require
'active_support'
require
'
V
ar'
require
'
v
ar'
require
'mocks/var_database_mock'
require
'mocks/var_models_mock'
...
...
spec/var_spec.rb
View file @
196dd3f
...
...
@@ -50,6 +50,20 @@ describe Var do
Product
.
new
# Weird hack to enable connection
instance_double
(
'Product'
)
end
it
'expects a Hash as an input'
do
[[],
''
,
nil
].
each
do
|
input
|
expect
do
Var
.
conekta_webhook
(
input
)
end
.
to
raise_error
"Hash expected, received
#{
input
.
class
}
"
end
end
it
'expects a {data: {object: ... }} as an input'
do
expect
do
Var
.
conekta_webhook
({})
end
.
to
raise_error
"Malformed hash received"
end
it
'handles Cargo creado con tarjeta'
do
params
=
{
"data"
:{
"object"
:{
"id"
:"5511d4ce2412294cf6000081"
,
"livemode"
:false
,
"created_at"
:
1427231950
,
"status"
:"pending_payment"
,
"currency"
:"MXN"
,
"description"
:"Stogies"
,
"reference_id"
:"9839-wolf_pack"
,
"failure_code"
:nil
,
"failure_message"
:nil
,
"monthly_installments"
:nil
,
"object"
:"charge"
,
"amount"
:
20000
,
"paid_at"
:nil
,
"fee"
:
963
,
"customer_id"
:""
,
"refunds"
:[]
,
"payment_method"
:{
"name"
:"Jorge Lopez"
,
"exp_month"
:"12"
,
"exp_year"
:"19"
,
"auth_code"
:nil
,
"object"
:"card_payment"
,
"last4"
:"4242"
,
"brand"
:"visa"
},
"details"
:{
"name"
:nil
,
"phone"
:nil
,
"email"
:nil
,
"line_items"
:[]
}},
"previous_attributes"
:{}},
"livemode"
:false
,
"webhook_status"
:"pending"
,
"id"
:"5511d4ce2412294cf6000084"
,
"object"
:"event"
,
"type"
:"charge.created"
,
"created_at"
:
1427231950
,
"webhook_logs"
:[{
"id"
:"webhl_nPzGMBeQmMUu7aQ"
,
"url"
:"http://requestb.in/1em0jsx1"
,
"failed_attempts"
:
0
,
"last_http_response_status"
:
-
1
,
"object"
:"webhook_log"
,
"last_attempted_at"
:
0
}]}
...
...
Please
register
or
login
to post a comment