diff --git a/pallets/distance/src/lib.rs b/pallets/distance/src/lib.rs index a45bcce4fd780b775d342665e192d2d3bcfc5b98..21052510a264fe86cd6235c68f71cab5317e4c4e 100644 --- a/pallets/distance/src/lib.rs +++ b/pallets/distance/src/lib.rs @@ -146,8 +146,9 @@ pub mod pallet { #[pallet::event] #[pallet::generate_deposit(pub(super) fn deposit_event)] pub enum Event<T: Config<I>, I: 'static = ()> { - /// TODO: define - EvalutionSuccess, + EvaluationSuccess(IdtyIndex), + EvaluationFailure(IdtyIndex), + EvaluationNotProcessed(IdtyIndex), } // ERRORS // @@ -294,6 +295,7 @@ pub mod pallet { .try_push((idty_index, median::MedianAcc::new())) .map_err(|_| Error::<T, I>::QueueFull)?; // TODO: never raised because of preceding ensure!()? + IdentitiesDistanceStatus::<T, I>::insert(idty_index, DistanceStatus::Pending); Ok(()) }, ) @@ -373,16 +375,19 @@ pub mod pallet { &account_id, <T as Config<I>>::EvaluationPrice::get(), ); + Self::deposit_event(Event::EvaluationSuccess(idty)); } else { IdentitiesDistanceStatus::<T, I>::remove(idty); <T as Config<I>>::Currency::slash_reserved( &account_id, <T as Config<I>>::EvaluationPrice::get(), ); + Self::deposit_event(Event::EvaluationFailure(idty)); } } else { IdentitiesDistanceStatus::<T, I>::remove(idty); T::Currency::unreserve(&account_id, <T as Config<I>>::EvaluationPrice::get()); + Self::deposit_event(Event::EvaluationNotProcessed(idty)); } } Weight::zero() diff --git a/pallets/distance/src/tests.rs b/pallets/distance/src/tests.rs index 8aff91a5723a950e142591b4247e762dc9b5ed48..9443682b7b0ec292bc49511c47b1fb58a5bc0a12 100644 --- a/pallets/distance/src/tests.rs +++ b/pallets/distance/src/tests.rs @@ -65,6 +65,11 @@ fn basic_single_distance() { // Other pools have never been used assert_eq!(pallet::EvaluationPool0::<Test>::get().0.len(), 0); assert_eq!(pallet::EvaluationPool1::<Test>::get().0.len(), 0); + + run_to_block(SESSION_3_START); + System::assert_has_event(RuntimeEvent::Distance(pallet::Event::EvaluationSuccess { + 0: *IDTY_0, + })); }); } @@ -165,6 +170,9 @@ fn multiple_authors() { pallet::IdentitiesDistanceStatus::<Test>::get(IDTY_0), Some(Valid) ); // now valid! + System::assert_has_event(RuntimeEvent::Distance(pallet::Event::EvaluationSuccess { + 0: *IDTY_0, + })); }); } @@ -198,8 +206,11 @@ fn distance_failure() { // Finally session 4 run_to_block(SESSION_3_START); - assert_eq!(pallet::IdentitiesDistanceStatus::<Test>::get(IDTY_0), None); // distance failure + assert_eq!(pallet::IdentitiesDistanceStatus::<Test>::get(IDTY_0), None); + System::assert_has_event(RuntimeEvent::Distance(pallet::Event::EvaluationFailure { + 0: *IDTY_0, + })); // TODO: test: variant Two }); }