From 41105e32351965ada7763356d1a516658442b19c Mon Sep 17 00:00:00 2001 From: mmeest Date: Tue, 29 Jul 2025 12:25:44 +0300 Subject: [PATCH 1/4] initial --- test/fixtures/bank_transactions.yml | 1 + .../admin_area/bank_transactions_test.rb | 63 +++++++++++++++++++ 2 files changed, 64 insertions(+) create mode 100644 test/integration/admin_area/bank_transactions_test.rb diff --git a/test/fixtures/bank_transactions.yml b/test/fixtures/bank_transactions.yml index 70b3b6651..3cb7302f5 100644 --- a/test/fixtures/bank_transactions.yml +++ b/test/fixtures/bank_transactions.yml @@ -1,4 +1,5 @@ one: + bank_statement: one sum: 1 currency: EUR description: Order nr 1 from registrar 1234567 second number 2345678 diff --git a/test/integration/admin_area/bank_transactions_test.rb b/test/integration/admin_area/bank_transactions_test.rb new file mode 100644 index 000000000..fc8600032 --- /dev/null +++ b/test/integration/admin_area/bank_transactions_test.rb @@ -0,0 +1,63 @@ +require 'test_helper' + +class AdminAreaBankTransactionsIntegrationTest < ActionDispatch::IntegrationTest + include Devise::Test::IntegrationHelpers + + setup do + sign_in users(:admin) + @bank_statement = bank_statements(:one) + @bank_transaction = bank_transactions(:one) + end + + def test_new_page_accessible + get new_admin_bank_statement_bank_transaction_path(@bank_statement) + assert_response :success + end + + def test_creates_bank_transaction + params = { + bank_transaction: { + description: 'Payment for invoice', + sum: '50.00', + currency: 'EUR' + } + } + + assert_difference 'BankTransaction.count', +1 do + post admin_bank_statement_bank_transactions_path(@bank_statement), params: params + end + + transaction = BankTransaction.last + assert_redirected_to admin_bank_transaction_path(transaction) + follow_redirect! + assert_response :success + assert_includes flash[:notice], I18n.t('record_created') + end + + def test_bind_invoice_sets_flash_when_invoice_not_found + patch bind_admin_bank_transaction_path(@bank_transaction), params: { invoice_no: 'INVALID123' } + + assert_response :success + assert_equal I18n.t('failed_to_create_record'), flash[:alert] + end + + def test_updates_bank_transaction + new_description = 'Updated description' + + patch admin_bank_transaction_path(@bank_transaction), params: { + bank_transaction: { + description: new_description, + sum: '1,50' + } + } + + assert_redirected_to admin_bank_transaction_path(@bank_transaction) + follow_redirect! + assert_response :success + assert_equal I18n.t('record_updated'), flash[:notice] + + @bank_transaction.reload + assert_equal new_description, @bank_transaction.description + assert_in_delta 1.5, @bank_transaction.sum.to_f, 0.0001 + end +end \ No newline at end of file From 8948d4ada7a1045d253f8990304ca34c0c31acdf Mon Sep 17 00:00:00 2001 From: mmeest Date: Tue, 29 Jul 2025 12:42:22 +0300 Subject: [PATCH 2/4] added extra line --- test/integration/admin_area/bank_transactions_test.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/integration/admin_area/bank_transactions_test.rb b/test/integration/admin_area/bank_transactions_test.rb index fc8600032..49112cac4 100644 --- a/test/integration/admin_area/bank_transactions_test.rb +++ b/test/integration/admin_area/bank_transactions_test.rb @@ -60,4 +60,4 @@ class AdminAreaBankTransactionsIntegrationTest < ActionDispatch::IntegrationTest assert_equal new_description, @bank_transaction.description assert_in_delta 1.5, @bank_transaction.sum.to_f, 0.0001 end -end \ No newline at end of file +end From 5cd861b71adf8d8cf40ae2932f1fdea06e81255d Mon Sep 17 00:00:00 2001 From: mmeest Date: Tue, 29 Jul 2025 14:54:33 +0300 Subject: [PATCH 3/4] fixed binded fixture --- test/fixtures/bank_statements.yml | 6 +++++- test/fixtures/bank_transactions.yml | 8 +++++++- test/integration/admin_area/bank_transactions_test.rb | 2 +- 3 files changed, 13 insertions(+), 3 deletions(-) diff --git a/test/fixtures/bank_statements.yml b/test/fixtures/bank_statements.yml index 36ed23cf1..908e9d053 100644 --- a/test/fixtures/bank_statements.yml +++ b/test/fixtures/bank_statements.yml @@ -1,3 +1,7 @@ one: bank_code: '1234' - iban: GB33BUKB20201555555555 \ No newline at end of file + iban: GB33BUKB20201555555555 + +two: + bank_code: '4321' + iban: GB82WEST12345698765432 \ No newline at end of file diff --git a/test/fixtures/bank_transactions.yml b/test/fixtures/bank_transactions.yml index 3cb7302f5..3bd41a12b 100644 --- a/test/fixtures/bank_transactions.yml +++ b/test/fixtures/bank_transactions.yml @@ -1,5 +1,11 @@ one: - bank_statement: one + sum: 1 + currency: EUR + description: Order nr 1 from registrar 1234567 second number 2345678 + iban: US75512108001245126199 + +with_statement: + bank_statement: two sum: 1 currency: EUR description: Order nr 1 from registrar 1234567 second number 2345678 diff --git a/test/integration/admin_area/bank_transactions_test.rb b/test/integration/admin_area/bank_transactions_test.rb index 49112cac4..7825e5f60 100644 --- a/test/integration/admin_area/bank_transactions_test.rb +++ b/test/integration/admin_area/bank_transactions_test.rb @@ -6,7 +6,7 @@ class AdminAreaBankTransactionsIntegrationTest < ActionDispatch::IntegrationTest setup do sign_in users(:admin) @bank_statement = bank_statements(:one) - @bank_transaction = bank_transactions(:one) + @bank_transaction = bank_transactions(:with_statement) end def test_new_page_accessible From dfd6ac8c044ac535b0f9ff9d574c03d95e6663c3 Mon Sep 17 00:00:00 2001 From: mmeest Date: Tue, 29 Jul 2025 15:06:53 +0300 Subject: [PATCH 4/4] added extra line --- test/fixtures/bank_statements.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/test/fixtures/bank_statements.yml b/test/fixtures/bank_statements.yml index 908e9d053..327601bf2 100644 --- a/test/fixtures/bank_statements.yml +++ b/test/fixtures/bank_statements.yml @@ -4,4 +4,5 @@ one: two: bank_code: '4321' - iban: GB82WEST12345698765432 \ No newline at end of file + iban: GB82WEST12345698765432 + \ No newline at end of file