import time import pytest from sakia.gui.navigation.txhistory.table_model import HistoryTableModel @pytest.mark.asyncio async def test_tx_history_table_model( application_with_one_connection, fake_server_with_blockchain, bob, alice ): application_with_one_connection.instanciate_services() bob_connection = application_with_one_connection.db.connections_repo.get_one( pubkey=bob.key.pubkey ) date_start = time.time() - 86400 date_end = time.time() history_table_model = HistoryTableModel( application_with_one_connection, application_with_one_connection, bob_connection, date_start, date_end, application_with_one_connection.identities_service, application_with_one_connection.transactions_service, ) # send transaction with lock_mode 0 ( _, sakia_tx_list, ) = await application_with_one_connection.documents_service.send_money( bob_connection, bob.salt, bob.password, alice.key.pubkey, 100, 0, None, 0, None ) history_table_model.init_transfers() transfers = application_with_one_connection.transactions_service.transfers( bob.key.pubkey ) # test transfer change history_table_model.change_transfer(transfers[0]) assert len(history_table_model.transfers_data) == 1 conditions_data = history_table_model.transfers_data[0][ HistoryTableModel.columns_types.index("conditions") ] assert conditions_data is None # send transaction with lock_mode_1 ( _, sakia_tx_list, ) = await application_with_one_connection.documents_service.send_money( bob_connection, bob.salt, bob.password, alice.key.pubkey, 100, 0, None, 1, None ) history_table_model.init_transfers() transfers = application_with_one_connection.transactions_service.transfers( bob.key.pubkey ) # test transfer change history_table_model.change_transfer(transfers[0]) assert len(history_table_model.transfers_data) == 2 conditions_data = history_table_model.transfers_data[0][ HistoryTableModel.columns_types.index("conditions") ] if conditions_data is None: conditions_data = history_table_model.transfers_data[1][ HistoryTableModel.columns_types.index("conditions") ] assert ( conditions_data == "SIG(F3HWkYnUSbdpEueosKqzYd1m8ftwojwE2uXR7ScoAVKo) || (SIG(GfFUvqaVSgCt6nFDQCAuULWk6K16MUDckeyBJQFcaYj7) && CSV(604800))" )