use crate::custom_handler::CachingCustomHandler;
use crate::test_helpers::CustomHelperMsg;
use crate::{App, Module};
use cosmwasm_std::testing::MockStorage;
use cosmwasm_std::Empty;
#[test]
fn custom_handler_works() {
let app = App::default();
let mut storage = MockStorage::default();
let custom_handler = CachingCustomHandler::<CustomHelperMsg, CustomHelperMsg>::default();
let sender_addr = app.api().addr_make("sender");
let _ = custom_handler.execute(
app.api(),
&mut storage,
app.router(),
&app.block_info(),
sender_addr,
CustomHelperMsg::SetAge { age: 32 },
);
let _ = custom_handler.query(
app.api(),
&storage,
&(*app.wrap()),
&app.block_info(),
CustomHelperMsg::SetName {
name: "John".to_string(),
},
);
let custom_handler_state = custom_handler.state();
assert_eq!(
custom_handler_state.execs().to_owned(),
vec![CustomHelperMsg::SetAge { age: 32 }]
);
assert_eq!(
custom_handler_state.queries().to_owned(),
vec![CustomHelperMsg::SetName {
name: "John".to_string()
}]
);
custom_handler_state.reset();
assert!(custom_handler_state.execs().is_empty());
assert!(custom_handler_state.queries().is_empty());
}
#[test]
fn custom_handler_has_no_sudo() {
let app = App::default();
let mut storage = MockStorage::default();
let custom_handler = CachingCustomHandler::<CustomHelperMsg, CustomHelperMsg>::default();
assert_eq!(
"kind: Other, error: Unexpected custom sudo message Empty",
custom_handler
.sudo(
app.api(),
&mut storage,
app.router(),
&app.block_info(),
Empty {},
)
.unwrap_err()
.to_string()
);
}