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