mirror of
https://github.com/internetee/registry.git
synced 2025-06-11 07:04:47 +02:00
120 lines
3.7 KiB
Ruby
120 lines
3.7 KiB
Ruby
require 'test_helper'
|
|
|
|
class BankLinkTest < ActiveSupport::TestCase
|
|
# Note: Files stored in: test/fixtures/files/seb_seller_key.pem
|
|
# test/fixtures/files/seb_bank_cert.pem
|
|
# are autogenerated, they will not work against production or even staging.
|
|
def setup
|
|
super
|
|
|
|
@invoice = invoices(:for_payments_test)
|
|
invoice_item = invoice_items(:one)
|
|
|
|
@invoice.invoice_items << invoice_item
|
|
@invoice.invoice_items << invoice_item
|
|
|
|
travel_to '2018-04-01 00:30 +0300'
|
|
create_new_bank_link
|
|
create_completed_bank_link
|
|
create_cancelled_bank_link
|
|
end
|
|
|
|
def teardown
|
|
super
|
|
travel_back
|
|
end
|
|
|
|
def create_completed_bank_link
|
|
params = {
|
|
"VK_SERVICE": "1111",
|
|
"VK_VERSION": "008",
|
|
"VK_SND_ID": "testvpos",
|
|
"VK_REC_ID": "seb",
|
|
"VK_STAMP": 1,
|
|
"VK_T_NO": "1",
|
|
"VK_AMOUNT": "12.00",
|
|
"VK_CURR": "EUR",
|
|
"VK_REC_ACC": "1234",
|
|
"VK_REC_NAME": "Eesti Internet",
|
|
"VK_SND_ACC": "1234",
|
|
"VK_SND_NAME": "John Doe",
|
|
"VK_REF": "",
|
|
"VK_MSG": "Order nr 1",
|
|
"VK_T_DATETIME": "2018-04-01T00:30:00+0300",
|
|
"VK_MAC": "CZZvcptkxfuOxRR88JmT4N+Lw6Hs4xiQfhBWzVYldAcRTQbcB/lPf9MbJzBE4e1/HuslQgkdCFt5g1xW2lJwrVDBQTtP6DAHfvxU3kkw7dbk0IcwhI4whUl68/QCwlXEQTAVDv1AFnGVxXZ40vbm/aLKafBYgrirB5SUe8+g9FE=",
|
|
"VK_ENCODING": "UTF-8",
|
|
"VK_LANG": "ENG"
|
|
}.with_indifferent_access
|
|
|
|
@completed_bank_link = Payments::BankLink.new(
|
|
'seb', @invoice, { response: params }
|
|
)
|
|
end
|
|
|
|
def create_cancelled_bank_link
|
|
params = {
|
|
"VK_SERVICE": "1911",
|
|
"VK_VERSION": "008",
|
|
"VK_SND_ID": "testvpos",
|
|
"VK_REC_ID": "seb",
|
|
"VK_STAMP": 1,
|
|
"VK_REF": "",
|
|
"VK_MSG": "Order nr 1",
|
|
"VK_MAC": "PElE2mYXXN50q2UBvTuYU1rN0BmOQcbafPummDnWfNdm9qbaGQkGyOn0XaaFGlrdEcldXaHBbZKUS0HegIgjdDfl2NOk+wkLNNH0Iu38KzZaxHoW9ga7vqiyKHC8dcxkHiO9HsOnz77Sy/KpWCq6cz48bi3fcMgo+MUzBMauWoQ=",
|
|
"VK_ENCODING": "UTF-8",
|
|
"VK_LANG": "ENG"
|
|
}.with_indifferent_access
|
|
|
|
@cancelled_bank_link = Payments::BankLink.new(
|
|
'seb', @invoice, { response: params }
|
|
)
|
|
end
|
|
|
|
def create_new_bank_link
|
|
params = { return_url: 'return.url', response_url: 'response.url' }
|
|
@new_bank_link = Payments::BankLink.new('seb', @invoice, params)
|
|
end
|
|
|
|
def test_response_is_not_valid_when_it_is_missing
|
|
refute(false, @new_bank_link.valid_response_from_intermediary?)
|
|
end
|
|
|
|
def test_form_fields
|
|
expected_response = {
|
|
"VK_SERVICE": "1012",
|
|
"VK_VERSION": "008",
|
|
"VK_SND_ID": "testvpos",
|
|
"VK_STAMP": 1,
|
|
"VK_AMOUNT": "12.00",
|
|
"VK_CURR": "EUR",
|
|
"VK_REF": "",
|
|
"VK_MSG": "Order nr. 1",
|
|
"VK_RETURN": "return.url",
|
|
"VK_CANCEL": "return.url",
|
|
"VK_DATETIME": "2018-04-01T00:30:00+0300",
|
|
"VK_MAC": "q70UNFV4ih1qYij2+CyrHaApc3OE66igy3ijuR1m9dl0Cg+lIrAUsP47JChAF7PRErwZ78vSuZwrg0Vabhlp3WoC934ik2FiE04BBxUUTndONvguaNR1wvl0FiwfXFljLncX7TOmRraywJljKC5vTnIRNT2+1HXvmv0v576PGao=",
|
|
"VK_ENCODING": "UTF-8",
|
|
"VK_LANG": "ENG"
|
|
}.with_indifferent_access
|
|
|
|
assert_equal(expected_response, @new_bank_link.form_fields)
|
|
end
|
|
|
|
def test_valid_success_response_from_intermediary?
|
|
assert(@completed_bank_link.valid_response_from_intermediary?)
|
|
end
|
|
|
|
def test_valid_cancellation_response_from_intermediary?
|
|
assert(@cancelled_bank_link.valid_response_from_intermediary?)
|
|
end
|
|
|
|
def test_settled_payment?
|
|
assert(@completed_bank_link.settled_payment?)
|
|
refute(@cancelled_bank_link.settled_payment?)
|
|
end
|
|
|
|
def test_complete_transaction_returns_account_activity_or_nil
|
|
assert_instance_of(AccountActivity, @completed_bank_link.complete_transaction)
|
|
assert_nil(@cancelled_bank_link.complete_transaction)
|
|
end
|
|
end
|