diff --git a/integration-tests/basic-contract-caller/e2e_tests.rs b/integration-tests/basic-contract-caller/e2e_tests.rs new file mode 100644 index 00000000000..e9ce86d4bc1 --- /dev/null +++ b/integration-tests/basic-contract-caller/e2e_tests.rs @@ -0,0 +1,35 @@ +use super::basic_contract_caller::*; +use ink_e2e::ContractsBackend; + +type E2EResult = std::result::Result>; + +#[ink_e2e::test] +async fn flip_and_get(mut client: Client) -> E2EResult<()> { + // given + let other_contract_code = client + .upload("other-contract", &ink_e2e::alice()) + .submit() + .await + .expect("other_contract upload failed"); + + let mut constructor = BasicContractCallerRef::new(other_contract_code.code_hash); + let contract = client + .instantiate("basic-contract-caller", &ink_e2e::alice(), &mut constructor) + .submit() + .await + .expect("basic-contract-caller instantiate failed"); + let mut call_builder = contract.call_builder::(); + let call = call_builder.flip_and_get(); + + // when + let result = client + .call(&ink_e2e::alice(), &call) + .submit() + .await + .expect("Calling `flip_and_get` failed") + .return_value(); + + assert_eq!(result, false); + + Ok(()) +} diff --git a/integration-tests/basic-contract-caller/lib.rs b/integration-tests/basic-contract-caller/lib.rs index f988caabf41..78c999d7c26 100755 --- a/integration-tests/basic-contract-caller/lib.rs +++ b/integration-tests/basic-contract-caller/lib.rs @@ -39,3 +39,6 @@ mod basic_contract_caller { } } } + +#[cfg(all(test, feature = "e2e-tests"))] +mod e2e_tests;