fat_zebra 2.0.13 → 3.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -13
- data/.rubocop.yml +42 -0
- data/.travis.yml +9 -2
- data/Gemfile +1 -1
- data/{README.markdown → README.md} +19 -20
- data/Rakefile +2 -12
- data/fat_zebra.gemspec +27 -0
- data/lib/fat_zebra/api_operation/delete.rb +38 -0
- data/lib/fat_zebra/api_operation/find.rb +23 -0
- data/lib/fat_zebra/api_operation/save.rb +62 -0
- data/lib/fat_zebra/api_operation/search.rb +32 -0
- data/lib/fat_zebra/api_operation/void.rb +52 -0
- data/lib/fat_zebra/api_resource.rb +135 -0
- data/lib/fat_zebra/bank_account.rb +21 -0
- data/lib/fat_zebra/batch.rb +56 -0
- data/lib/fat_zebra/card.rb +22 -0
- data/lib/fat_zebra/config.rb +65 -25
- data/lib/fat_zebra/customer.rb +27 -0
- data/lib/fat_zebra/direct_credit.rb +27 -0
- data/lib/fat_zebra/direct_debit.rb +27 -0
- data/lib/fat_zebra/errors.rb +18 -4
- data/lib/fat_zebra/fat_zebra_object.rb +179 -0
- data/lib/fat_zebra/information.rb +25 -0
- data/lib/fat_zebra/payment_plan.rb +62 -0
- data/lib/fat_zebra/purchase.rb +99 -0
- data/lib/fat_zebra/refund.rb +25 -0
- data/lib/fat_zebra/request/multipart/epilogue.rb +23 -0
- data/lib/fat_zebra/request/multipart/file_io.rb +40 -0
- data/lib/fat_zebra/request/multipart/param.rb +37 -0
- data/lib/fat_zebra/request/multipart/part.rb +28 -0
- data/lib/fat_zebra/request/multipart/stream.rb +55 -0
- data/lib/fat_zebra/request.rb +162 -0
- data/lib/fat_zebra/util.rb +70 -0
- data/lib/fat_zebra/validation.rb +47 -0
- data/lib/fat_zebra/version.rb +1 -1
- data/lib/fat_zebra/web_hook.rb +23 -0
- data/lib/fat_zebra.rb +51 -55
- data/spec/cassettes/FatZebra_BankAccount/_create/1_1_1.yml +57 -0
- data/spec/cassettes/FatZebra_BankAccount/_create/1_1_2.yml +57 -0
- data/spec/cassettes/FatZebra_BankAccount/_create/validations/1_1_3_1.yml +57 -0
- data/spec/cassettes/FatZebra_BankAccount/_search/1_2_1.yml +172 -0
- data/spec/cassettes/FatZebra_BankAccount/_search/1_2_2.yml +172 -0
- data/spec/cassettes/FatZebra_BankAccount/_search/1_2_3.yml +172 -0
- data/spec/cassettes/FatZebra_Batch/_create/1_1_1.yml +58 -0
- data/spec/cassettes/FatZebra_Batch/_create/1_1_2.yml +58 -0
- data/spec/cassettes/FatZebra_Batch/_create/validations/1_1_3_1.yml +57 -0
- data/spec/cassettes/FatZebra_Batch/_create/with_file/1_1_1_1.yml +58 -0
- data/spec/cassettes/FatZebra_Batch/_create/with_file/1_1_1_2.yml +58 -0
- data/spec/cassettes/FatZebra_Batch/_create/with_path/1_1_2_1.yml +58 -0
- data/spec/cassettes/FatZebra_Batch/_create/with_path/1_1_2_2.yml +58 -0
- data/spec/cassettes/FatZebra_Batch/_find/1_2_1.yml +109 -0
- data/spec/cassettes/FatZebra_Batch/_find/1_2_2.yml +109 -0
- data/spec/cassettes/FatZebra_Batch/_result/1_4_1.yml +160 -0
- data/spec/cassettes/FatZebra_Batch/_search/1_3_1.yml +54 -0
- data/spec/cassettes/FatZebra_Batch/_search/1_3_2.yml +54 -0
- data/spec/cassettes/FatZebra_Batch/_search/1_3_3.yml +54 -0
- data/spec/cassettes/FatZebra_Card/_create/1_1_1.yml +55 -0
- data/spec/cassettes/FatZebra_Card/_create/1_1_2.yml +55 -0
- data/spec/cassettes/FatZebra_Card/_create/1_1_3.yml +55 -0
- data/spec/cassettes/FatZebra_Card/_create/1_1_4.yml +55 -0
- data/spec/cassettes/FatZebra_Card/_create/1_1_5.yml +55 -0
- data/spec/cassettes/FatZebra_Card/_create/1_1_6.yml +55 -0
- data/spec/cassettes/FatZebra_Card/_create/validations/1_1_7_1.yml +56 -0
- data/spec/cassettes/FatZebra_Card/_update/1_2_1.yml +105 -0
- data/spec/cassettes/FatZebra_Card/_update/1_2_2.yml +105 -0
- data/spec/cassettes/FatZebra_Card/_update/1_2_3.yml +105 -0
- data/spec/cassettes/FatZebra_Card/_update/validations/1_2_4_1.yml +55 -0
- data/spec/cassettes/FatZebra_Customer/_create/1_1_1.yml +59 -0
- data/spec/cassettes/FatZebra_Customer/_create/1_1_2.yml +59 -0
- data/spec/cassettes/FatZebra_Customer/_create/1_1_3.yml +59 -0
- data/spec/cassettes/FatZebra_Customer/_create/1_1_4.yml +59 -0
- data/spec/cassettes/FatZebra_Customer/_create/1_1_5.yml +59 -0
- data/spec/cassettes/FatZebra_Customer/_create/1_1_6.yml +59 -0
- data/spec/cassettes/FatZebra_Customer/_create/validations/1_1_7_1.yml +56 -0
- data/spec/cassettes/FatZebra_Customer/_delete/1_4_1.yml +113 -0
- data/spec/cassettes/FatZebra_Customer/_delete/1_5_1.yml +113 -0
- data/spec/cassettes/FatZebra_Customer/_find/1_2_1.yml +111 -0
- data/spec/cassettes/FatZebra_Customer/_find/1_2_2.yml +111 -0
- data/spec/cassettes/FatZebra_Customer/_find/1_3_1.yml +111 -0
- data/spec/cassettes/FatZebra_Customer/_find/1_3_2.yml +111 -0
- data/spec/cassettes/FatZebra_Customer/_search/1_2_1.yml +56 -0
- data/spec/cassettes/FatZebra_Customer/_search/1_2_2.yml +56 -0
- data/spec/cassettes/FatZebra_Customer/_search/1_2_3.yml +56 -0
- data/spec/cassettes/FatZebra_Customer/_update/1_3_1.yml +114 -0
- data/spec/cassettes/FatZebra_Customer/_update/1_3_2.yml +114 -0
- data/spec/cassettes/FatZebra_Customer/_update/1_4_1.yml +114 -0
- data/spec/cassettes/FatZebra_Customer/_update/1_4_2.yml +114 -0
- data/spec/cassettes/FatZebra_DirectCredit/_create/1_1_1.yml +56 -0
- data/spec/cassettes/FatZebra_DirectCredit/_create/1_1_2.yml +56 -0
- data/spec/cassettes/FatZebra_DirectCredit/_create/1_1_3.yml +56 -0
- data/spec/cassettes/FatZebra_DirectCredit/_create/1_1_4.yml +56 -0
- data/spec/cassettes/FatZebra_DirectCredit/_create/validations/1_1_5_1.yml +59 -0
- data/spec/cassettes/FatZebra_DirectCredit/_delete/1_4_1.yml +109 -0
- data/spec/cassettes/FatZebra_DirectCredit/_find/1_2_1.yml +107 -0
- data/spec/cassettes/FatZebra_DirectCredit/_find/1_2_2.yml +107 -0
- data/spec/cassettes/FatZebra_DirectCredit/_search/1_3_1.yml +160 -0
- data/spec/cassettes/FatZebra_DirectCredit/_search/1_3_2.yml +160 -0
- data/spec/cassettes/FatZebra_DirectDebit/_create/1_1_1.yml +56 -0
- data/spec/cassettes/FatZebra_DirectDebit/_create/1_1_2.yml +56 -0
- data/spec/cassettes/FatZebra_DirectDebit/_create/1_1_3.yml +56 -0
- data/spec/cassettes/FatZebra_DirectDebit/_create/1_1_4.yml +56 -0
- data/spec/cassettes/FatZebra_DirectDebit/_create/validations/1_1_5_1.yml +59 -0
- data/spec/cassettes/FatZebra_DirectDebit/_delete/1_4_1.yml +109 -0
- data/spec/cassettes/FatZebra_DirectDebit/_find/1_2_1.yml +107 -0
- data/spec/cassettes/FatZebra_DirectDebit/_find/1_2_2.yml +107 -0
- data/spec/cassettes/FatZebra_DirectDebit/_search/1_3_1.yml +160 -0
- data/spec/cassettes/FatZebra_DirectDebit/_search/1_3_2.yml +160 -0
- data/spec/cassettes/FatZebra_Information/_ping/1_1_1.yml +54 -0
- data/spec/cassettes/FatZebra_Information/_ping/1_1_2.yml +54 -0
- data/spec/cassettes/FatZebra_PaymentPlan/_active_/1_7_1.yml +238 -0
- data/spec/cassettes/FatZebra_PaymentPlan/_active_/1_7_2.yml +238 -0
- data/spec/cassettes/FatZebra_PaymentPlan/_active_/1_8_1.yml +238 -0
- data/spec/cassettes/FatZebra_PaymentPlan/_active_/1_8_2.yml +238 -0
- data/spec/cassettes/FatZebra_PaymentPlan/_create/1_1_1.yml +118 -0
- data/spec/cassettes/FatZebra_PaymentPlan/_create/1_1_2.yml +118 -0
- data/spec/cassettes/FatZebra_PaymentPlan/_create/1_1_3.yml +118 -0
- data/spec/cassettes/FatZebra_PaymentPlan/_create/validations/1_1_4_1.yml +55 -0
- data/spec/cassettes/FatZebra_PaymentPlan/_delete/1_5_1.yml +172 -0
- data/spec/cassettes/FatZebra_PaymentPlan/_destroy/1_6_1.yml +172 -0
- data/spec/cassettes/FatZebra_PaymentPlan/_find/1_2_1.yml +175 -0
- data/spec/cassettes/FatZebra_PaymentPlan/_find/1_2_2.yml +175 -0
- data/spec/cassettes/FatZebra_PaymentPlan/_find/1_2_3.yml +175 -0
- data/spec/cassettes/FatZebra_PaymentPlan/_suspend_/1_6_1.yml +178 -0
- data/spec/cassettes/FatZebra_PaymentPlan/_suspend_/1_6_2.yml +178 -0
- data/spec/cassettes/FatZebra_PaymentPlan/_suspend_/1_7_1.yml +178 -0
- data/spec/cassettes/FatZebra_PaymentPlan/_suspend_/1_7_2.yml +178 -0
- data/spec/cassettes/FatZebra_PaymentPlan/_update/1_3_1.yml +172 -0
- data/spec/cassettes/FatZebra_PaymentPlan/_update/1_3_2.yml +172 -0
- data/spec/cassettes/FatZebra_PaymentPlan/_update/1_3_3.yml +172 -0
- data/spec/cassettes/FatZebra_PaymentPlan/_update/1_4_1.yml +178 -0
- data/spec/cassettes/FatZebra_PaymentPlan/_update/1_4_2.yml +178 -0
- data/spec/cassettes/FatZebra_Purchase/_capture/1_5_1.yml +111 -0
- data/spec/cassettes/FatZebra_Purchase/_capture/1_5_2.yml +111 -0
- data/spec/cassettes/FatZebra_Purchase/_capture/1_6_1.yml +111 -0
- data/spec/cassettes/FatZebra_Purchase/_capture/1_6_2.yml +111 -0
- data/spec/cassettes/FatZebra_Purchase/_create/1_1_1.yml +57 -0
- data/spec/cassettes/FatZebra_Purchase/_create/1_1_10.yml +57 -0
- data/spec/cassettes/FatZebra_Purchase/_create/1_1_11.yml +57 -0
- data/spec/cassettes/FatZebra_Purchase/_create/1_1_12.yml +57 -0
- data/spec/cassettes/FatZebra_Purchase/_create/1_1_2.yml +57 -0
- data/spec/cassettes/FatZebra_Purchase/_create/1_1_3.yml +57 -0
- data/spec/cassettes/FatZebra_Purchase/_create/1_1_4.yml +57 -0
- data/spec/cassettes/FatZebra_Purchase/_create/1_1_5.yml +57 -0
- data/spec/cassettes/FatZebra_Purchase/_create/1_1_6.yml +57 -0
- data/spec/cassettes/FatZebra_Purchase/_create/1_1_7.yml +57 -0
- data/spec/cassettes/FatZebra_Purchase/_create/1_1_8.yml +57 -0
- data/spec/cassettes/FatZebra_Purchase/_create/1_1_9.yml +57 -0
- data/spec/cassettes/FatZebra_Purchase/_find/1_2_1.yml +109 -0
- data/spec/cassettes/FatZebra_Purchase/_find/1_2_2.yml +109 -0
- data/spec/cassettes/FatZebra_Purchase/_find/1_2_3.yml +109 -0
- data/spec/cassettes/FatZebra_Purchase/_find/1_4_1.yml +109 -0
- data/spec/cassettes/FatZebra_Purchase/_find/1_4_2.yml +109 -0
- data/spec/cassettes/FatZebra_Purchase/_find/1_4_3.yml +109 -0
- data/spec/cassettes/FatZebra_Purchase/_refund/1_4_1.yml +111 -0
- data/spec/cassettes/FatZebra_Purchase/_refund/1_4_2.yml +111 -0
- data/spec/cassettes/FatZebra_Purchase/_refund/1_5_1.yml +111 -0
- data/spec/cassettes/FatZebra_Purchase/_refund/1_5_2.yml +111 -0
- data/spec/cassettes/FatZebra_Purchase/_search/1_3_1.yml +170 -0
- data/spec/cassettes/FatZebra_Purchase/_search/1_3_2.yml +170 -0
- data/spec/cassettes/FatZebra_Purchase/_search/1_3_3.yml +170 -0
- data/spec/cassettes/FatZebra_Purchase/_search/with_data/1_3_2_1.yml +164 -0
- data/spec/cassettes/FatZebra_Purchase/_search/with_data/1_3_2_2.yml +165 -0
- data/spec/cassettes/FatZebra_Purchase/_search/with_data/1_3_2_3.yml +164 -0
- data/spec/cassettes/FatZebra_Purchase/_search/without_data/1_3_1_1.yml +54 -0
- data/spec/cassettes/FatZebra_Purchase/_search/without_data/1_3_1_2.yml +54 -0
- data/spec/cassettes/FatZebra_Purchase/_search/without_data/1_3_1_3.yml +54 -0
- data/spec/cassettes/FatZebra_Purchase/_settlement/1_8_1.yml +613 -0
- data/spec/cassettes/FatZebra_Purchase/_settlement/1_8_2.yml +615 -0
- data/spec/cassettes/FatZebra_Purchase/_settlement/1_8_3.yml +617 -0
- data/spec/cassettes/FatZebra_Purchase/_void/1_6_1.yml +111 -0
- data/spec/cassettes/FatZebra_Purchase/_void/1_6_2.yml +111 -0
- data/spec/cassettes/FatZebra_Purchase/_void/1_6_3.yml +111 -0
- data/spec/cassettes/FatZebra_Purchase/_void/1_7_1.yml +111 -0
- data/spec/cassettes/FatZebra_Purchase/_void/1_7_2.yml +111 -0
- data/spec/cassettes/FatZebra_Purchase/_void/1_7_3.yml +111 -0
- data/spec/cassettes/FatZebra_Refund/_create/1_1_1.yml +111 -0
- data/spec/cassettes/FatZebra_Refund/_create/1_1_2.yml +111 -0
- data/spec/cassettes/FatZebra_Refund/_create/1_1_3.yml +111 -0
- data/spec/cassettes/FatZebra_Refund/_create/1_1_4.yml +111 -0
- data/spec/cassettes/FatZebra_Refund/_create/1_1_5.yml +111 -0
- data/spec/cassettes/FatZebra_Refund/_create/1_1_6.yml +111 -0
- data/spec/cassettes/FatZebra_Refund/_create/1_1_7.yml +111 -0
- data/spec/cassettes/FatZebra_Refund/_create/1_1_8.yml +111 -0
- data/spec/cassettes/FatZebra_Refund/_create/1_1_9.yml +111 -0
- data/spec/cassettes/FatZebra_Refund/_find/1_2_1.yml +163 -0
- data/spec/cassettes/FatZebra_Refund/_find/1_2_2.yml +163 -0
- data/spec/cassettes/FatZebra_Refund/_search/1_3_1.yml +281 -0
- data/spec/cassettes/FatZebra_Refund/_search/1_3_2.yml +281 -0
- data/spec/cassettes/FatZebra_Refund/_void/1_4_1.yml +165 -0
- data/spec/cassettes/FatZebra_Refund/_void/1_4_2.yml +165 -0
- data/spec/cassettes/FatZebra_Refund/_void/1_4_3.yml +165 -0
- data/spec/cassettes/FatZebra_WebHook/_create/1_1_1.yml +57 -0
- data/spec/cassettes/FatZebra_WebHook/_create/1_1_2.yml +57 -0
- data/spec/cassettes/FatZebra_WebHook/_create/1_1_3.yml +57 -0
- data/spec/cassettes/FatZebra_WebHook/_create/validations/1_1_4_1.yml +56 -0
- data/spec/cassettes/FatZebra_WebHook/_delete/1_4_1.yml +111 -0
- data/spec/cassettes/FatZebra_WebHook/_search/1_2_1.yml +222 -0
- data/spec/cassettes/FatZebra_WebHook/_search/1_2_2.yml +224 -0
- data/spec/cassettes/FatZebra_WebHook/_update/1_3_1.yml +112 -0
- data/spec/cassettes/FatZebra_WebHook/_update/1_3_2.yml +112 -0
- data/spec/fixtures/batch_test.csv +4 -0
- data/spec/lib/fat_zebra/bank_account_spec.rb +34 -0
- data/spec/lib/fat_zebra/batch_spec.rb +59 -0
- data/spec/lib/fat_zebra/card_spec.rb +41 -0
- data/spec/lib/fat_zebra/config_spec.rb +52 -0
- data/spec/lib/fat_zebra/customer_spec.rb +53 -0
- data/spec/lib/fat_zebra/direct_credit_spec.rb +53 -0
- data/spec/lib/fat_zebra/direct_debit_spec.rb +53 -0
- data/spec/lib/fat_zebra/fat_zebra_object_spec.rb +116 -0
- data/spec/lib/fat_zebra/information_spec.rb +13 -0
- data/spec/lib/fat_zebra/payment_plan_spec.rb +94 -0
- data/spec/lib/fat_zebra/purchase_spec.rb +92 -0
- data/spec/lib/fat_zebra/refund_spec.rb +72 -0
- data/spec/lib/fat_zebra/util_spec.rb +24 -0
- data/spec/lib/fat_zebra/validation_spec.rb +22 -0
- data/spec/lib/fat_zebra/web_hook_spec.rb +50 -0
- data/spec/spec_helper.rb +49 -3
- data/spec/support/payloads.rb +43 -0
- metadata +238 -65
- data/FatZebra.gemspec +0 -31
- data/lib/fat_zebra/constants.rb +0 -2
- data/lib/fat_zebra/gateway.rb +0 -292
- data/lib/fat_zebra/models/base.rb +0 -33
- data/lib/fat_zebra/models/card.rb +0 -49
- data/lib/fat_zebra/models/purchase.rb +0 -185
- data/lib/fat_zebra/models/refund.rb +0 -46
- data/lib/fat_zebra/models/response.rb +0 -33
- data/lib/rest-client/request_ext.rb +0 -15
- data/spec/config_spec.rb +0 -37
- data/spec/gateway_spec.rb +0 -120
- data/spec/models/purchase_spec.rb +0 -55
- data/spec/models/refund_spec.rb +0 -9
- data/spec/models/response_spec.rb +0 -25
data/spec/gateway_spec.rb
DELETED
@@ -1,120 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
TEST_USER = "TEST"
|
4
|
-
TEST_TOKEN = "TEST"
|
5
|
-
TEST_LOCAL = ENV["TEST_LOCAL"] == "true" || false
|
6
|
-
|
7
|
-
describe FatZebra::Gateway do
|
8
|
-
let(:valid_card) { "5123456789012346" }
|
9
|
-
let(:valid_expiry) { 1.year.from_now.strftime("%m/%Y") }
|
10
|
-
|
11
|
-
before :each do
|
12
|
-
# Setup the gateway for testing
|
13
|
-
server = TEST_LOCAL == true ? "fatapi.dev" : "gateway-sandbox.ipsi.com.au"
|
14
|
-
FatZebra.configure do
|
15
|
-
username TEST_USER
|
16
|
-
token TEST_TOKEN
|
17
|
-
sandbox true
|
18
|
-
test_mode true
|
19
|
-
gateway server
|
20
|
-
options :secure => !TEST_LOCAL, :silence => true # Silence keeps the warnings quiet for testing (deprecation warnings)
|
21
|
-
end
|
22
|
-
@gw = FatZebra.gateway
|
23
|
-
end
|
24
|
-
|
25
|
-
it "should require username and token are provided" do
|
26
|
-
lambda { FatZebra::Gateway.new("test", nil) }.should raise_exception(FatZebra::InvalidArgumentError)
|
27
|
-
end
|
28
|
-
|
29
|
-
it "should require that the gateway_server arg is not nil or empty" do
|
30
|
-
lambda { FatZebra::Gateway.new("test", "test", "") }.should raise_exception(FatZebra::InvalidArgumentError)
|
31
|
-
end
|
32
|
-
|
33
|
-
it "should load a valid instance of the gateway" do
|
34
|
-
@gw.ping.should be_true
|
35
|
-
end
|
36
|
-
|
37
|
-
it "should perform a purchase" do
|
38
|
-
result = FatZebra::Models::Purchase.create(10000, {:card_holder => "Matthew Savage", :number => valid_card, :expiry => valid_expiry, :cvv => 123}, "TEST#{rand}", "1.2.3.4")
|
39
|
-
result.should be_successful
|
40
|
-
result.errors.should be_empty
|
41
|
-
end
|
42
|
-
|
43
|
-
it "should fetch a purchase" do
|
44
|
-
result = FatZebra::Models::Purchase.create(10000, {:card_holder => "Matthew Savage", :number => valid_card, :expiry => valid_expiry, :cvv => 123}, "TES#{rand}T", "1.2.3.4")
|
45
|
-
purchase = FatZebra::Models::Purchase.find(:id => result.purchase.id)
|
46
|
-
purchase.id.should == result.purchase.id
|
47
|
-
end
|
48
|
-
|
49
|
-
it "should fetch a purchase via reference" do
|
50
|
-
ref = "TES#{rand}T"
|
51
|
-
result = FatZebra::Models::Purchase.create(10000, {:card_holder => "Matthew Savage", :number => valid_card, :expiry => valid_expiry, :cvv => 123}, ref, "1.2.3.4")
|
52
|
-
|
53
|
-
purchases = FatZebra::Models::Purchase.find(:reference => ref)
|
54
|
-
purchases.id.should == result.purchase.id
|
55
|
-
end
|
56
|
-
|
57
|
-
# it "should fetch purchases within a date range" do
|
58
|
-
# start = Time.now
|
59
|
-
# 5.times do |i|
|
60
|
-
# @gw.purchase(10000, {:card_holder => "Matthew Savage", :card_number => valid_card, :card_expiry => valid_expiry, :cvv => 123}, "TEST#{rand(1000)}-#{i}", "1.2.3.4")
|
61
|
-
# end
|
62
|
-
|
63
|
-
# purchases = @gw.purchases(:from => start - 300, :to => Time.now + 300)
|
64
|
-
# purchases.count.should >= 5
|
65
|
-
# end
|
66
|
-
|
67
|
-
it "should fetch purchases with a from date" do
|
68
|
-
start = Time.now
|
69
|
-
5.times do |i|
|
70
|
-
FatZebra::Models::Purchase.create(10000, {:card_holder => "Matthew Savage", :number => valid_card, :expiry => valid_expiry, :cvv => 123}, "TEST#{rand(1000)}-#{i}", "1.2.3.4")
|
71
|
-
end
|
72
|
-
|
73
|
-
purchases = FatZebra::Models::Purchase.find(:from => start)
|
74
|
-
purchases.count.should >= 5
|
75
|
-
end
|
76
|
-
|
77
|
-
it "should refund a transaction" do
|
78
|
-
purchase = FatZebra::Models::Purchase.create(10000, {:card_holder => "Matthew Savage", :number => valid_card, :expiry => valid_expiry, :cvv => 123}, "TES#{rand}T", "1.2.3.4")
|
79
|
-
result = FatZebra::Models::Refund.create(purchase.result.id, 100, "REFUND-#{purchase.result.id}")
|
80
|
-
|
81
|
-
result.should be_successful
|
82
|
-
result.result.successful.should be_true
|
83
|
-
end
|
84
|
-
|
85
|
-
it "should tokenize a card" do
|
86
|
-
response = @gw.tokenize("M Smith", "5123456789012346", valid_expiry, "123")
|
87
|
-
response.should be_successful
|
88
|
-
response.result.token.should_not be_nil
|
89
|
-
end
|
90
|
-
|
91
|
-
# it "should fetch a tokenized card" do
|
92
|
-
# token = @gw.tokenize("M Smith", "5123456789012346", valid_expiry, "123").result.token
|
93
|
-
# card_response = @gw.tokenized_card(token)
|
94
|
-
|
95
|
-
# card_response.should be_successful
|
96
|
-
# card_response.result.token.should == token
|
97
|
-
# card_response.result.card_number.should == "512345XXXXXX2346"
|
98
|
-
# end
|
99
|
-
|
100
|
-
# it "should fetch all cards" do
|
101
|
-
# cards = @gw.tokenized_cards
|
102
|
-
|
103
|
-
# cards.first.should be_instance_of(FatZebra::Models::Card)
|
104
|
-
# end
|
105
|
-
|
106
|
-
it "should perform a purchase with a tokenized card" do
|
107
|
-
token = @gw.tokenize("M Smith", "5123456789012346", valid_expiry, "123").result.token
|
108
|
-
purchase = @gw.purchase(10000, {:token => token}, "TEST#{rand}}", "127.0.0.1")
|
109
|
-
|
110
|
-
purchase.should be_successful
|
111
|
-
purchase.result.successful.should be_true
|
112
|
-
end
|
113
|
-
|
114
|
-
it "should transact in USD" do
|
115
|
-
result = FatZebra::Models::Purchase.create(10000, {:card_holder => "Matthew Savage", :number => valid_card, :expiry => valid_expiry, :cvv => 123}, "TEST#{rand}", "1.2.3.4", 'USD')
|
116
|
-
result.should be_successful, result.raw
|
117
|
-
result.errors.should be_empty
|
118
|
-
result.result.currency.should == 'USD'
|
119
|
-
end
|
120
|
-
end
|
@@ -1,55 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
describe FatZebra::Models::Purchase do
|
4
|
-
it "should make the raw response available" do
|
5
|
-
response = {
|
6
|
-
"authorization" => "55355",
|
7
|
-
"id" => "001-P-12345AA",
|
8
|
-
"card_number" => "XXXXXXXXXXXX1111",
|
9
|
-
"card_holder" => "John Smith",
|
10
|
-
"card_expiry" => "10/2011",
|
11
|
-
"card_token" => "a1bhj98j",
|
12
|
-
"amount" => 349,
|
13
|
-
"authorized" => true,
|
14
|
-
"reference" => "ABC123",
|
15
|
-
"message" => "Approved"
|
16
|
-
}
|
17
|
-
r = FatZebra::Models::Purchase.new(response)
|
18
|
-
r.raw.should == response
|
19
|
-
end
|
20
|
-
|
21
|
-
it "should be possible to access the token" do
|
22
|
-
response = {
|
23
|
-
"authorization" => "55355",
|
24
|
-
"id" => "001-P-12345AA",
|
25
|
-
"card_number" => "XXXXXXXXXXXX1111",
|
26
|
-
"card_holder" => "John Smith",
|
27
|
-
"card_expiry" => "10/2011",
|
28
|
-
"card_token" => "a1bhj98j",
|
29
|
-
"amount" => 349,
|
30
|
-
"authorized" => true,
|
31
|
-
"reference" => "ABC123",
|
32
|
-
"message" => "Approved"
|
33
|
-
}
|
34
|
-
r = FatZebra::Models::Purchase.new(response)
|
35
|
-
r.card_token.should == "a1bhj98j"
|
36
|
-
end
|
37
|
-
|
38
|
-
it "should return the currency code" do
|
39
|
-
response = {
|
40
|
-
"authorization" => "55355",
|
41
|
-
"id" => "001-P-12345AA",
|
42
|
-
"card_number" => "512345XXXXXX2346",
|
43
|
-
"card_holder" => "John Smith",
|
44
|
-
"card_expiry" => "10/2011",
|
45
|
-
"card_token" => "a1bhj98j",
|
46
|
-
"amount" => 349,
|
47
|
-
"authorized" => true,
|
48
|
-
"reference" => "ABC123",
|
49
|
-
"message" => "Approved",
|
50
|
-
"currency" => "USD"
|
51
|
-
}
|
52
|
-
r = FatZebra::Models::Purchase.new(response)
|
53
|
-
r.currency.should == "USD"
|
54
|
-
end
|
55
|
-
end
|
data/spec/models/refund_spec.rb
DELETED
@@ -1,25 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
describe FatZebra::Models::Response do
|
4
|
-
it "should make the raw response available" do
|
5
|
-
response = {
|
6
|
-
"successful" => true,
|
7
|
-
"errors" => [],
|
8
|
-
"test" => false,
|
9
|
-
"response" => {
|
10
|
-
"authorization" => "55355",
|
11
|
-
"id" => "001-P-12345AA",
|
12
|
-
"card_number" => "XXXXXXXXXXXX1111",
|
13
|
-
"card_holder" => "John Smith",
|
14
|
-
"card_expiry" => "10/2011",
|
15
|
-
"card_token" => "a1bhj98j",
|
16
|
-
"amount" => 349,
|
17
|
-
"authorized" => true,
|
18
|
-
"reference" => "ABC123",
|
19
|
-
"message" => "Approved"
|
20
|
-
}
|
21
|
-
}
|
22
|
-
r = FatZebra::Models::Response.new(response)
|
23
|
-
r.raw.should == response
|
24
|
-
end
|
25
|
-
end
|