diff --git a/tests/test_unit_tx.py b/tests/test_unit_tx.py index eca98c118fb13dcf87cb313de5c2984ea6036293..a4022d6b8745bd37aeb37584314af33e448465b6 100644 --- a/tests/test_unit_tx.py +++ b/tests/test_unit_tx.py @@ -60,12 +60,13 @@ async def test_display_pubkey(message, pubkey, id, monkeypatch): # transaction_confirmation() @pytest.mark.parametrize( - "issuer_pubkey, pubkey_balance, tx_amount, outputAddresses, outputBackChange, comment, currency_symbol", + "issuer_pubkey, pubkey_balance, tx_amounts, total_tx_amount, outputAddresses, outputBackChange, comment, currency_symbol", [ # only one receiver [ "DBM6F5ChMJzpmkUdL5zD9UXKExmZGfQ1AgPDQy4MxSBw", 3000, + [1000], 1000, ["4szFkvQ5tzzhwcfUtZD32hdoG2ZzhvG3ZtfR61yjnxdw"], "", @@ -76,6 +77,7 @@ async def test_display_pubkey(message, pubkey, id, monkeypatch): [ "DBM6F5ChMJzpmkUdL5zD9UXKExmZGfQ1AgPDQy4MxSBw", 3000, + [1000], 1000, ["BFb5yv8z1fowR6Z8mBXTALy5z7gHfMU976WtXhmRsUMh"], "", @@ -86,6 +88,7 @@ async def test_display_pubkey(message, pubkey, id, monkeypatch): [ "DBM6F5ChMJzpmkUdL5zD9UXKExmZGfQ1AgPDQy4MxSBw", 3000, + [1000], 1000, [ "BFb5yv8z1fowR6Z8mBXTALy5z7gHfMU976WtXhmRsUMh", @@ -95,13 +98,28 @@ async def test_display_pubkey(message, pubkey, id, monkeypatch): "This is a comment", G1_SYMBOL, ], + # many receivers and outputs + [ + "DBM6F5ChMJzpmkUdL5zD9UXKExmZGfQ1AgPDQy4MxSBw", + 3000, + [1000, 250], + 1250, + [ + "BFb5yv8z1fowR6Z8mBXTALy5z7gHfMU976WtXhmRsUMh", + "4szFkvQ5tzzhwcfUtZD32hdoG2ZzhvG3ZtfR61yjnxdw", + ], + "", + "This is a comment", + G1_SYMBOL, + ], ], ) @pytest.mark.asyncio async def test_transaction_confirmation( issuer_pubkey, pubkey_balance, - tx_amount, + tx_amounts, + total_tx_amount, outputAddresses, outputBackChange, comment, @@ -118,44 +136,49 @@ async def test_transaction_confirmation( # creating expected list ud_value = await UDValue().ud_value expected = list() - expected.append( - [ - "pubkey’s balance before tx", - str(pubkey_balance / 100) + " " + currency_symbol, - ] + # display account situation + display_amount( + expected, + "pubkey's balance before tx", + float(pubkey_balance), + ud_value, + currency_symbol, ) - display_amount( expected, - "total amount", - float(tx_amount * len(outputAddresses)), + "total transaction amount", + float(total_tx_amount), ud_value, currency_symbol, ) - - expected.append( - [ - "pubkey’s balance after tx", - str(((pubkey_balance - tx_amount * len(outputAddresses)) / 100)) - + " " - + currency_symbol, - ] + display_amount( + expected, + "pubkey's balance after tx", + float(pubkey_balance - total_tx_amount), + ud_value, + currency_symbol, ) - await display_pubkey(expected, "from", issuer_pubkey) - for outputAddress in outputAddresses: - await display_pubkey(expected, "to", outputAddress) - display_amount(expected, "amount", tx_amount, ud_value, currency_symbol) + # display outputs and amounts + if len(tx_amounts) == 1: + for outputAddress in outputAddresses: + await display_pubkey(expected, "to", outputAddress) + display_amount(expected, "amount", tx_amounts[0], ud_value, currency_symbol) + if len(tx_amounts) > 1: + for outputAddress, tx_amount in zip(outputAddresses, tx_amounts): + await display_pubkey(expected, "to", outputAddress) + display_amount(expected, "amount", tx_amount, ud_value, currency_symbol) + # display backchange and comment if outputBackChange: await display_pubkey(expected, "Backchange", outputBackChange) - expected.append(["comment", comment]) # asserting tx = await transaction_confirmation( issuer_pubkey, pubkey_balance, - tx_amount, + tx_amounts, + total_tx_amount, outputAddresses, outputBackChange, comment,