Skip to content

Commit ba32eee

Browse files
committed
added some more tests
1 parent ae3d765 commit ba32eee

File tree

1 file changed

+52
-0
lines changed
  • contracts/delegation/dao-vote-delegation/src/testing

1 file changed

+52
-0
lines changed

contracts/delegation/dao-vote-delegation/src/testing/tests.rs

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1071,6 +1071,58 @@ fn test_migrate() {
10711071
assert_eq!(version.version, CONTRACT_VERSION);
10721072
}
10731073

1074+
#[test]
1075+
fn test_change_member_vp() {
1076+
let mut suite = Cw4DaoVoteDelegationTestingSuite::new().build();
1077+
1078+
suite.register(ADDR0);
1079+
suite.delegate(ADDR1, ADDR0, Decimal::percent(100));
1080+
suite.advance_block();
1081+
1082+
// ensure all of ADDR0's voting power is delegated to ADDR1
1083+
let initial_vp = suite.members[1].weight;
1084+
suite.assert_delegate_total_delegated_vp(ADDR0, initial_vp);
1085+
1086+
// double ADDR0's voting power
1087+
let new_vp = initial_vp * 2;
1088+
let dao_core_addr = suite.dao.core_addr.clone();
1089+
let group_addr = suite.dao.x.group_addr.clone();
1090+
suite.execute_smart_ok(
1091+
&dao_core_addr,
1092+
&group_addr,
1093+
&cw4_group::msg::ExecuteMsg::UpdateMembers {
1094+
add: vec![cw4::Member {
1095+
addr: ADDR1.to_string(),
1096+
weight: new_vp,
1097+
}],
1098+
remove: vec![],
1099+
},
1100+
&[],
1101+
);
1102+
suite.advance_block();
1103+
1104+
// ensure all of ADDR0's new voting power is now delegated to ADDR1
1105+
suite.assert_delegate_total_delegated_vp(ADDR0, new_vp);
1106+
}
1107+
1108+
#[test]
1109+
fn test_auto_unregister() {
1110+
let mut suite = TokenDaoVoteDelegationTestingSuite::new().build();
1111+
1112+
suite.register(ADDR0);
1113+
1114+
suite.advance_block();
1115+
1116+
suite.assert_delegate_registered(ADDR0, None);
1117+
1118+
// unstake all tokens, which should automatically unregister the delegate
1119+
suite.unstake(ADDR0, suite.members[0].amount);
1120+
1121+
suite.advance_block();
1122+
1123+
suite.assert_delegate_not_registered(ADDR0, None);
1124+
}
1125+
10741126
/// this test does not actually test gas limits, since cw-multi-test does not
10751127
/// run a real chain, but it is demonstrative of what behaviors may lead to high
10761128
/// gas usage. this test is replicated in the DAO DAO UI codebase using an

0 commit comments

Comments
 (0)