Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cybersource: Fix Existing Tests #4374

Merged
merged 1 commit into from
Apr 4, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions CHANGELOG
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,7 @@
* CyberSource: Remove Pinless Debit Transaction Functionality [peteroas] #4370
* Litle: Add support for Level 2 and 3 enhanced data [curiousepic] #4360
* Rapyd: Add gateway support [meagabeth] #4372
* CyberSource: Update and fix test coverage [peteroas] #4374

== Version 1.125.0 (January 20, 2022)
* Wompi: support gateway [therufs] #4173
Expand Down
12 changes: 9 additions & 3 deletions test/remote/gateways/remote_cyber_source_test.rb
Original file line number Diff line number Diff line change
Expand Up @@ -247,6 +247,8 @@ def test_purchase_and_void
assert_successful_response(void)
end

# Note: This test will only pass with test account credentials which
# have asynchronous adjustments enabled.
def test_successful_asynchronous_adjust
assert authorize = @gateway_latam.authorize(@amount, @credit_card, @options)
assert_successful_response(authorize)
Expand Down Expand Up @@ -530,9 +532,9 @@ def test_successful_authorization_and_failed_capture
assert auth = @gateway.authorize(@amount, @credit_card, @options)
assert_successful_response(auth)

assert capture = @gateway.capture(@amount + 10, auth.authorization, @options.merge({ national_tax_indicator: 1 }))
assert capture = @gateway.capture(@amount + 100000000, auth.authorization, @options.merge({ national_tax_indicator: 1 }))
assert_failure capture
assert_equal 'The requested amount exceeds the originally authorized amount', capture.message
assert_equal 'One or more fields contains invalid data: (Amount limit)', capture.message
end

def test_failed_capture_bad_auth_info
Expand Down Expand Up @@ -807,6 +809,10 @@ def test_successful_3ds_requests_with_unenrolled_card
assert response.success?
end

# to create a valid pares, use the test credentials to request `test_3ds_enroll_request_via_purchase` with debug=true.
# Extract this XML and generate an accessToken. Using this access token to create a form, visit the stepUpURL provided
# and check the network exchange in the browser dev console for a CCA, which will contain a usable PaRes. Documentation for this feature
# can be found at https://docs.cybersource.com/content/dam/new-documentation/documentation/en/fraud-management/payer-auth/so/payer-auth-so.pdf
def test_successful_3ds_validate_purchase_request
assert response = @gateway.purchase(1202, @three_ds_enrolled_card, @options.merge(payer_auth_validate_service: true, pares: pares))
assert_equal '100', response.params['reasonCode']
Expand Down Expand Up @@ -986,7 +992,7 @@ def test_invalid_field

def pares
<<~PARES
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
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎉

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The one thing I'd like to at least capture in the commit message is the links and overall steps to obtain this value, perhaps?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The one thing I'd like to at least capture in the commit message is the links and overall steps to obtain this value, perhaps?

@esmitperez added the link and instructions in a comment above the tests to make it obvious 😄

PARES
end

Expand Down