def test_unreconciled(self):
     m_db = Mock()
     m_q = Mock(spec_set=Query)
     m_filt = Mock(spec_set=Query)
     m_db.query.return_value = m_q
     m_q.filter.return_value = m_filt
     res = OFXTransaction.unreconciled(m_db)
     assert res == m_filt
     assert len(m_db.mock_calls) == 2
     assert m_db.mock_calls[0] == call.query(OFXTransaction)
     kall = m_db.mock_calls[1]
     assert kall[0] == 'query().filter'
     expected1 = OFXTransaction.reconcile.__eq__(null())
     cutoff = datetime(2017, 3, 17, 0, 0, 0, tzinfo=UTC)
     expected2 = OFXTransaction.date_posted.__ge__(cutoff)
     expected3 = OFXTransaction.account.has(reconcile_trans=True)
     assert len(kall[1]) == 8
     assert str(expected1) == str(kall[1][0])
     assert binexp_to_dict(expected2) == binexp_to_dict(kall[1][1])
     assert str(kall[1][2]) == str(expected3)
     assert str(OFXTransaction.is_payment.__ne__(True)) == str(kall[1][3])
     assert str(OFXTransaction.is_late_fee.__ne__(True)) == str(kall[1][4])
     assert str(OFXTransaction.is_interest_charge.__ne__(True)) == str(
         kall[1][5])
     assert str(OFXTransaction.is_other_fee.__ne__(True)) == str(kall[1][6])
     assert str(OFXTransaction.is_interest_payment.__ne__(True)) == str(
         kall[1][7])
Ejemplo n.º 2
0
 def get(self):
     res = []
     for t in OFXTransaction.unreconciled(db_session).order_by(
             OFXTransaction.date_posted).all():
         d = t.as_dict
         d['account_name'] = t.account.name
         d['account_amount'] = t.account_amount
         res.append(d)
     return jsonify(res)
Ejemplo n.º 3
0
    def num_unreconciled_ofx(sess=None):
        """
        Return the number of unreconciled OFXTransactions.

        :return: number of unreconciled OFXTransactions
        :rtype: int
        """
        if sess is None:
            sess = db_session
        return OFXTransaction.unreconciled(sess).count()
 def _reconcile_drag_postshot(self):
     logger.info('Reconcile drag postshot')
     conn = engine.connect()
     logger.info('Updating DB')
     data_sess = scoped_session(
         sessionmaker(autocommit=False, autoflush=False, bind=conn))
     for t in OFXTransaction.unreconciled(data_sess):
         data_sess.delete(t)
     data_sess.flush()
     data_sess.commit()
     data_sess.close()
     conn.close()