workarea-usaepay 1.0.30 → 1.0.40

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 868b271688ac51ed4a75ff587f9a5210e9095cdc7b9f8c7db7ff94b2200bb60e
4
- data.tar.gz: ff7229d59c5d3cd7f160ed80833d74fd86b1440168c96d341d2d384d23945b44
3
+ metadata.gz: f4de471500e7e2b9cf03f0f61327563f5c9be841d7518222e0f869135a8dd267
4
+ data.tar.gz: ddaf0fdfc9d06cf13433e0b9351f16217b16bd37e04691cb4ce0d62c44ae5aa6
5
5
  SHA512:
6
- metadata.gz: a7aef9df7848bce447fbdbc32d1a632e82d3d6ec92fc9d244e871bbb717fdf2199da0d004399e82667215c4d292d70242e6018412f7db0a55767050a9ec12b8a
7
- data.tar.gz: d53368d878e5ee9c59f5c9e901eeaa122537e705dd86423aafe4633034e268e26805983c71182deafd42906e26ea0244987fb969f27a12843bd86c10b6876c3e
6
+ metadata.gz: 1daf19e12f6d9a92e8a82fd59ce6027fa8e439a0c9bb3b2674ca4a43dba0b39d475509241de0aee160ffd1699aa5a8c9a42bab274ecc9a4ed7a41b325e6ef74c
7
+ data.tar.gz: de0d2b17394bd57aa262a3cd85c0857f07afce18896efa1d515c0385d30d504e52e19bd468604e9901ef2548aa7ccc641554bcb32db53a0f48cefa42a7c4c99d
@@ -14,11 +14,6 @@ module ActiveMerchant
14
14
  if credit_card.is_a? String
15
15
  add_token(post, credit_card)
16
16
  else
17
- # Adding this override to avoid test script failures from wrokarea gems
18
- # TODO: This should be removed from here all those test cases sould be updated
19
- if credit_card.number == "1"
20
- credit_card.number = "4111111111111111"
21
- end
22
17
  add_payment(post, credit_card)
23
18
  add_address(post, credit_card, options)
24
19
  unless credit_card.track_data.present?
@@ -29,7 +29,11 @@ module Workarea
29
29
 
30
30
  def self.auto_initialize_gateway
31
31
  if credentials.present?
32
- self.gateway = ActiveMerchant::Billing::UsaEpayCustom.new credentials
32
+ if Rails.env.test?
33
+ self.gateway = ActiveMerchant::Billing::BogusGateway.new credentials
34
+ else
35
+ self.gateway = ActiveMerchant::Billing::UsaEpayCustom.new credentials
36
+ end
33
37
  else
34
38
  self.gateway = ActiveMerchant::Billing::BogusGateway.new
35
39
  end
@@ -1,5 +1,5 @@
1
1
  module Workarea
2
2
  module Usaepay
3
- VERSION = "1.0.30".freeze
3
+ VERSION = "1.0.40".freeze
4
4
  end
5
5
  end
@@ -12,5 +12,104 @@ module Workarea
12
12
  )
13
13
  end
14
14
  end
