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