Esempio n. 1
0
def test_get_ce_addtransactionsubtransaction(client):
    client.budgetClient.clear_changed_entities()

    added_transaction = Transaction()
    subtransaction1 = Subtransaction(entities_transaction=added_transaction)
    subtransaction2 = Subtransaction(entities_transaction=added_transaction)

    client.budget.be_transactions.append(added_transaction)
    client.budget.be_subtransactions.append(subtransaction1)
    client.budget.be_subtransactions.append(subtransaction2)

    client.session.commit()

    changed_entities = client.budgetClient.get_changed_apidict()
    assert isinstance(changed_entities, dict)
    assert 1 == len(changed_entities.keys())
    assert 'be_transaction_groups' == list(changed_entities.keys())[0]
    transaction_groups = list(changed_entities['be_transaction_groups'])

    assert 1 == len(transaction_groups)
    assert added_transaction.get_apidict(
    ) == transaction_groups[0]['be_transaction']

    assert transaction_groups[0]['be_subtransactions'] is not None
    subtransactions = transaction_groups[0]['be_subtransactions']
    assert len(subtransactions) == 2
    assert subtransaction1.get_apidict() in subtransactions
    assert subtransaction2.get_apidict() in subtransactions