#![cfg(feature = "stargate")]
use crate::test_helpers::stargate;
use crate::{no_init, App, AppBuilder, Executor, StargateAccepting};
use cosmwasm_std::Empty;
#[test]
fn default_failing_stargate_handler_should_work() {
let mut app = App::default();
let creator_addr = app.api().addr_make("creator");
let code = app.store_code_with_creator(creator_addr, stargate::contract());
let owner_addr = app.api().addr_make("owner");
let contract_addr = app
.instantiate_contract(code, owner_addr.clone(), &Empty {}, &[], "tauri", None)
.unwrap();
let err = app
.execute_contract(owner_addr, contract_addr, &Empty {}, &[])
.unwrap_err();
assert!(err.to_string().contains("Unexpected stargate execute"))
}
#[test]
fn accepting_stargate_handler_should_work() {
let mut app = AppBuilder::default()
.with_stargate(StargateAccepting)
.build(no_init);
let creator_addr = app.api().addr_make("creator");
let code = app.store_code_with_creator(creator_addr, stargate::contract());
let owner_addr = app.api().addr_make("owner");
let contract_addr = app
.instantiate_contract(code, owner_addr.clone(), &Empty {}, &[], "tauri", None)
.unwrap();
assert!(app
.execute_contract(owner_addr, contract_addr, &Empty {}, &[])
.is_ok());
}