Convert specs to tests

This commit is contained in:
Artur Beljajev 2018-10-04 14:02:03 +03:00
parent a43a1ac3e3
commit 93a069648e
2 changed files with 30 additions and 21 deletions

View file

@ -34,27 +34,6 @@ describe BankTransaction do
@bank_transaction.errors.full_messages.should match_array([]) @bank_transaction.errors.full_messages.should match_array([])
end 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 it 'should have one version' do
with_versioning do with_versioning do
@bank_transaction.versions.should == [] @bank_transaction.versions.should == []

View file

@ -18,4 +18,34 @@ class BankTransactionTest < ActiveSupport::TestCase
transaction.autobind_invoice transaction.autobind_invoice
end end
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 end