From 8faa6d55ea5106853c3ea2bd0b41ff093b8077a5 Mon Sep 17 00:00:00 2001 From: Artur Beljajev Date: Thu, 20 Jun 2019 16:34:33 +0300 Subject: [PATCH] Improve tests - Remove unnecessary fixtures - Remove unnecessary teardown steps - Improve readability --- test/fixtures/bank_transactions.yml | 7 +--- test/fixtures/invoices.yml | 21 ++-------- test/models/payment_orders/bank_link_test.rb | 13 +------ test/models/payment_orders/every_pay_test.rb | 13 +------ .../invoices/payment_callback_test.rb | 38 ++++++++++++------- .../invoices/payment_return_test.rb | 13 +------ 6 files changed, 35 insertions(+), 70 deletions(-) diff --git a/test/fixtures/bank_transactions.yml b/test/fixtures/bank_transactions.yml index 290be1597a..ada80981d4 100644 --- a/test/fixtures/bank_transactions.yml +++ b/test/fixtures/bank_transactions.yml @@ -1,8 +1,5 @@ one: sum: 1 currency: EUR - -for_payments_test: - description: "Order nr. 1" - currency: "EUR" - iban: "1234" + description: Order nr. 1 + iban: US75512108001245126199 \ No newline at end of file diff --git a/test/fixtures/invoices.yml b/test/fixtures/invoices.yml index 9957f787ae..c3e3bac797 100644 --- a/test/fixtures/invoices.yml +++ b/test/fixtures/invoices.yml @@ -2,24 +2,11 @@ one: issue_date: <%= Date.parse '2010-07-05' %> due_date: <%= Date.parse '2010-07-06' %> currency: EUR - seller_name: John Doe - seller_iban: 1234 + seller_name: Seller Ltd + seller_iban: US75512108001245126199 buyer: bestnames - buyer_name: Jane Doe + buyer_name: Buyer Ltd vat_rate: 0.1 total: 16.50 reference_no: 13 - number: 1 - -for_payments_test: - number: 1 - issue_date: <%= Date.parse '2010-07-05' %> - due_date: <%= Date.parse '2010-07-06' %> - currency: EUR - seller_name: John Doe - seller_iban: 1234 - buyer: bestnames - buyer_name: Jane Doe - vat_rate: 0.1 - reference_no: 13 - total: 12.00 \ No newline at end of file + number: 1 \ No newline at end of file diff --git a/test/models/payment_orders/bank_link_test.rb b/test/models/payment_orders/bank_link_test.rb index d62c3c4c17..f1069819cc 100644 --- a/test/models/payment_orders/bank_link_test.rb +++ b/test/models/payment_orders/bank_link_test.rb @@ -7,11 +7,8 @@ class BankLinkTest < ActiveSupport::TestCase def setup super - @invoice = invoices(:for_payments_test) - invoice_item = invoice_items(:one) - - @invoice.items << invoice_item - @invoice.items << invoice_item + @invoice = invoices(:one) + @invoice.update!(total: 12) travel_to '2018-04-01 00:30 +0300' create_new_bank_link @@ -19,12 +16,6 @@ def setup create_cancelled_bank_link end - def teardown - super - - travel_back - end - def create_completed_bank_link params = { 'VK_SERVICE': '1111', diff --git a/test/models/payment_orders/every_pay_test.rb b/test/models/payment_orders/every_pay_test.rb index c8d45a84cd..202efc1b7f 100644 --- a/test/models/payment_orders/every_pay_test.rb +++ b/test/models/payment_orders/every_pay_test.rb @@ -4,11 +4,8 @@ class EveryPayTest < ActiveSupport::TestCase def setup super - @invoice = invoices(:for_payments_test) - invoice_item = invoice_items(:one) - - @invoice.items << invoice_item - @invoice.items << invoice_item + @invoice = invoices(:one) + @invoice.update!(total: 12) params = { response: @@ -41,12 +38,6 @@ def setup travel_to Time.zone.parse('2018-04-01 00:30:00 +0000') end - def teardown - super - - travel_back - end - def test_form_fields expected_fields = { api_username: 'api_user', diff --git a/test/system/registrar_area/invoices/payment_callback_test.rb b/test/system/registrar_area/invoices/payment_callback_test.rb index 81f5f6ef62..62cdc14974 100644 --- a/test/system/registrar_area/invoices/payment_callback_test.rb +++ b/test/system/registrar_area/invoices/payment_callback_test.rb @@ -8,13 +8,30 @@ def setup sign_in @user end - def create_invoice_with_items - @invoice = invoices(:for_payments_test) - invoice_item = invoice_items(:one) + def test_every_pay_callback_returns_status_200 + invoice = payable_invoice + assert_matching_bank_transaction_exists(invoice) + + request_params = every_pay_request_params.merge(invoice_id: invoice.id) + post "/registrar/pay/callback/every_pay", request_params + + assert_response :ok + end + + private - @invoice.items << invoice_item - @invoice.items << invoice_item - @user.registrar.invoices << @invoice + def payable_invoice + invoice = invoices(:one) + invoice.update!(account_activity: nil) + invoice + end + + def assert_matching_bank_transaction_exists(invoice) + assert BankTransaction.find_by( + description: invoice.order, + currency: invoice.currency, + iban: invoice.seller_iban + ), 'Matching bank transaction should exist' end def every_pay_request_params @@ -39,11 +56,4 @@ def every_pay_request_params payment_method: "every_pay" } end - - def test_every_pay_callback_returns_status_200 - create_invoice_with_items - request_params = every_pay_request_params.merge(invoice_id: @invoice.id) - post "/registrar/pay/callback/every_pay", request_params - assert_equal(200, response.status) - end -end +end \ No newline at end of file diff --git a/test/system/registrar_area/invoices/payment_return_test.rb b/test/system/registrar_area/invoices/payment_return_test.rb index ebf556673e..6ecb69649f 100644 --- a/test/system/registrar_area/invoices/payment_return_test.rb +++ b/test/system/registrar_area/invoices/payment_return_test.rb @@ -6,15 +6,8 @@ def setup @user = users(:api_bestnames) sign_in @user - end - - def create_invoice_with_items - @invoice = invoices(:for_payments_test) - invoice_item = invoice_items(:one) - @invoice.items << invoice_item - @invoice.items << invoice_item - @user.registrar.invoices << @invoice + @invoice = invoices(:one) end def every_pay_request_params @@ -65,7 +58,6 @@ def bank_link_request_params end def test_every_pay_return_creates_activity_redirects_to_invoice_path - create_invoice_with_items request_params = every_pay_request_params.merge(invoice_id: @invoice.id) post "/registrar/pay/return/every_pay", request_params @@ -74,7 +66,6 @@ def test_every_pay_return_creates_activity_redirects_to_invoice_path end def test_Every_Pay_return_raises_RecordNotFound - create_invoice_with_items request_params = every_pay_request_params.merge(invoice_id: "178907") assert_raises(ActiveRecord::RecordNotFound) do post "/registrar/pay/return/every_pay", request_params @@ -82,7 +73,6 @@ def test_Every_Pay_return_raises_RecordNotFound end def test_bank_link_return_redirects_to_invoice_paths - create_invoice_with_items request_params = bank_link_request_params.merge(invoice_id: @invoice.id) post "/registrar/pay/return/seb", request_params @@ -91,7 +81,6 @@ def test_bank_link_return_redirects_to_invoice_paths end def test_bank_link_return - create_invoice_with_items request_params = bank_link_request_params.merge(invoice_id: "178907") assert_raises(ActiveRecord::RecordNotFound) do post "/registrar/pay/return/seb", request_params