diff --git a/python-regression/tests/features/machine3/3_transaction_tests.feature b/python-regression/tests/features/machine3/3_transaction_tests.feature index 2c54284e95..d5ce04686c 100644 --- a/python-regression/tests/features/machine3/3_transaction_tests.feature +++ b/python-regression/tests/features/machine3/3_transaction_tests.feature @@ -155,4 +155,45 @@ Feature: Test transaction confirmation Then the response for "getBalances" should return with: |keys |values |type | - |balances |1000 0 |intList | \ No newline at end of file + |balances |1000 0 |intList | + + Scenario: Split transaction over 2 bundles + We want to ascertain that ledger state is always calculated correctly. + Even when there is a transaction used in 2 different bundles. A split bundle is + a bundle that uses a transaction from another bundle. + + Then "1" transaction is issued on "nodeA-m3" with: + |keys |values |type | + |address |TEST_ADDRESS |staticValue | + |value |0 |int | + |tag |ZERO9VALUE |string | + + Then a split bundle is generated referencing the previous transaction with: + |keys |values |type | + |seed |SPLIT_BUNDLE_SEED |staticValue | + |value |2000 |int | + |tag |FAKE9VALUE |string | + |address |SPLIT_TO_ADDRESS |staticValue | + + Then a transaction is issued referencing the previous transaction + |keys |values |type | + |seed |THE_BANK |staticList | + |address |TEST_ADDRESS |staticValue | + |value |11 |int | + |tag |VALUE9TRANSACTION |string | + + #In the default test, the latest sent index will be 54. The next milestone issued should be 55. + When a milestone is issued with index 55 and references: + |keys |values |type | + |transactions |previousTransaction |responseValue | + + #Give the node time to solidify the milestone + And we wait "15" second/seconds + + Given "getBalances" is called on "nodeA-m3" with: + |keys |values |type | + |addresses |SPLIT_TO_ADDRESS |staticList | + + Then the response for "getBalances" should return with: + |keys |values |type | + |balances |2000 |intList | \ No newline at end of file