From 83711ca221ade33707e6dd7724c2a6827d2d8da7 Mon Sep 17 00:00:00 2001 From: Gavin Wood Date: Mon, 16 Dec 2019 15:24:03 +0800 Subject: [PATCH] Remove proposal when it is refused (#4399) * Remove proposal when it is refused. * Fix build, add test --- substrate/frame/collective/src/lib.rs | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/substrate/frame/collective/src/lib.rs b/substrate/frame/collective/src/lib.rs index 279c720e85..20f61e54ed 100644 --- a/substrate/frame/collective/src/lib.rs +++ b/substrate/frame/collective/src/lib.rs @@ -242,6 +242,7 @@ decl_module! { } } else { // disapproved + >::remove(&proposal); Self::deposit_event(RawEvent::Disapproved(proposal)); } @@ -648,6 +649,20 @@ mod tests { }); } + #[test] + fn motions_reproposing_disapproved_works() { + make_ext().execute_with(|| { + System::set_block_number(1); + let proposal = make_proposal(42); + let hash: H256 = proposal.blake2_256().into(); + assert_ok!(Collective::propose(Origin::signed(1), 3, Box::new(proposal.clone()))); + assert_ok!(Collective::vote(Origin::signed(2), hash.clone(), 0, false)); + assert_eq!(Collective::proposals(), vec![]); + assert_ok!(Collective::propose(Origin::signed(1), 2, Box::new(proposal.clone()))); + assert_eq!(Collective::proposals(), vec![hash]); + }); + } + #[test] fn motions_disapproval_works() { make_ext().execute_with(|| {