From d93c5a24c18b4fa74491033c4226e578dae247ae Mon Sep 17 00:00:00 2001 From: Zeel Darji Date: Wed, 4 Sep 2024 17:44:53 +0530 Subject: [PATCH] Network-Score : Add Test for RatingIdentierNotFound (#501) --- pallets/network-score/src/tests.rs | 78 ++++++++++++++++++++++++++++++ 1 file changed, 78 insertions(+) diff --git a/pallets/network-score/src/tests.rs b/pallets/network-score/src/tests.rs index b913b745..41466abb 100644 --- a/pallets/network-score/src/tests.rs +++ b/pallets/network-score/src/tests.rs @@ -589,3 +589,81 @@ fn reference_identifier_not_debit_test() { ); }); } + +#[test] +fn rating_identifier_not_found_test() { + let creator = DID_00.clone(); + let author = ACCOUNT_00.clone(); + let message_id = BoundedVec::try_from([82u8; 10].to_vec()).unwrap(); + let entity_id = BoundedVec::try_from([73u8; 10].to_vec()).unwrap(); + let provider_id = BoundedVec::try_from([74u8; 10].to_vec()).unwrap(); + let entry = RatingInputEntryOf:: { + entity_id, + provider_id, + total_encoded_rating: 250u64, + count_of_txn: 7u64, + rating_type: RatingTypeOf::Overall, + provider_did: creator.clone(), + }; + let entry_digest = + ::Hashing::hash(&[&entry.encode()[..]].concat()[..]); + let raw_space = [2u8; 256].to_vec(); + let space_digest = ::Hashing::hash(&raw_space.encode()[..]); + let space_id_digest = ::Hashing::hash( + &[&space_digest.encode()[..], &creator.encode()[..]].concat()[..], + ); + let space_id: SpaceIdOf = generate_space_id::(&space_id_digest); + let auth_digest = ::Hashing::hash( + &[&space_id.encode()[..], &creator.encode()[..]].concat()[..], + ); + let authorization_id: AuthorizationIdOf = + Ss58Identifier::create_identifier(&auth_digest.encode()[..], IdentifierType::Authorization) + .unwrap(); + + let id_digest = ::Hashing::hash( + &[ + &entry_digest.encode()[..], + &entry.entity_id.encode()[..], + &message_id.encode()[..], + &space_id.encode()[..], + &creator.clone().encode()[..], + ] + .concat()[..], + ); + + let identifier = + Ss58Identifier::create_identifier(&(id_digest).encode()[..], IdentifierType::Rating) + .unwrap(); + + new_test_ext().execute_with(|| { + System::set_block_number(1); + + assert_ok!(Space::create( + DoubleOrigin(author.clone(), creator.clone()).into(), + space_digest + )); + assert_ok!(Space::approve(RawOrigin::Root.into(), space_id, 3u64)); + + assert_ok!(Score::register_rating( + DoubleOrigin(author.clone(), creator.clone()).into(), + entry.clone(), + entry_digest, + message_id.clone(), + authorization_id.clone(), + )); + + >::remove(message_id.clone(), creator.clone()); + >::remove(identifier.clone()); + + assert_err!( + Score::revoke_rating( + DoubleOrigin(author.clone(), creator.clone()).into(), + identifier, + message_id.clone(), + entry_digest, + authorization_id.clone(), + ), + Error::::RatingIdentifierNotFound + ); + }); +}