@@ -58,7 +58,9 @@ fn make_member<T: Config<I>, I: 'static>(rank: Rank) -> T::AccountId {
5858}
5959
6060#[ instance_benchmarks(
61- where <<T as pallet:: Config <I >>:: Polls as frame_support:: traits:: Polling <Tally <T , I , pallet:: Pallet <T , I >>>>:: Index : From <u8 >
61+ where
62+ <<T as pallet:: Config <I >>:: Polls as frame_support:: traits:: Polling <Tally <T , I , pallet:: Pallet <T , I >>>>:: Index : From <u8 >,
63+ <T as frame_system:: Config >:: RuntimeEvent : TryInto <pallet:: Event <T , I >>,
6264) ]
6365mod benchmarks {
6466 use super :: * ;
@@ -227,9 +229,22 @@ mod benchmarks {
227229
228230 // If the class exists, verify the vote event and tally.
229231 if let Some ( _) = class {
230- let tally = Tally :: from_parts ( 0 , 0 , 1 ) ;
231- let vote_event = Event :: Voted { who : caller, poll, vote : VoteRecord :: Nay ( 1 ) , tally } ;
232- assert_last_event :: < T , I > ( vote_event. into ( ) ) ;
232+ // Get the actual vote weight from the latest event's VoteRecord::Nay
233+ let mut events = frame_system:: Pallet :: < T > :: events ( ) ;
234+ let last_event = events. pop ( ) . expect ( "At least one event should exist" ) ;
235+ let event: Event < T , I > = last_event
236+ . event
237+ . try_into ( )
238+ . unwrap_or_else ( |_| panic ! ( "Event conversion failed" ) ) ;
239+
240+ match event {
241+ Event :: Voted { vote : VoteRecord :: Nay ( vote_weight) , who, poll : poll2, tally } => {
242+ assert_eq ! ( tally, Tally :: from_parts( 0 , 0 , vote_weight) ) ;
243+ assert_eq ! ( caller, who) ;
244+ assert_eq ! ( poll, poll2) ;
245+ } ,
246+ _ => panic ! ( "Invalid event" ) ,
247+ } ;
233248 }
234249
235250 Ok ( ( ) )
0 commit comments