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])
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)
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()