Skip to content

Commit a944c2a

Browse files
committed
more tests to bring coverage patch to 100%
1 parent 3753fb6 commit a944c2a

File tree

1 file changed

+48
-0
lines changed

1 file changed

+48
-0
lines changed

test/pycardano/test_txbuilder.py

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1397,6 +1397,54 @@ def test_tx_builder_certificates_script(chain_context):
13971397
assert [plutus_script] == witness.plutus_v2_script
13981398

13991399

1400+
def test_tx_builder_cert_redeemer_wrong_tag(chain_context):
1401+
tx_builder = TransactionBuilder(chain_context)
1402+
plutus_script = PlutusV2Script(b"dummy test script")
1403+
redeemer = Redeemer(PlutusData(), ExecutionUnits(100000, 1000000))
1404+
redeemer.tag = RedeemerTag.MINT
1405+
with pytest.raises(InvalidArgumentException) as e:
1406+
tx_builder.add_certificate_script(plutus_script, redeemer=redeemer)
1407+
1408+
1409+
def test_add_cert_script_from_utxo(chain_context):
1410+
tx_builder = TransactionBuilder(chain_context)
1411+
sender = "addr_test1vrm9x2zsux7va6w892g38tvchnzahvcd9tykqf3ygnmwtaqyfg52x"
1412+
sender_address = Address.from_primitive(sender)
1413+
plutus_script = PlutusV2Script(b"dummy test script")
1414+
script_hash = plutus_script_hash(plutus_script)
1415+
script_address = Address(script_hash)
1416+
existing_script_utxo = UTxO(
1417+
TransactionInput.from_primitive(
1418+
[
1419+
"41cb004bec7051621b19b46aea28f0657a586a05ce2013152ea9b9f1a5614cc7",
1420+
1,
1421+
]
1422+
),
1423+
TransactionOutput(script_address, 1234567, script=plutus_script),
1424+
)
1425+
1426+
stake_credential = StakeCredential(script_hash)
1427+
pool_hash = PoolKeyHash(b"1" * POOL_KEY_HASH_SIZE)
1428+
stake_registration = StakeRegistration(stake_credential)
1429+
stake_delegation = StakeDelegation(stake_credential, pool_hash)
1430+
tx_builder.certificates = [stake_registration, stake_delegation]
1431+
tx_builder.add_input_address(sender).add_output(
1432+
TransactionOutput.from_primitive([sender, 500000])
1433+
)
1434+
1435+
redeemer = Redeemer(PlutusData(), ExecutionUnits(100000, 1000000))
1436+
tx_builder.add_certificate_script(existing_script_utxo, redeemer=redeemer)
1437+
tx_builder.ttl = 123456
1438+
1439+
tx_body = tx_builder.build(change_address=sender_address)
1440+
tx_builder.use_redeemer_map = False
1441+
witness = tx_builder.build_witness_set()
1442+
assert witness.plutus_data is None
1443+
assert [redeemer] == witness.redeemer
1444+
assert witness.plutus_v2_script is None
1445+
assert [existing_script_utxo.input] == tx_body.reference_inputs
1446+
1447+
14001448
def test_tx_builder_stake_pool_registration(chain_context, pool_params):
14011449
tx_builder = TransactionBuilder(chain_context, [RandomImproveMultiAsset([0, 0])])
14021450
sender = "addr_test1vrm9x2zsux7va6w892g38tvchnzahvcd9tykqf3ygnmwtaqyfg52x"

0 commit comments

Comments
 (0)