From 93a069648e175f8cee4da49747a06089562e5ce6 Mon Sep 17 00:00:00 2001 From: Artur Beljajev Date: Thu, 4 Oct 2018 14:02:03 +0300 Subject: [PATCH] Convert specs to tests --- spec/models/bank_transaction_spec.rb | 21 ------------------- test/models/bank_transaction_test.rb | 30 ++++++++++++++++++++++++++++ 2 files changed, 30 insertions(+), 21 deletions(-) diff --git a/spec/models/bank_transaction_spec.rb b/spec/models/bank_transaction_spec.rb index 7b3cb57f6..f78b87317 100644 --- a/spec/models/bank_transaction_spec.rb +++ b/spec/models/bank_transaction_spec.rb @@ -34,27 +34,6 @@ describe BankTransaction do @bank_transaction.errors.full_messages.should match_array([]) end - it 'should not bind transaction with mismatching sums' do - r = create(:registrar) - invoice = r.issue_prepayment_invoice(200, 'add some money') - - bt = create(:bank_transaction, { sum: 10 }) - bt.bind_invoice(invoice.number) - - bt.errors.full_messages.should match_array(["Invoice and transaction sums do not match"]) - end - - it 'should not bind transaction with cancelled invoice' do - r = create(:registrar) - invoice = r.issue_prepayment_invoice(200, 'add some money') - invoice.cancel - - bt = create(:bank_transaction, { sum: 240 }) - bt.bind_invoice(invoice.number) - - bt.errors.full_messages.should match_array(["Cannot bind cancelled invoice"]) - end - it 'should have one version' do with_versioning do @bank_transaction.versions.should == [] diff --git a/test/models/bank_transaction_test.rb b/test/models/bank_transaction_test.rb index 7f3b23c01..d6f32bb10 100644 --- a/test/models/bank_transaction_test.rb +++ b/test/models/bank_transaction_test.rb @@ -18,4 +18,34 @@ class BankTransactionTest < ActiveSupport::TestCase transaction.autobind_invoice end end + + def test_underpayment_is_not_matched_with_invoice + invoices(:valid).update!(number: '2222', total: 10) + transaction = BankTransaction.new(sum: 9) + + assert_no_difference 'AccountActivity.count' do + transaction.bind_invoice('2222') + end + assert transaction.errors.full_messages.include?('Invoice and transaction sums do not match') + end + + def test_overpayment_is_not_matched_with_invoice + invoices(:valid).update!(number: '2222', total: 10) + transaction = BankTransaction.new(sum: 11) + + assert_no_difference 'AccountActivity.count' do + transaction.bind_invoice('2222') + end + assert transaction.errors.full_messages.include?('Invoice and transaction sums do not match') + end + + def test_cancelled_invoice_is_not_matched + invoices(:valid).update!(number: '2222', total: 10, cancelled_at: '2010-07-05') + transaction = BankTransaction.new(sum: 10) + + assert_no_difference 'AccountActivity.count' do + transaction.bind_invoice('2222') + end + assert transaction.errors.full_messages.include?('Cannot bind cancelled invoice') + end end