Ricardo Garcia

Move some mock params to module

1 +# Webhooks examples and mocks
1 module WebHookPostRequest 2 module WebHookPostRequest
2 - CARD_CHARGE_CREATED = { "data": { "object": { "id": '5511d4ce2412294cf6000081', "livemode": false, "created_at": 1_427_231_950, "status": 'pending_payment', "currency": 'MXN', "description": 'Stogies', "reference_id": '9839-wolf_pack', "failure_code": nil, "failure_message": nil, "monthly_installments": nil, "object": 'charge', "amount": 20_000, "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": 1_427_231_950, "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 }] } 3 + CARD_CHARGE_CREATED = { "data": { "object": { "id": '5511d4ce2412294cf6000081', "livemode": false, "created_at": 1_427_231_950, "status": 'pending_payment', "currency": 'MXN', "description": 'Stogies', "reference_id": '9839-wolf_pack', "failure_code": nil, "failure_message": nil, "monthly_installments": nil, "object": 'charge', "amount": 20_000, "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": 1_427_231_950, "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 }] }.freeze
4 +
3 OXXO_CHARGE_CREATED = { 5 OXXO_CHARGE_CREATED = {
4 "data": { 6 "data": {
5 "object": { 7 "object": {
...@@ -23,5 +25,9 @@ module WebHookPostRequest ...@@ -23,5 +25,9 @@ module WebHookPostRequest
23 "created_at":1427406911, "webhook_logs":[ 25 "created_at":1427406911, "webhook_logs":[
24 {"id":"webhl_PBmYvkfdNDYKezJ", "url":"http://requestb.in/u3n4ywu3", 26 {"id":"webhl_PBmYvkfdNDYKezJ", "url":"http://requestb.in/u3n4ywu3",
25 "failed_attempts":0, "last_http_response_status":-1, 27 "failed_attempts":0, "last_http_response_status":-1,
26 - "object":"webhook_log", "last_attempted_at":0}]} 28 + "object":"webhook_log", "last_attempted_at":0}]}.freeze
29 +
30 + SPEI_CHARGE_CREATED = { "data": { "object": { "id": '551499322412292eec002159', "livemode": false, "created_at": 1_427_413_298, "status": 'pending_payment', "currency": 'MXN', "description": 'Stogies', "reference_id": '9839-wolf_pack', "failure_code": nil, "failure_message": nil, "monthly_installments": nil, "object": 'charge', "amount": 20_000, "paid_at": nil, "fee": 928, "customer_id": '', "refunds": [], "payment_method": { "clabe": '646180111800012432', "bank": 'STP', "issuing_account_holder": nil, "issuing_account_tax_id": nil, "issuing_account_bank": nil, "issuing_account_number": nil, "receiving_account_holder": nil, "receiving_account_tax_id": nil, "receiving_account_number": '646180111800012432', "receiving_account_bank": 'STP', "reference_number": nil, "description": nil, "tracking_code": nil, "executed_at": nil, "object": 'bank_transfer_payment', "type": 'spei', "expires_at": 1_435_189_298 }, "details": { "name": 'Wolverine', "phone": '403-342-0642', "email": 'logan@x-men.org', "line_items": [] } }, "previous_attributes": {} }, "livemode": false, "webhook_status": 'pending', "id": '551499322412292eec00215c', "object": 'event', "type": 'charge.created', "created_at": 1_427_413_298, "webhook_logs": [{ "id": 'webhl_ENPXoFkKWyDqTAt', "url": 'http://requestb.in/151xj4r1', "failed_attempts": 0, "last_http_response_status": -1, "object": 'webhook_log', "last_attempted_at": 1_427_413_285 }] }
31 +
32 + CARD_CHARGE_PAID = { "data": { "object": { "id": '5511d4ce2412294cf6000081', "livemode": false, "created_at": 1_427_231_950, "status": 'paid', "currency": 'MXN', "description": 'Stogies', "reference_id": '9839-wolf_pack', "failure_code": nil, "failure_message": nil, "monthly_installments": nil, "object": 'charge', "amount": 20_000, "paid_at": 1_427_231_952, "fee": 963, "customer_id": '', "refunds": [], "payment_method": { "name": 'Jorge Lopez', "exp_month": '12', "exp_year": '19', "auth_code": '000000', "object": 'card_payment', "last4": '4242', "brand": 'visa' }, "details": { "name": nil, "phone": nil, "email": nil, "line_items": [] } }, "previous_attributes": { "payment_method": {} } }, "livemode": false, "webhook_status": 'pending', "id": '5511d4d02412294cf6000088', "object": 'event', "type": 'charge.paid', "created_at": 1_427_231_952, "webhook_logs": [{ "id": 'webhl_m5kgkhmgETe6Y4s', "url": 'http://requestb.in/1em0jsx1', "failed_attempts": 0, "last_http_response_status": -1, "object": 'webhook_log', "last_attempted_at": 0 }] }.freeze
27 end 33 end
......
...@@ -74,8 +74,7 @@ describe Var do ...@@ -74,8 +74,7 @@ describe Var do
74 end 74 end
75 75
76 it 'handles oxxo charge creation' do 76 it 'handles oxxo charge creation' do
77 - null = nil 77 + params = WebHookPostRequest::OXXO_CHARGE_CREATED
78 - params = { "data": { "object": { "id": '5514803f241229981e0022e6', "livemode": false, "created_at": 1_427_406_911, "status": 'pending_payment', "currency": 'MXN', "description": 'Stogies', "reference_id": '9839-wolf_pack', "failure_code": null, "failure_message": null, "monthly_installments": null, "object": 'charge', "amount": 20_000, "paid_at": null, "fee": 812, "customer_id": '', "refunds": [], "payment_method": { "barcode": '38100000000042290121213001160013', "barcode_url": 'http://s3.amazonaws.com/cash_payment_barcodes/38100000000042290121213001160013.png', "object": 'cash_payment', "type": 'oxxo', "expires_at": 1_430_006_400, "store_name": 'OXXO' }, "details": { "name": 'Wolverine', "phone": '403-342-0642', "email": 'logan@x-men.org', "line_items": [] } }, "previous_attributes": {} }, "livemode": false, "webhook_status": 'pending', "id": '5514803f241229981e0022e9', "object": 'event', "type": 'charge.created', "created_at": 1_427_406_911, "webhook_logs": [{ "id": 'webhl_PBmYvkfdNDYKezJ', "url": 'http://requestb.in/u3n4ywu3', "failed_attempts": 0, "last_http_response_status": -1, "object": 'webhook_log', "last_attempted_at": 0 }] }
79 oxxoHandler = class_double('Var::ConektaOxxoHandler') 78 oxxoHandler = class_double('Var::ConektaOxxoHandler')
80 .as_stubbed_const(transfer_nested_constants: true) 79 .as_stubbed_const(transfer_nested_constants: true)
81 expect(oxxoHandler).to receive(:analyze).with(params) 80 expect(oxxoHandler).to receive(:analyze).with(params)
...@@ -83,8 +82,7 @@ describe Var do ...@@ -83,8 +82,7 @@ describe Var do
83 end 82 end
84 83
85 it 'handles SPEI charge creation' do 84 it 'handles SPEI charge creation' do
86 - null = nil 85 + params = WebHookPostRequest::SPEI_CHARGE_CREATED
87 - params = { "data": { "object": { "id": '551499322412292eec002159', "livemode": false, "created_at": 1_427_413_298, "status": 'pending_payment', "currency": 'MXN', "description": 'Stogies', "reference_id": '9839-wolf_pack', "failure_code": null, "failure_message": null, "monthly_installments": null, "object": 'charge', "amount": 20_000, "paid_at": null, "fee": 928, "customer_id": '', "refunds": [], "payment_method": { "clabe": '646180111800012432', "bank": 'STP', "issuing_account_holder": null, "issuing_account_tax_id": null, "issuing_account_bank": null, "issuing_account_number": null, "receiving_account_holder": null, "receiving_account_tax_id": null, "receiving_account_number": '646180111800012432', "receiving_account_bank": 'STP', "reference_number": null, "description": null, "tracking_code": null, "executed_at": null, "object": 'bank_transfer_payment', "type": 'spei', "expires_at": 1_435_189_298 }, "details": { "name": 'Wolverine', "phone": '403-342-0642', "email": 'logan@x-men.org', "line_items": [] } }, "previous_attributes": {} }, "livemode": false, "webhook_status": 'pending', "id": '551499322412292eec00215c', "object": 'event', "type": 'charge.created', "created_at": 1_427_413_298, "webhook_logs": [{ "id": 'webhl_ENPXoFkKWyDqTAt', "url": 'http://requestb.in/151xj4r1', "failed_attempts": 0, "last_http_response_status": -1, "object": 'webhook_log', "last_attempted_at": 1_427_413_285 }] }
88 speiHandler = class_double('Var::ConektaSpeiHandler') 86 speiHandler = class_double('Var::ConektaSpeiHandler')
89 .as_stubbed_const(transfer_nested_constants: true) 87 .as_stubbed_const(transfer_nested_constants: true)
90 expect(speiHandler).to receive(:analyze).with(params) 88 expect(speiHandler).to receive(:analyze).with(params)
...@@ -92,8 +90,7 @@ describe Var do ...@@ -92,8 +90,7 @@ describe Var do
92 end 90 end
93 91
94 it 'handles card payment' do 92 it 'handles card payment' do
95 - null = nil 93 + params = WebHookPostRequest::CARD_CHARGE_PAID
96 - params = { "data": { "object": { "id": '5511d4ce2412294cf6000081', "livemode": false, "created_at": 1_427_231_950, "status": 'paid', "currency": 'MXN', "description": 'Stogies', "reference_id": '9839-wolf_pack', "failure_code": null, "failure_message": null, "monthly_installments": null, "object": 'charge', "amount": 20_000, "paid_at": 1_427_231_952, "fee": 963, "customer_id": '', "refunds": [], "payment_method": { "name": 'Jorge Lopez', "exp_month": '12', "exp_year": '19', "auth_code": '000000', "object": 'card_payment', "last4": '4242', "brand": 'visa' }, "details": { "name": null, "phone": null, "email": null, "line_items": [] } }, "previous_attributes": { "payment_method": {} } }, "livemode": false, "webhook_status": 'pending', "id": '5511d4d02412294cf6000088', "object": 'event', "type": 'charge.paid', "created_at": 1_427_231_952, "webhook_logs": [{ "id": 'webhl_m5kgkhmgETe6Y4s', "url": 'http://requestb.in/1em0jsx1', "failed_attempts": 0, "last_http_response_status": -1, "object": 'webhook_log', "last_attempted_at": 0 }] }
97 cardHandler = class_double('Var::ConektaCardHandler') 94 cardHandler = class_double('Var::ConektaCardHandler')
98 .as_stubbed_const(transfer_nested_constants: true) 95 .as_stubbed_const(transfer_nested_constants: true)
99 expect(cardHandler).to receive(:analyze).with(params) 96 expect(cardHandler).to receive(:analyze).with(params)
......