Improve tests

- Remove unnecessary fixtures
- Remove unnecessary teardown steps
- Improve readability
This commit is contained in:
Artur Beljajev 2019-06-20 16:34:33 +03:00
parent 07b23ca57f
commit 8faa6d55ea
6 changed files with 35 additions and 70 deletions

View file

@ -8,13 +8,30 @@ class PaymentCallbackTest < ApplicationSystemTestCase
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)
@invoice.items << invoice_item
@invoice.items << invoice_item
@user.registrar.invoices << @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
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 @@ class PaymentCallbackTest < ApplicationSystemTestCase
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

View file

@ -6,15 +6,8 @@ class PaymentReturnTest < ApplicationSystemTestCase
@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 @@ class PaymentReturnTest < ApplicationSystemTestCase
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 @@ class PaymentReturnTest < ApplicationSystemTestCase
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 @@ class PaymentReturnTest < ApplicationSystemTestCase
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 @@ class PaymentReturnTest < ApplicationSystemTestCase
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