1234567891011121314151617use frame_benchmarking::{account, benchmarks};18use frame_support::traits::{fungible::Balanced, tokens::Precision, Get};19use pallet_common::Config as CommonConfig;20use pallet_evm::account::CrossAccountId;21use up_data_structs::{22 budget::Unlimited, CollectionMode, CreateCollectionData, CreateItemData, CreateNftData,23};2425use super::*;2627const SEED: u32 = 1;2829benchmarks! {30 find_parent {31 let caller: T::AccountId = account("caller", 0, SEED);32 let caller_cross = T::CrossAccountId::from_sub(caller.clone());3334 let _ = <T as CommonConfig>::Currency::deposit(&caller, T::CollectionCreationPrice::get(), Precision::Exact).unwrap();35 T::CollectionDispatch::create(36 caller_cross.clone(),37 caller_cross.clone(),38 CreateCollectionData {39 mode: CollectionMode::NFT,40 ..Default::default()41 },42 )?;43 let dispatch = T::CollectionDispatch::dispatch(CollectionId(1))?;44 let dispatch = dispatch.as_dyn();4546 dispatch.create_item(caller_cross.clone(), caller_cross, CreateItemData::NFT(CreateNftData::default()), &Unlimited)?;47 }: {48 let parent = <Pallet<T>>::find_parent(CollectionId(1), TokenId(1))?;49 assert!(matches!(parent, Parent::User(_)))50 }51}