Skip to content

Commit 7dc7edc

Browse files
starknet_os_flow_tests: reduce boilerplate with add_invoke_tx_from_args (#9451)
1 parent 50f1c5e commit 7dc7edc

File tree

2 files changed

+10
-13
lines changed

2 files changed

+10
-13
lines changed

crates/starknet_os_flow_tests/src/test_manager.rs

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ use itertools::Itertools;
1515
use starknet_api::block::{BlockHash, BlockInfo, BlockNumber, PreviousBlockNumber};
1616
use starknet_api::contract_class::compiled_class_hash::{HashVersion, HashableCompiledClass};
1717
use starknet_api::contract_class::ContractClass;
18-
use starknet_api::core::{CompiledClassHash, ContractAddress, Nonce};
18+
use starknet_api::core::{ChainId, CompiledClassHash, ContractAddress, Nonce};
1919
use starknet_api::executable_transaction::{
2020
AccountTransaction,
2121
DeclareTransaction,
@@ -24,6 +24,7 @@ use starknet_api::executable_transaction::{
2424
Transaction as StarknetApiTransaction,
2525
};
2626
use starknet_api::state::{SierraContractClass, StorageKey};
27+
use starknet_api::test_utils::invoke::{invoke_tx, InvokeTxArgs};
2728
use starknet_api::test_utils::{NonceManager, CHAIN_ID_FOR_TESTS};
2829
use starknet_api::transaction::fields::Calldata;
2930
use starknet_api::transaction::MessageToL1;
@@ -285,6 +286,10 @@ impl<S: FlowTestState> TestManager<S> {
285286
));
286287
}
287288

289+
pub(crate) fn add_invoke_tx_from_args(&mut self, args: InvokeTxArgs, chain_id: &ChainId) {
290+
self.add_invoke_tx(InvokeTransaction::create(invoke_tx(args), chain_id).unwrap());
291+
}
292+
288293
pub(crate) fn add_cairo0_declare_tx(
289294
&mut self,
290295
tx: DeclareTransaction,

crates/starknet_os_flow_tests/src/tests.rs

Lines changed: 4 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,9 @@ use rstest::rstest;
99
use starknet_api::abi::abi_utils::get_storage_var_address;
1010
use starknet_api::contract_class::compiled_class_hash::HashVersion;
1111
use starknet_api::core::calculate_contract_address;
12-
use starknet_api::executable_transaction::{DeclareTransaction, InvokeTransaction};
12+
use starknet_api::executable_transaction::DeclareTransaction;
1313
use starknet_api::execution_resources::GasAmount;
1414
use starknet_api::test_utils::declare::declare_tx;
15-
use starknet_api::test_utils::invoke::invoke_tx;
1615
use starknet_api::test_utils::{
1716
CHAIN_ID_FOR_TESTS,
1817
DEFAULT_STRK_L1_DATA_GAS_PRICE,
@@ -140,10 +139,7 @@ async fn declare_deploy_scenario(
140139
*FUNDED_ACCOUNT_ADDRESS,
141140
)
142141
.unwrap();
143-
let deploy_contract_tx = invoke_tx(invoke_tx_args);
144-
let deploy_contract_tx =
145-
InvokeTransaction::create(deploy_contract_tx, &CHAIN_ID_FOR_TESTS).unwrap();
146-
test_manager.add_invoke_tx(deploy_contract_tx);
142+
test_manager.add_invoke_tx_from_args(invoke_tx_args, &CHAIN_ID_FOR_TESTS);
147143
test_manager.divide_transactions_into_n_blocks(n_blocks);
148144
let test_output = test_manager
149145
.execute_test_with_default_block_contexts(&TestParameters {
@@ -208,9 +204,7 @@ async fn trivial_diff_scenario(
208204
calldata: create_calldata(test_contract_address, function_name, &[key, value]),
209205
resource_bounds: *NON_TRIVIAL_RESOURCE_BOUNDS,
210206
};
211-
let change_value_tx = invoke_tx(invoke_tx_args);
212-
let change_value_tx = InvokeTransaction::create(change_value_tx, &CHAIN_ID_FOR_TESTS).unwrap();
213-
test_manager.add_invoke_tx(change_value_tx);
207+
test_manager.add_invoke_tx_from_args(invoke_tx_args, &CHAIN_ID_FOR_TESTS);
214208

215209
// Move to next block, and add an invoke that reverts the previous change.
216210
test_manager.move_to_next_block();
@@ -220,9 +214,7 @@ async fn trivial_diff_scenario(
220214
calldata: create_calldata(test_contract_address, function_name, &[key, Felt::ZERO]),
221215
resource_bounds: *NON_TRIVIAL_RESOURCE_BOUNDS,
222216
};
223-
let revert_value_tx = invoke_tx(invoke_tx_args);
224-
let revert_value_tx = InvokeTransaction::create(revert_value_tx, &CHAIN_ID_FOR_TESTS).unwrap();
225-
test_manager.add_invoke_tx(revert_value_tx);
217+
test_manager.add_invoke_tx_from_args(invoke_tx_args, &CHAIN_ID_FOR_TESTS);
226218

227219
// Execute the test.
228220
let test_output = test_manager

0 commit comments

Comments
 (0)