@@ -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