Ejemplo n.º 1
0
    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
Ejemplo n.º 2
0
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