def test_file_parse(self): """Test able to parse file""" trx_import = TransactionsImport(self.accounts['bank'].account_id, self.filename) assert trx_import.transactions == [] trx_import.parse_file() assert len(trx_import.transactions) == 18 assert { 'date': '02/24/2013', 'summary': "SHAWNEE PEAK", 'amount': '24.00', 'debit': None, 'credit': self.accounts['bank'].account_id, 'duplicate': False } in trx_import.transactions assert { 'date': '02/19/2013', 'summary': "Interest Income", 'amount': '5.00', 'debit': self.accounts['bank'].account_id, 'credit': self.accounts['income'].account_id, 'duplicate': True } in trx_import.transactions
def transactions_import(): """Import transactions""" with STATS.upload_transactions.time(): form = TransactionsImportForm(MultiDict(request.data)) if form.validate(): importer = TransactionsImport(form.account.data, form.transactions_file.data) transaction_list = [] for trx in importer.parse_file(): transaction_list.append(trx.jsonify()) STATS.success += 1 return jsonify(trx) resp = jsonify(form.errors) resp.status_code = 400 return resp