multiversx_sc_scenario/facade/result_handlers/
expect_status.rs

1use multiversx_sc::types::{RHListItem, RHListItemExec, TxEnv};
2
3use crate::scenario_model::{CheckValue, TxExpect, TxResponse};
4
5/// Verifies that transaction result status matches the given one.
6///
7/// Can only be used in tests and interactors, not available in contracts.
8pub struct ExpectStatus(pub u64);
9
10impl<Env, Original> RHListItem<Env, Original> for ExpectStatus
11where
12    Env: TxEnv,
13{
14    type Returns = ();
15}
16
17impl<Env, Original> RHListItemExec<TxResponse, Env, Original> for ExpectStatus
18where
19    Env: TxEnv<RHExpect = TxExpect>,
20{
21    fn item_preprocessing(&self, mut prev: TxExpect) -> TxExpect {
22        prev.status = CheckValue::Equal(self.0.into());
23        prev
24    }
25
26    fn item_process_result(self, _: &TxResponse) -> Self::Returns {}
27}