diff --git a/spec/factories/bank_statement.rb b/spec/factories/bank_statement.rb deleted file mode 100644 index fa4865496..000000000 --- a/spec/factories/bank_statement.rb +++ /dev/null @@ -1,11 +0,0 @@ -FactoryBot.define do - factory :bank_statement do - bank_code { '767' } - iban { 'EE557700771000598731' } - queried_at { Time.zone.now } - - after :build do |bank_statement| - bank_statement.bank_transactions << FactoryBot.create_pair(:bank_transaction) - end - end -end diff --git a/spec/models/bank_statement_spec.rb b/spec/models/bank_statement_spec.rb deleted file mode 100644 index d1d54d01f..000000000 --- a/spec/models/bank_statement_spec.rb +++ /dev/null @@ -1,81 +0,0 @@ -require 'rails_helper' - -describe BankStatement do - context 'with invalid attribute' do - before :all do - @bank_statement = BankStatement.new - end - - it 'should not be valid' do - @bank_statement.valid? - @bank_statement.errors.full_messages.should match_array([ - "Bank code is missing", - "Iban is missing" - ]) - end - - it 'should not have any versions' do - @bank_statement.versions.should == [] - end - end - - context 'with valid attributes' do - before do - @bank_statement = create(:bank_statement) - end - - it 'should be valid' do - @bank_statement.valid? - @bank_statement.errors.full_messages.should match_array([]) - end - - it 'should be valid twice' do - @bank_statement = create(:bank_statement) - @bank_statement.valid? - @bank_statement.errors.full_messages.should match_array([]) - end - - it 'should not bind transactions with invalid match data' do - r = create(:registrar, reference_no: '1234') - - create(:account, registrar: r, account_type: 'cash', balance: 0) - - r.issue_prepayment_invoice(200, 'add some money') - - bs = create(:bank_statement, bank_transactions: [ - create(:bank_transaction, { - sum: 240.0, # with vat - reference_no: 'RF7086666662', - description: 'Invoice no. 1' - }), - create(:bank_transaction, { - sum: 240.0, - reference_no: '1234', - description: 'Invoice no. 4948934' - }) - ]) - - bs.bank_transactions.count.should == 4 - - AccountActivity.count.should == 0 - bs.bind_invoices - - AccountActivity.count.should == 0 - - r.cash_account.balance.should == 0.0 - - bs.bank_transactions.unbinded.count.should == 4 - bs.not_binded?.should == true - end - - it 'should have one version' do - with_versioning do - @bank_statement.versions.should == [] - @bank_statement.bank_code = 'new_code' - @bank_statement.save - @bank_statement.errors.full_messages.should match_array([]) - @bank_statement.versions.size.should == 1 - end - end - end -end diff --git a/test/fixtures/bank_statements.yml b/test/fixtures/bank_statements.yml new file mode 100644 index 000000000..36ed23cf1 --- /dev/null +++ b/test/fixtures/bank_statements.yml @@ -0,0 +1,3 @@ +one: + bank_code: '1234' + iban: GB33BUKB20201555555555 \ No newline at end of file diff --git a/test/models/bank_statement_test.rb b/test/models/bank_statement_test.rb new file mode 100644 index 000000000..ff08a8bf8 --- /dev/null +++ b/test/models/bank_statement_test.rb @@ -0,0 +1,25 @@ +require 'test_helper' + +class BankStatementTest < ActiveSupport::TestCase + def test_valid_bank_statement_fixture_is_valid + assert valid_bank_statement.valid?, proc { valid_bank_statement.errors.full_messages } + end + + def test_invalid_without_bank_code + bank_statement = valid_bank_statement + bank_statement.bank_code = '' + assert bank_statement.invalid? + end + + def test_invalid_without_iban + bank_statement = valid_bank_statement + bank_statement.iban = '' + assert bank_statement.invalid? + end + + private + + def valid_bank_statement + bank_statements(:one) + end +end \ No newline at end of file