workarea-usaepay 1.0.30 → 1.0.40

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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