use cosmwasm_schema::{cw_serde, QueryResponses};
use cw_ownable::{cw_ownable_execute, cw_ownable_query, Action};
#[cw_ownable_execute]
#[cw_serde]
enum ExecuteMsg {
Foo,
Bar(u64),
Fuzz {
buzz: String,
},
}
#[cw_ownable_query]
#[cw_serde]
#[derive(QueryResponses)]
enum QueryMsg {
#[returns(String)]
Foo,
#[returns(String)]
Bar(u64),
#[returns(String)]
Fuzz {
buzz: String,
},
}
#[test]
fn derive_execute_variants() {
let msg = ExecuteMsg::Foo;
match msg {
ExecuteMsg::UpdateOwnership(Action::TransferOwnership {
new_owner: _,
expiry: _,
})
| ExecuteMsg::UpdateOwnership(Action::AcceptOwnership)
| ExecuteMsg::UpdateOwnership(Action::RenounceOwnership)
| ExecuteMsg::Foo
| ExecuteMsg::Bar(_)
| ExecuteMsg::Fuzz {
..
} => "yay",
};
}
#[test]
fn derive_query_variants() {
let msg = QueryMsg::Foo;
match msg {
QueryMsg::Ownership {}
| QueryMsg::Foo
| QueryMsg::Bar(_)
| QueryMsg::Fuzz {
..
} => "yay",
};
}