difftreelog
fix unit tests
in: master
2 files changed
runtime/tests/src/lib.rsdiffbeforeafterboth58 Fungible: pallet_fungible::{Pallet, Storage},58 Fungible: pallet_fungible::{Pallet, Storage},59 Refungible: pallet_refungible::{Pallet, Storage},59 Refungible: pallet_refungible::{Pallet, Storage},60 Nonfungible: pallet_nonfungible::{Pallet, Storage},60 Nonfungible: pallet_nonfungible::{Pallet, Storage},61 EVM: pallet_evm::{Pallet, Config, Call, Storage, Event<T>},61 }62 }62);63);6364runtime/tests/src/tests.rsdiffbeforeafterboth19use up_data_structs::{19use up_data_structs::{20 COLLECTION_NUMBER_LIMIT, CollectionId, CreateItemData, CreateFungibleData, CreateNftData,20 COLLECTION_NUMBER_LIMIT, CollectionId, CreateItemData, CreateFungibleData, CreateNftData,21 CreateReFungibleData, MAX_DECIMAL_POINTS, COLLECTION_ADMINS_LIMIT, TokenId,21 CreateReFungibleData, MAX_DECIMAL_POINTS, COLLECTION_ADMINS_LIMIT, TokenId,22 MAX_TOKEN_OWNERSHIP, CreateCollectionData, CollectionField, SchemaVersion, CollectionMode,22 MAX_TOKEN_OWNERSHIP, CreateCollectionData, CollectionMode,23 AccessMode,23 AccessMode, CollectionPermissions, PropertyKeyPermission, PropertyPermission,24 Property, CollectionPropertiesVec, CollectionPropertiesPermissionsVec,24};25};25use frame_support::{assert_noop, assert_ok, assert_err};26use frame_support::{assert_noop, assert_ok, assert_err};26use sp_std::convert::TryInto;27use sp_std::convert::TryInto;464747fn default_nft_data() -> CreateNftData {48fn default_nft_data() -> CreateNftData {48 CreateNftData {49 CreateNftData {49 const_data: vec![1, 2, 3].try_into().unwrap(),50 properties: vec![50 properties: vec![].try_into().unwrap(),51 Property {52 key: b"test-prop".to_vec().try_into().unwrap(),53 value: b"test-nft-prop".to_vec().try_into().unwrap(),54 },55 ].try_into().unwrap(),51 }56 }52}57}72 let col_name1: Vec<u16> = "Test1\0".encode_utf16().collect::<Vec<u16>>();77 let col_name1: Vec<u16> = "Test1\0".encode_utf16().collect::<Vec<u16>>();73 let col_desc1: Vec<u16> = "TestDescription1\0".encode_utf16().collect::<Vec<u16>>();78 let col_desc1: Vec<u16> = "TestDescription1\0".encode_utf16().collect::<Vec<u16>>();74 let token_prefix1: Vec<u8> = b"token_prefix1\0".to_vec();79 let token_prefix1: Vec<u8> = b"token_prefix1\0".to_vec();80 let token_property_permissions: CollectionPropertiesPermissionsVec = vec![81 PropertyKeyPermission {82 key: b"test-prop".to_vec().try_into().unwrap(),83 permission: PropertyPermission {84 mutable: true,85 collection_admin: false,86 token_owner: true,87 },88 },89 ].try_into().unwrap();90 let properties: CollectionPropertiesVec = vec![91 Property {92 key: b"test-collection-prop".to_vec().try_into().unwrap(),93 value: b"test-collection-value".to_vec().try_into().unwrap(),94 }95 ].try_into().unwrap();759676 let data: CreateCollectionData<u64> = CreateCollectionData {97 let data: CreateCollectionData<u64> = CreateCollectionData {77 name: col_name1.try_into().unwrap(),98 name: col_name1.try_into().unwrap(),78 description: col_desc1.try_into().unwrap(),99 description: col_desc1.try_into().unwrap(),79 token_prefix: token_prefix1.try_into().unwrap(),100 token_prefix: token_prefix1.try_into().unwrap(),80 mode: mode.clone(),101 mode: mode.clone(),102 token_property_permissions: token_property_permissions.clone(),103 properties: properties.clone(),81 ..Default::default()104 ..Default::default()82 };105 };83106113 .token_prefix,136 .token_prefix,114 saved_prefix137 saved_prefix115 );138 );139 assert_eq!(140 get_collection_property_permissions(id).as_slice(),141 token_property_permissions.as_slice()142 );143 assert_eq!(144 get_collection_properties(id).as_slice(),145 properties.as_slice()146 );116 id147 id117}148}149150fn get_collection_property_permissions(collection_id: CollectionId) -> Vec<PropertyKeyPermission> {151 <pallet_common::Pallet<Test>>::property_permissions(collection_id)152 .into_iter()153 .map(|(key, permission)| PropertyKeyPermission {154 key,155 permission,156 })157 .collect()158}159160fn get_collection_properties(collection_id: CollectionId) -> Vec<Property> {161 <pallet_common::Pallet<Test>>::collection_properties(collection_id)162 .into_iter()163 .map(|(key, value)| Property {164 key,165 value,166 })167 .collect()168}169170fn get_token_properties(collection_id: CollectionId, token_id: TokenId) -> Vec<Property> {171 <pallet_nonfungible::Pallet<Test>>::token_properties((collection_id, token_id))172 .into_iter()173 .map(|(key, value)| Property {174 key,175 value,176 })177 .collect()178}118179119fn create_test_collection(mode: &CollectionMode, id: CollectionId) -> CollectionId {180fn create_test_collection(mode: &CollectionMode, id: CollectionId) -> CollectionId {120 create_test_collection_for_owner(&mode, 1, id)181 create_test_collection_for_owner(&mode, 1, id)137// Use cases tests region198// Use cases tests region138// #region199// #region139140#[test]141fn set_version_schema() {142 new_test_ext().execute_with(|| {143 let origin1 = Origin::signed(1);144 let collection_id = create_test_collection(&CollectionMode::NFT, CollectionId(1));145146 assert_ok!(Unique::set_schema_version(147 origin1,148 collection_id,149 SchemaVersion::Unique150 ));151 assert_eq!(152 <pallet_common::CollectionById<Test>>::get(collection_id)153 .unwrap()154 .schema_version,155 SchemaVersion::Unique156 );157 });158}159200160#[test]201#[test]161fn check_not_sufficient_founds() {202fn check_not_sufficient_founds() {212 let data = default_nft_data();253 let data = default_nft_data();213 create_test_item(collection_id, &data.clone().into());254 create_test_item(collection_id, &data.clone().into());214255215 let item = <pallet_nonfungible::TokenData<Test>>::get((collection_id, 1)).unwrap();216 assert_eq!(item.const_data, data.const_data.into_inner());256 assert_eq!(257 get_token_properties(collection_id, TokenId(1)).as_slice(),258 data.properties.as_slice(),259 );217 });260 });218}261}239 .collect()282 .collect()240 ));283 ));241 for (index, data) in items_data.into_iter().enumerate() {284 for (index, data) in items_data.into_iter().enumerate() {242 let item = <pallet_nonfungible::TokenData<Test>>::get((285 assert_eq!(243 CollectionId(1),286 get_token_properties(CollectionId(1), TokenId(index as u32 + 1)).as_slice(),244 TokenId((index + 1) as u32),287 data.properties.as_slice()245 ))288 );246 .unwrap();247 assert_eq!(item.const_data.to_vec(), data.const_data.into_inner());248 }289 }249 });290 });250}291}700 // Create NFT 1 for account 1741 // Create NFT 1 for account 1701 let data = default_nft_data();742 let data = default_nft_data();702 create_test_item(collection_id, &data.clone().into());743 create_test_item(collection_id, &data.clone().into());703 assert_eq!(704 &<pallet_nonfungible::TokenData<Test>>::get((collection_id, TokenId(1)))705 .unwrap()706 .const_data,707 &data.const_data.into_inner()708 );709 assert_eq!(744 assert_eq!(710 <pallet_nonfungible::AccountBalance<Test>>::get((collection_id, account(1))),745 <pallet_nonfungible::AccountBalance<Test>>::get((collection_id, account(1))),711 1746 1716 );751 );717752718 // Allow allow-list users to mint and add accounts 1, 2, and 3 to allow-list753 // Allow allow-list users to mint and add accounts 1, 2, and 3 to allow-list719 assert_ok!(Unique::set_mint_permission(720 origin1.clone(),721 CollectionId(1),722 true723 ));724 assert_ok!(Unique::set_public_access_mode(754 assert_ok!(Unique::set_collection_permissions(725 origin1.clone(),755 origin1.clone(),726 CollectionId(1),756 CollectionId(1),757 CollectionPermissions {758 mint_mode: Some(true),727 AccessMode::AllowList759 access: Some(AccessMode::AllowList),760 nesting: None,761 }728 ));762 ));729 assert_ok!(Unique::add_to_allow_list(763 assert_ok!(Unique::add_to_allow_list(730 origin1.clone(),764 origin1.clone(),796 );830 );797831798 // Allow public minting, enable allow-list and add accounts 1, 2, 3 to allow-list832 // Allow public minting, enable allow-list and add accounts 1, 2, 3 to allow-list799 assert_ok!(Unique::set_mint_permission(800 origin1.clone(),801 CollectionId(1),802 true803 ));804 assert_ok!(Unique::set_public_access_mode(833 assert_ok!(Unique::set_collection_permissions(805 origin1.clone(),834 origin1.clone(),806 CollectionId(1),835 CollectionId(1),836 CollectionPermissions {837 mint_mode: Some(true),807 AccessMode::AllowList838 access: Some(AccessMode::AllowList),839 nesting: None,840 }808 ));841 ));809 assert_ok!(Unique::add_to_allow_list(842 assert_ok!(Unique::add_to_allow_list(810 origin1.clone(),843 origin1.clone(),896 let origin1 = Origin::signed(1);929 let origin1 = Origin::signed(1);897 let origin2 = Origin::signed(2);930 let origin2 = Origin::signed(2);898931899 assert_ok!(Unique::set_mint_permission(900 origin1.clone(),901 CollectionId(1),902 true903 ));904 assert_ok!(Unique::set_public_access_mode(932 assert_ok!(Unique::set_collection_permissions(905 origin1.clone(),933 origin1.clone(),906 CollectionId(1),934 CollectionId(1),935 CollectionPermissions {936 mint_mode: Some(true),907 AccessMode::AllowList937 access: Some(AccessMode::AllowList),938 nesting: None,939 }908 ));940 ));909 assert_ok!(Unique::add_to_allow_list(941 assert_ok!(Unique::add_to_allow_list(910 origin1.clone(),942 origin1.clone(),1146 let collection_id = create_test_collection(&CollectionMode::ReFungible, CollectionId(1));1178 let collection_id = create_test_collection(&CollectionMode::ReFungible, CollectionId(1));1147 let origin1 = Origin::signed(1);1179 let origin1 = Origin::signed(1);114811801149 assert_ok!(Unique::set_mint_permission(1150 origin1.clone(),1151 collection_id,1152 true1153 ));1154 assert_ok!(Unique::set_public_access_mode(1181 assert_ok!(Unique::set_collection_permissions(1155 origin1.clone(),1182 origin1.clone(),1156 collection_id,1183 collection_id,1184 CollectionPermissions {1185 mint_mode: Some(true),1157 AccessMode::AllowList1186 access: Some(AccessMode::AllowList),1187 nesting: None,1188 }1158 ));1189 ));1159 assert_ok!(Unique::add_to_allow_list(1190 assert_ok!(Unique::add_to_allow_list(1160 origin1.clone(),1191 origin1.clone(),1392 account(2)1423 account(2)1393 );1424 );139414251395 assert_ok!(Unique::set_mint_permission(1396 origin1.clone(),1397 CollectionId(1),1398 true1399 ));1400 assert_ok!(Unique::set_public_access_mode(1426 assert_ok!(Unique::set_collection_permissions(1401 origin1.clone(),1427 origin1.clone(),1402 CollectionId(1),1428 CollectionId(1),1429 CollectionPermissions {1430 mint_mode: Some(true),1403 AccessMode::AllowList1431 access: Some(AccessMode::AllowList),1432 nesting: None,1433 }1404 ));1434 ));1405 assert_ok!(Unique::add_to_allow_list(1435 assert_ok!(Unique::add_to_allow_list(1406 origin1.clone(),1436 origin1.clone(),1722 let data = default_nft_data();1752 let data = default_nft_data();1723 create_test_item(collection_id, &data.into());1753 create_test_item(collection_id, &data.into());172417541725 assert_ok!(Unique::set_public_access_mode(1755 assert_ok!(Unique::set_collection_permissions(1726 origin1.clone(),1756 origin1.clone(),1727 collection_id,1757 collection_id,1758 CollectionPermissions {1759 mint_mode: None,1728 AccessMode::AllowList1760 access: Some(AccessMode::AllowList),1761 nesting: None,1762 }1729 ));1763 ));1730 assert_ok!(Unique::add_to_allow_list(1764 assert_ok!(Unique::add_to_allow_list(1731 origin1.clone(),1765 origin1.clone(),1750 let data = default_nft_data();1784 let data = default_nft_data();1751 create_test_item(collection_id, &data.into());1785 create_test_item(collection_id, &data.into());175217861753 assert_ok!(Unique::set_public_access_mode(1787 assert_ok!(Unique::set_collection_permissions(1754 origin1.clone(),1788 origin1.clone(),1755 collection_id,1789 collection_id,1790 CollectionPermissions {1791 mint_mode: None,1756 AccessMode::AllowList1792 access: Some(AccessMode::AllowList),1793 nesting: None,1794 }1757 ));1795 ));1758 assert_ok!(Unique::add_to_allow_list(1796 assert_ok!(Unique::add_to_allow_list(1759 origin1.clone(),1797 origin1.clone(),1811 let data = default_nft_data();1849 let data = default_nft_data();1812 create_test_item(collection_id, &data.into());1850 create_test_item(collection_id, &data.into());181318511814 assert_ok!(Unique::set_public_access_mode(1852 assert_ok!(Unique::set_collection_permissions(1815 origin1.clone(),1853 origin1.clone(),1816 collection_id,1854 collection_id,1855 CollectionPermissions {1856 mint_mode: None,1817 AccessMode::AllowList1857 access: Some(AccessMode::AllowList),1858 nesting: None,1859 }1818 ));1860 ));1819 assert_ok!(Unique::add_to_allow_list(1861 assert_ok!(Unique::add_to_allow_list(1820 origin1.clone(),1862 origin1.clone(),1840 let data = default_nft_data();1882 let data = default_nft_data();1841 create_test_item(collection_id, &data.into());1883 create_test_item(collection_id, &data.into());184218841843 assert_ok!(Unique::set_public_access_mode(1885 assert_ok!(Unique::set_collection_permissions(1844 origin1.clone(),1886 origin1.clone(),1845 collection_id,1887 collection_id,1888 CollectionPermissions {1889 mint_mode: None,1846 AccessMode::AllowList1890 access: Some(AccessMode::AllowList),1891 nesting: None,1892 }1847 ));1893 ));1848 assert_ok!(Unique::add_to_allow_list(1894 assert_ok!(Unique::add_to_allow_list(1849 origin1.clone(),1895 origin1.clone(),1901 let data = default_nft_data();1947 let data = default_nft_data();1902 create_test_item(collection_id, &data.into());1948 create_test_item(collection_id, &data.into());190319491904 assert_ok!(Unique::set_public_access_mode(1950 assert_ok!(Unique::set_collection_permissions(1905 origin1.clone(),1951 origin1.clone(),1906 collection_id,1952 collection_id,1953 CollectionPermissions {1954 mint_mode: None,1907 AccessMode::AllowList1955 access: Some(AccessMode::AllowList),1956 nesting: None,1957 }1908 ));1958 ));1909 assert_noop!(1959 assert_noop!(1910 Unique::burn_item(origin1.clone(), CollectionId(1), TokenId(1), 1).map_err(|e| e.error),1960 Unique::burn_item(origin1.clone(), CollectionId(1), TokenId(1), 1).map_err(|e| e.error),1924 let data = default_nft_data();1974 let data = default_nft_data();1925 create_test_item(collection_id, &data.into());1975 create_test_item(collection_id, &data.into());192619761927 assert_ok!(Unique::set_public_access_mode(1977 assert_ok!(Unique::set_collection_permissions(1928 origin1.clone(),1978 origin1.clone(),1929 collection_id,1979 collection_id,1980 CollectionPermissions {1981 mint_mode: None,1930 AccessMode::AllowList1982 access: Some(AccessMode::AllowList),1983 nesting: None,1984 }1931 ));1985 ));193219861933 // do approve1987 // do approve195120051952 let origin1 = Origin::signed(1);2006 let origin1 = Origin::signed(1);195320071954 assert_ok!(Unique::set_public_access_mode(2008 assert_ok!(Unique::set_collection_permissions(1955 origin1.clone(),2009 origin1.clone(),1956 collection_id,2010 collection_id,2011 CollectionPermissions {2012 mint_mode: None,1957 AccessMode::AllowList2013 access: Some(AccessMode::AllowList),2014 nesting: None,2015 }1958 ));2016 ));1959 assert_ok!(Unique::add_to_allow_list(2017 assert_ok!(Unique::add_to_allow_list(1960 origin1.clone(),2018 origin1.clone(),1989 let origin1 = Origin::signed(1);2047 let origin1 = Origin::signed(1);199020481991 // Toggle Allow List mode and add accounts 1 and 22049 // Toggle Allow List mode and add accounts 1 and 21992 assert_ok!(Unique::set_public_access_mode(2050 assert_ok!(Unique::set_collection_permissions(1993 origin1.clone(),2051 origin1.clone(),1994 collection_id,2052 collection_id,2053 CollectionPermissions {2054 mint_mode: None,1995 AccessMode::AllowList2055 access: Some(AccessMode::AllowList),2056 nesting: None,2057 }1996 ));2058 ));1997 assert_ok!(Unique::add_to_allow_list(2059 assert_ok!(Unique::add_to_allow_list(1998 origin1.clone(),2060 origin1.clone(),2037 let collection_id = create_test_collection(&CollectionMode::NFT, CollectionId(1));2099 let collection_id = create_test_collection(&CollectionMode::NFT, CollectionId(1));2038 let origin1 = Origin::signed(1);2100 let origin1 = Origin::signed(1);203921012040 assert_ok!(Unique::set_public_access_mode(2102 assert_ok!(Unique::set_collection_permissions(2041 origin1.clone(),2103 origin1.clone(),2042 collection_id,2104 collection_id,2105 CollectionPermissions {2106 mint_mode: Some(false),2043 AccessMode::AllowList2107 access: Some(AccessMode::AllowList),2108 nesting: None,2109 }2044 ));2110 ));2045 assert_ok!(Unique::set_mint_permission(origin1, collection_id, false));204621112047 let data = default_nft_data();2112 let data = default_nft_data();2048 create_test_item(collection_id, &data.into());2113 create_test_item(collection_id, &data.into());2058 let origin1 = Origin::signed(1);2123 let origin1 = Origin::signed(1);2059 let origin2 = Origin::signed(2);2124 let origin2 = Origin::signed(2);206021252061 assert_ok!(Unique::set_public_access_mode(2126 assert_ok!(Unique::set_collection_permissions(2062 origin1.clone(),2127 origin1.clone(),2063 collection_id,2128 collection_id,2129 CollectionPermissions {2130 mint_mode: Some(false),2064 AccessMode::AllowList2131 access: Some(AccessMode::AllowList),2132 nesting: None,2133 }2065 ));2134 ));2066 assert_ok!(Unique::set_mint_permission(2067 origin1.clone(),2068 collection_id,2069 false2070 ));207121352072 assert_ok!(Unique::add_collection_admin(2136 assert_ok!(Unique::add_collection_admin(2073 origin1,2137 origin1,2093 let origin1 = Origin::signed(1);2157 let origin1 = Origin::signed(1);2094 let origin2 = Origin::signed(2);2158 let origin2 = Origin::signed(2);209521592096 assert_ok!(Unique::set_public_access_mode(2160 assert_ok!(Unique::set_collection_permissions(2097 origin1.clone(),2161 origin1.clone(),2098 collection_id,2162 collection_id,2163 CollectionPermissions {2164 mint_mode: Some(false),2099 AccessMode::AllowList2165 access: Some(AccessMode::AllowList),2166 nesting: None,2167 }2100 ));2168 ));2101 assert_ok!(Unique::set_mint_permission(2102 origin1.clone(),2103 collection_id,2104 false2105 ));2106 assert_ok!(Unique::add_to_allow_list(2169 assert_ok!(Unique::add_to_allow_list(2107 origin1,2170 origin1,2108 collection_id,2171 collection_id,2131 let origin1 = Origin::signed(1);2194 let origin1 = Origin::signed(1);2132 let origin2 = Origin::signed(2);2195 let origin2 = Origin::signed(2);213321962134 assert_ok!(Unique::set_public_access_mode(2197 assert_ok!(Unique::set_collection_permissions(2135 origin1.clone(),2198 origin1.clone(),2136 collection_id,2199 collection_id,2200 CollectionPermissions {2201 mint_mode: Some(false),2137 AccessMode::AllowList2202 access: Some(AccessMode::AllowList),2203 nesting: None,2204 }2138 ));2205 ));2139 assert_ok!(Unique::set_mint_permission(origin1, collection_id, false));214022062141 assert_noop!(2207 assert_noop!(2142 Unique::create_item(2208 Unique::create_item(215922252160 let origin1 = Origin::signed(1);2226 let origin1 = Origin::signed(1);216122272162 assert_ok!(Unique::set_public_access_mode(2228 assert_ok!(Unique::set_collection_permissions(2163 origin1.clone(),2229 origin1.clone(),2164 collection_id,2230 collection_id,2231 CollectionPermissions {2232 mint_mode: Some(true),2165 AccessMode::AllowList2233 access: Some(AccessMode::AllowList),2234 nesting: None,2235 }2166 ));2236 ));2167 assert_ok!(Unique::set_mint_permission(origin1, collection_id, true));216822372169 let data = default_nft_data();2238 let data = default_nft_data();2170 create_test_item(collection_id, &data.into());2239 create_test_item(collection_id, &data.into());2180 let origin1 = Origin::signed(1);2249 let origin1 = Origin::signed(1);2181 let origin2 = Origin::signed(2);2250 let origin2 = Origin::signed(2);218222512183 assert_ok!(Unique::set_public_access_mode(2252 assert_ok!(Unique::set_collection_permissions(2184 origin1.clone(),2253 origin1.clone(),2185 collection_id,2254 collection_id,2255 CollectionPermissions {2256 mint_mode: Some(true),2186 AccessMode::AllowList2257 access: Some(AccessMode::AllowList),2258 nesting: None,2259 }2187 ));2260 ));2188 assert_ok!(Unique::set_mint_permission(2189 origin1.clone(),2190 collection_id,2191 true2192 ));219322612194 assert_ok!(Unique::add_collection_admin(2262 assert_ok!(Unique::add_collection_admin(2195 origin1,2263 origin1,2215 let origin1 = Origin::signed(1);2283 let origin1 = Origin::signed(1);2216 let origin2 = Origin::signed(2);2284 let origin2 = Origin::signed(2);221722852218 assert_ok!(Unique::set_public_access_mode(2286 assert_ok!(Unique::set_collection_permissions(2219 origin1.clone(),2287 origin1.clone(),2220 collection_id,2288 collection_id,2289 CollectionPermissions {2290 mint_mode: Some(true),2221 AccessMode::AllowList2291 access: Some(AccessMode::AllowList),2292 nesting: None,2293 }2222 ));2294 ));2223 assert_ok!(Unique::set_mint_permission(origin1, collection_id, true));222422952225 assert_noop!(2296 assert_noop!(2226 Unique::create_item(2297 Unique::create_item(2244 let origin1 = Origin::signed(1);2315 let origin1 = Origin::signed(1);2245 let origin2 = Origin::signed(2);2316 let origin2 = Origin::signed(2);224623172247 assert_ok!(Unique::set_public_access_mode(2318 assert_ok!(Unique::set_collection_permissions(2248 origin1.clone(),2319 origin1.clone(),2249 collection_id,2320 collection_id,2321 CollectionPermissions {2322 mint_mode: Some(true),2250 AccessMode::AllowList2323 access: Some(AccessMode::AllowList),2324 nesting: None,2325 }2251 ));2326 ));2252 assert_ok!(Unique::set_mint_permission(2253 origin1.clone(),2254 collection_id,2255 true2256 ));2257 assert_ok!(Unique::add_to_allow_list(2327 assert_ok!(Unique::add_to_allow_list(2258 origin1,2328 origin1,2259 collection_id,2329 collection_id,2528 )2598 )2529 .is_err());2599 .is_err());253026002531 assert_ok!(Unique::set_public_access_mode(2601 assert_ok!(Unique::set_collection_permissions(2532 origin1.clone(),2602 origin1.clone(),2533 collection_id,2603 collection_id,2604 CollectionPermissions {2605 mint_mode: Some(true),2534 AccessMode::AllowList2606 access: Some(AccessMode::AllowList),2607 nesting: None,2608 }2535 ));2609 ));2536 assert_ok!(Unique::add_to_allow_list(2610 assert_ok!(Unique::add_to_allow_list(2537 origin1.clone(),2611 origin1.clone(),2538 collection_id,2612 collection_id,2539 account2.clone()2613 account2.clone()2540 ));2614 ));2541 assert_ok!(Unique::set_mint_permission(2542 origin1.clone(),2543 collection_id,2544 true2545 ));254626152547 assert_ok!(Unique::create_item(2616 assert_ok!(Unique::create_item(2548 origin2,2617 origin2,