Skip to content

Commit

Permalink
Litle: Add tests for network tokenization (#5145)
Browse files Browse the repository at this point in the history
Summary:
------------------------------
Add unit and remote tests for network token transactions

[SER-1270](https://spreedly.atlassian.net/browse/SER-1270)

Remote Test:
------------------------------
Finished in 88.332434 seconds.
60 tests, 261 assertions, 0 failures, 0 errors, 0 pendings,
0 omissions, 0 notifications
100% passed

Unit Test:
------------------------------
Finished in 45.844644 seconds.
5931 tests, 79847 assertions, 0 failures, 0 errors, 0 pendings,
0 omissions, 0 notifications
100% passed

RuboCop:
------------------------------
798 files inspected, no offenses detected
  • Loading branch information
Buitragox committed Jun 18, 2024
1 parent 23169a5 commit 5bd880f
Show file tree
Hide file tree
Showing 2 changed files with 53 additions and 0 deletions.
35 changes: 35 additions & 0 deletions test/remote/gateways/remote_litle_test.rb
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,18 @@ def setup
payment_cryptogram: 'BwABBJQ1AgAAAAAgJDUCAAAAAAA='
}
)

@decrypted_network_token = NetworkTokenizationCreditCard.new(
{
source: :network_token,
month: '02',
year: '2050',
brand: 'master',
number: '5112010000000000',
payment_cryptogram: 'BwABBJQ1AgAAAAAgJDUCAAAAAAA='
}
)

@check = check(
name: 'Tom Black',
routing_number: '011075150',
Expand Down Expand Up @@ -260,6 +272,12 @@ def test_successful_purchase_with_google_pay
assert_equal 'Approved', response.message
end

def test_successful_purchase_with_network_token
assert response = @gateway.purchase(10100, @decrypted_network_token)
assert_success response
assert_equal 'Approved', response.message
end

def test_successful_purchase_with_level_two_data_visa
options = @options.merge(
level_2_data: {
Expand Down Expand Up @@ -597,6 +615,12 @@ def test_authorize_and_capture_with_stored_credential_cit_card_on_file
assert_equal 'Approved', capture.message
end

def test_authorize_with_network_token
assert response = @gateway.authorize(10100, @decrypted_network_token)
assert_success response
assert_equal 'Approved', response.message
end

def test_purchase_with_stored_credential_cit_card_on_file_non_ecommerce
credit_card = CreditCard.new(@credit_card_hash.merge(
number: '4457000800000002',
Expand Down Expand Up @@ -872,4 +896,15 @@ def test_echeck_scrubbing
assert_scrubbed(@gateway.options[:login], transcript)
assert_scrubbed(@gateway.options[:password], transcript)
end

def test_network_token_scrubbing
transcript = capture_transcript(@gateway) do
@gateway.purchase(10010, @decrypted_network_token, @options)
end
transcript = @gateway.scrub(transcript)
assert_scrubbed(@decrypted_network_token.number, transcript)
assert_scrubbed(@decrypted_network_token.payment_cryptogram, transcript)
assert_scrubbed(@gateway.options[:login], transcript)
assert_scrubbed(@gateway.options[:password], transcript)
end
end
18 changes: 18 additions & 0 deletions test/unit/gateways/litle_test.rb
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,16 @@ def setup
payment_cryptogram: 'BwABBJQ1AgAAAAAgJDUCAAAAAAA='
}
)
@decrypted_network_token = NetworkTokenizationCreditCard.new(
{
source: :network_token,
month: '02',
year: '2050',
brand: 'master',
number: '5112010000000000',
payment_cryptogram: 'BwABBJQ1AgAAAAAgJDUCAAAAAAA='
}
)
@amount = 100
@options = {}
@check = check(
Expand Down Expand Up @@ -364,6 +374,14 @@ def test_add_google_pay_order_source
end.respond_with(successful_purchase_response)
end

def test_add_network_token_order_source
stub_comms do
@gateway.purchase(@amount, @decrypted_network_token)
end.check_request do |_endpoint, data, _headers|
assert_match '<orderSource>ecommerce</orderSource>', data
end.respond_with(successful_purchase_response)
end

def test_successful_authorize_and_capture
response = stub_comms do
@gateway.authorize(@amount, @credit_card)
Expand Down

0 comments on commit 5bd880f

Please sign in to comment.