-
Notifications
You must be signed in to change notification settings - Fork 2.5k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
NMI: Add shipping_firstname, shipping_lastname, shipping_email, and s…
…urcharge fields CER-666 CER-673 LOCAL 5547 tests, 77613 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications 100% passed 760 files inspected, no offenses detected UNIT 56 tests, 454 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications 100% passed REMOTE 51 tests, 184 assertions, 3 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications 94.1176% passed *Test failures are related to Apple Pay and eCheck, and are also failing on master
- Loading branch information
Showing
4 changed files
with
90 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -193,6 +193,26 @@ def test_successful_purchase_with_descriptors | |
assert response.authorization | ||
end | ||
|
||
def test_successful_purchase_with_shipping_fields | ||
options = @options.merge({ shipping_address: shipping_address, shipping_email: '[email protected]' }) | ||
|
||
assert response = @gateway.purchase(@amount, @credit_card, options) | ||
assert_success response | ||
assert response.test? | ||
assert_equal 'Succeeded', response.message | ||
assert response.authorization | ||
end | ||
|
||
def test_successful_purchase_with_surcharge | ||
options = @options.merge({ surcharge: '1.00' }) | ||
|
||
assert response = @gateway.purchase(@amount, @credit_card, options) | ||
assert_success response | ||
assert response.test? | ||
assert_equal 'Succeeded', response.message | ||
assert response.authorization | ||
end | ||
|
||
def test_failed_authorization | ||
assert response = @gateway.authorize(99, @credit_card, @options) | ||
assert_failure response | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -125,6 +125,70 @@ def test_purchase_with_options | |
assert_success response | ||
end | ||
|
||
def test_purchase_with_surcharge | ||
options = @transaction_options.merge({ surcharge: '1.00' }) | ||
|
||
response = stub_comms do | ||
@gateway.purchase(@amount, @credit_card, options) | ||
end.check_request do |_endpoint, data, _headers| | ||
test_transaction_options(data) | ||
|
||
assert_match(/surcharge=1.00/, data) | ||
end.respond_with(successful_purchase_response) | ||
|
||
assert_success response | ||
end | ||
|
||
def test_purchase_with_shipping_fields | ||
options = @transaction_options.merge({ shipping_address: shipping_address }) | ||
|
||
response = stub_comms do | ||
@gateway.purchase(@amount, @credit_card, options) | ||
end.check_request do |_endpoint, data, _headers| | ||
test_transaction_options(data) | ||
|
||
assert_match(/shipping_firstname=Jon/, data) | ||
assert_match(/shipping_lastname=Smith/, data) | ||
assert_match(/shipping_address1=123\+Your\+Street/, data) | ||
assert_match(/shipping_address2=Apt\+2/, data) | ||
assert_match(/shipping_city=Toronto/, data) | ||
assert_match(/shipping_state=ON/, data) | ||
assert_match(/shipping_country=CA/, data) | ||
assert_match(/shipping_zip=K2C3N7/, data) | ||
end.respond_with(successful_purchase_response) | ||
|
||
assert_success response | ||
end | ||
|
||
def test_purchase_with_shipping_fields_omits_blank_name | ||
options = @transaction_options.merge({ shipping_address: shipping_address(name: nil) }) | ||
|
||
response = stub_comms do | ||
@gateway.purchase(@amount, @credit_card, options) | ||
end.check_request do |_endpoint, data, _headers| | ||
test_transaction_options(data) | ||
|
||
refute_match(/shipping_firstname/, data) | ||
refute_match(/shipping_lastname/, data) | ||
end.respond_with(successful_purchase_response) | ||
|
||
assert_success response | ||
end | ||
|
||
def test_purchase_with_shipping_email | ||
options = @transaction_options.merge({ shipping_address: shipping_address, shipping_email: '[email protected]' }) | ||
|
||
response = stub_comms do | ||
@gateway.purchase(@amount, @credit_card, options) | ||
end.check_request do |_endpoint, data, _headers| | ||
test_transaction_options(data) | ||
|
||
assert_match(/shipping_email=test%40example\.com/, data) | ||
end.respond_with(successful_purchase_response) | ||
|
||
assert_success response | ||
end | ||
|
||
def test_failed_purchase | ||
response = stub_comms do | ||
@gateway.purchase(@amount, @credit_card) | ||
|