Skip to content

Commit

Permalink
Merge pull request #12 from Levana-Protocol/admin-test
Browse files Browse the repository at this point in the history
Test for changing admin
  • Loading branch information
lvn-rusty-dragon authored Sep 9, 2024
2 parents 3490060 + ba38b0e commit b396e76
Showing 1 changed file with 34 additions and 0 deletions.
34 changes: 34 additions & 0 deletions contract/src/tests.rs
Original file line number Diff line number Diff line change
Expand Up @@ -179,6 +179,10 @@ impl Predict {
self.query(&QueryMsg::Market { id: self.id })
}

fn query_global_info(&self) -> StdResult<GlobalInfo> {
self.query(&QueryMsg::GlobalInfo {})
}

fn query_tokens(&self, better: &Addr, outcome: u8) -> StdResult<Token> {
let PositionsResp { outcomes } = self.query(&QueryMsg::Positions {
id: self.id,
Expand All @@ -192,6 +196,20 @@ impl Predict {
})
}

fn exec_appoint_admin(&self, addr: &Addr) -> AnyResult<AppResponse> {
self.execute(
&self.admin,
&ExecuteMsg::AppointAdmin {
addr: addr.to_string(),
},
None,
)
}

fn exec_accept_admin(&self, addr: &Addr) -> AnyResult<AppResponse> {
self.execute(addr, &ExecuteMsg::AcceptAdmin {}, None)
}

fn withdraw(&self, addr: &Addr, outcome: u8, tokens: Token) -> AnyResult<AppResponse> {
self.execute(
addr,
Expand Down Expand Up @@ -567,6 +585,22 @@ fn market_with_only_one_outcome() {
.unwrap();
}

#[test]
fn change_admin() {
let app = Predict::new();

app.exec_accept_admin(&app.arbitrator).unwrap_err();
app.exec_appoint_admin(&app.arbitrator).unwrap();
app.exec_accept_admin(&app.admin).unwrap_err();
app.exec_appoint_admin(&app.better).unwrap();
app.exec_accept_admin(&app.arbitrator).unwrap_err();
app.exec_accept_admin(&app.better).unwrap();
app.exec_appoint_admin(&app.admin).unwrap_err();

let global_info = app.query_global_info().unwrap();
assert_eq!(global_info.admin, app.better);
}

proptest! {
#[test]
fn test_cpmm_buy_sell(pool_one in 1..1000u32, pool_two in 1..1000u32, buy in 2..50u32) {
Expand Down

0 comments on commit b396e76

Please sign in to comment.