15
+
16
+ def test_complete_sets_the_transaction_attributes_on_a_failure_response
17
+ VCR.use_cassette 'credit_card/store_error_auth' do
18
+ tender.token = 2
19
+ operation = Payment::Authorize::CreditCard.new(tender, transaction)
20
+ operation.complete!
21
+
22
+ refute(transaction.success?, "expected transaction.success? to be false")
23
+ assert_instance_of(
24
+ ActiveMerchant::Billing::Response,
25
+ transaction.response
26
+ )
27
+ end
28
+ end
29
+
30
+ def test_complete_sets_transaction_attributes_on_an_error_response
31
+ VCR.use_cassette 'credit_card/store_error_auth' do
32
+ tender.token = 3
33
+ operation = Payment::Authorize::CreditCard.new(tender, transaction)
34
+ operation.complete!
35
+
36
+ refute(transaction.success?, "expected transaction success? to be false")
37
+ assert_instance_of(
38
+ ActiveMerchant::Billing::Response,
39
+ transaction.response
40
+ )
41
+ end
42
+ end
43
+
44
+ def test_complete_does_nothing_if_gateway_storage_fails
45
+ VCR.use_cassette 'credit_card/store_auth' do
46
+ operation = Payment::Authorize::CreditCard.new(tender, transaction)
47
+
48
+ Payment::StoreCreditCard.any_instance.stubs(:save!).returns(false)
49
+
50
+ Workarea.config.gateways.credit_card.expects(:authorize).never
51
+
52
+ operation.complete!
53
+ end
54
+ end
55
+
56
+ def test_cancel_does_nothing_if_the_transaction_was_a_failure
57
+ VCR.use_cassette 'credit_card/store_auth' do
58
+ tender.number = 3
59
+ operation = Payment::Authorize::CreditCard.new(tender, transaction)
60
+
61
+ operation.gateway.expects(:void).never
62
+ operation.cancel!
63
+ end
64
+ end
65
+
66
+ def test_cancel_sets_cancellation_params_on_the_transaction
67
+ VCR.use_cassette 'credit_card/store_auth' do
68
+ transaction.response = ActiveMerchant::Billing::Response.new(
69
+ true,
70
+ 'Message',
71
+ {},
72
+ { authorization: authorization }
73
+ )
74
+
75
+ operation = Payment::Authorize::CreditCard.new(tender, transaction)
76
+ operation.cancel!
77
+
78
+ assert_instance_of(
79
+ ActiveMerchant::Billing::Response,
80
+ transaction.cancellation
81
+ )
82
+ end
83
+ end
84
+
85
+ private
86
+
87
+ def payment
88
+ @payment ||= create_payment
89
+ end
90
+
91
+ def authorization
92
+ @authorization ||= ActiveMerchant::Billing::BogusGateway::AUTHORIZATION
93
+ end
94
+
95
+ def tender
96
+ @tender ||=
97
+ begin
98
+ payment.set_address(first_name: 'Ben', last_name: 'Crouse')
99
+
100
+ payment.build_credit_card(
101
+ number: 4111111111111111,
102
+ month: 1,
103
+ year: Time.current.year + 1,
104
+ cvv: 999
105
+ )
106
+
107
+ payment.credit_card
108
+ end
109
+ end
110
+
111
+ def transaction
112
+ @transaction ||= tender.build_transaction(action: 'authorize', amount: 5.to_m)
113
+ end
15
114
  end
16
115
  end
@@ -0,0 +1,57 @@
1
+ module Workarea
2
+ decorate Payment::Authorize::StoreCreditTest, with: :usaepay_transaction do #[8]
3
+ decorated { include UsaepayTransactionVcrGateway } #[9]
4
+ def test_complete!
5
+ VCR.use_cassette 'credit_card/store_auth' do
6
+ transaction = tender.build_transaction(amount: 5.to_m)
7
+ operation = Payment::Authorize::StoreCredit.new(tender, transaction)
8
+
9
+ operation.complete!
10
+ profile.reload
11
+
12
+ assert_equal(10.to_m, profile.store_credit)
13
+ assert(transaction.success?)
14
+ assert_equal(
15
+ ActiveMerchant::Billing::Response,
16
+ transaction.response.class
17
+ )
18
+ assert_equal('purchase', transaction.action)
19
+
20
+ transaction = tender.build_transaction(amount: 100.to_m)
21
+ operation = Payment::Authorize::StoreCredit.new(tender, transaction)
22
+
23
+ operation.complete!
24
+ refute(transaction.success?)
25
+ assert(transaction.response)
26
+ assert_equal(
27
+ ActiveMerchant::Billing::Response,
28
+ transaction.response.class
29
+ )
30
+ end
31
+ end
32
+
33
+ def test_cancel!
34
+ VCR.use_cassette 'credit_card/store_auth' do
35
+ transaction = tender.build_transaction(amount: 5.to_m, success: false)
36
+ operation = Payment::Authorize::StoreCredit.new(tender, transaction)
37
+
38
+ operation.cancel!
39
+ profile.reload
40
+
41
+ assert_equal(15.to_m, profile.store_credit)
42
+
43
+ transaction = tender.build_transaction(amount: 5.to_m, success: true)
44
+ operation = Payment::Authorize::StoreCredit.new(tender, transaction)
45
+
46
+ operation.cancel!
47
+ profile.reload
48
+
49
+ assert_equal(20.to_m, profile.store_credit)
50
+ assert_equal(
51
+ ActiveMerchant::Billing::Response,
52
+ transaction.cancellation.class
53
+ )
54
+ end
55
+ end
56
+ end
57
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: workarea-usaepay
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.30
4
+ version: 1.0.40
5
5
  platform: ruby
6
6
  authors:
7
7
  - Gunasekaran.Raja
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-06-16 00:00:00.000000000 Z
11
+ date: 2020-06-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: workarea
@@ -101,6 +101,7 @@ files:
101
101
  - test/dummy/lib/assets/.keep
102
102
  - test/dummy/log/.keep
103
103
  - test/models/workarea/payment/authorize/credit_card_test.decorator
104
+ - test/models/workarea/payment/authorize/store_credit_test.decorator
104
105
  - test/models/workarea/payment/credit_card_integration_test.decorator
105
106
  - test/support/workarea/usaepay_transaction_vcr_gateway.rb
106
107
  - test/system/workarea/admin/payment_transactions_system_test.decorator