git.delta.rocks / unique-network / refs/commits / 307b048fa24b

difftreelog

source

pallets/nft/src/tests.rs25.3 KiBsourcehistory
1// Tests to be written here2use crate::mock::*;3use crate::{CollectionMode, Ownership};4use frame_support::{assert_noop, assert_ok};56#[test]7fn create_nft_item() {8    new_test_ext().execute_with(|| {9        let col_name1: Vec<u16> = "Test1\0".encode_utf16().collect::<Vec<u16>>();10        let col_desc1: Vec<u16> = "TestDescription1\0".encode_utf16().collect::<Vec<u16>>();11        let token_prefix1: Vec<u8> = b"token_prefix1\0".to_vec();12        let mode: CollectionMode = CollectionMode::NFT(2000);1314        let origin1 = Origin::signed(1);15        assert_ok!(TemplateModule::create_collection(16            origin1.clone(),17            col_name1.clone(),18            col_desc1.clone(),19            token_prefix1.clone(),20            mode21        ));22        assert_eq!(TemplateModule::collection(1).owner, 1);232425        assert_ok!(TemplateModule::create_item(origin1.clone(), 1, [1,2,3].to_vec(), 1));26        assert_eq!(TemplateModule::nft_item_id(1,1).data, [1,2,3].to_vec());27    });28}2930#[test]31fn create_refungible_item() {32    new_test_ext().execute_with(|| {33        let col_name1: Vec<u16> = "Test1\0".encode_utf16().collect::<Vec<u16>>();34        let col_desc1: Vec<u16> = "TestDescription1\0".encode_utf16().collect::<Vec<u16>>();35        let token_prefix1: Vec<u8> = b"token_prefix1\0".to_vec();36        let mode: CollectionMode = CollectionMode::ReFungible(2000, 3);3738        let origin1 = Origin::signed(1);39        assert_ok!(TemplateModule::create_collection(40            origin1.clone(),41            col_name1.clone(),42            col_desc1.clone(),43            token_prefix1.clone(),44            mode45        ));46        assert_eq!(TemplateModule::collection(1).owner, 1);474849        assert_ok!(TemplateModule::create_item(origin1.clone(), 1, [1,2,3].to_vec(), 1));50        assert_eq!(TemplateModule::refungible_item_id(1,1).data, [1,2,3].to_vec());51        assert_eq!(TemplateModule::refungible_item_id(1,1).owner[0], Ownership { owner: 1, fraction: 1000 });52    });53}5455#[test]56fn transfer_refungible_item() {57    new_test_ext().execute_with(|| {58        let col_name1: Vec<u16> = "Test1\0".encode_utf16().collect::<Vec<u16>>();59        let col_desc1: Vec<u16> = "TestDescription1\0".encode_utf16().collect::<Vec<u16>>();60        let token_prefix1: Vec<u8> = b"token_prefix1\0".to_vec();61        let mode: CollectionMode = CollectionMode::ReFungible(2000, 3);6263        let origin1 = Origin::signed(1);64        let origin2 = Origin::signed(2);65        assert_ok!(TemplateModule::create_collection(66            origin1.clone(),67            col_name1.clone(),68            col_desc1.clone(),69            token_prefix1.clone(),70            mode71        ));72        assert_eq!(TemplateModule::collection(1).owner, 1);7374        assert_ok!(TemplateModule::create_item(origin1.clone(), 1, [1,2,3].to_vec(), 1));75        assert_eq!(TemplateModule::refungible_item_id(1,1).data, [1,2,3].to_vec());76        assert_eq!(TemplateModule::refungible_item_id(1,1).owner[0], Ownership { owner: 1, fraction: 1000 });77        assert_eq!(TemplateModule::balance_count(1,1), 1000);78        assert_eq!(TemplateModule::address_tokens(1,1), [1]);7980        // change owner scenario81        assert_ok!(TemplateModule::transfer(origin1.clone(), 2, 1, 1, 1000));82        assert_eq!(TemplateModule::refungible_item_id(1,1).owner[0], Ownership { owner: 2, fraction: 1000 });83        assert_eq!(TemplateModule::balance_count(1,1), 0);84        assert_eq!(TemplateModule::balance_count(1,2), 1000);85        assert_eq!(TemplateModule::address_tokens(1,1), []);86        assert_eq!(TemplateModule::address_tokens(1,2), [1]);8788        // split item scenario89        assert_ok!(TemplateModule::transfer(origin2.clone(), 3, 1, 1, 500));90        assert_eq!(TemplateModule::refungible_item_id(1,1).owner[0], Ownership { owner: 2, fraction: 500 });91        assert_eq!(TemplateModule::refungible_item_id(1,1).owner[1], Ownership { owner: 3, fraction: 500 });92        assert_eq!(TemplateModule::balance_count(1,2), 500);93        assert_eq!(TemplateModule::balance_count(1,3), 500);94        assert_eq!(TemplateModule::address_tokens(1,2), [1]);95        assert_eq!(TemplateModule::address_tokens(1,3), [1]);9697        // split item and new owner has account scenario98        assert_ok!(TemplateModule::transfer(origin2.clone(), 3, 1, 1, 200));99        assert_eq!(TemplateModule::refungible_item_id(1,1).owner[0], Ownership { owner: 2, fraction: 300 });100        assert_eq!(TemplateModule::refungible_item_id(1,1).owner[1], Ownership { owner: 3, fraction: 700 });101        assert_eq!(TemplateModule::balance_count(1,2), 300);102        assert_eq!(TemplateModule::balance_count(1,3), 700);103        assert_eq!(TemplateModule::address_tokens(1,2), [1]);104        assert_eq!(TemplateModule::address_tokens(1,3), [1]);105    });106}107108109#[test]110fn transfer_nft_item() {111    new_test_ext().execute_with(|| {112        let col_name1: Vec<u16> = "Test1\0".encode_utf16().collect::<Vec<u16>>();113        let col_desc1: Vec<u16> = "TestDescription1\0".encode_utf16().collect::<Vec<u16>>();114        let token_prefix1: Vec<u8> = b"token_prefix1\0".to_vec();115        let mode: CollectionMode = CollectionMode::NFT(2000);116117        let origin1 = Origin::signed(1);118        assert_ok!(TemplateModule::create_collection(119            origin1.clone(),120            col_name1.clone(),121            col_desc1.clone(),122            token_prefix1.clone(),123            mode124        ));125        assert_eq!(TemplateModule::collection(1).owner, 1);126127128        assert_ok!(TemplateModule::create_item(origin1.clone(), 1, [1,2,3].to_vec(), 1));129        assert_eq!(TemplateModule::nft_item_id(1,1).data, [1,2,3].to_vec());130        assert_eq!(TemplateModule::balance_count(1,1), 1);131        assert_eq!(TemplateModule::address_tokens(1,1), [1]);132133        // default scenario134        assert_ok!(TemplateModule::transfer(origin1.clone(), 2, 1, 1, 1000));135        assert_eq!(TemplateModule::nft_item_id(1,1).owner, 2);136        assert_eq!(TemplateModule::balance_count(1,1), 0);137        assert_eq!(TemplateModule::balance_count(1,2), 1);138        assert_eq!(TemplateModule::address_tokens(1,1), []);139        assert_eq!(TemplateModule::address_tokens(1,2), [1]); 140    });141}142143144// #[test]145// fn create_collection_test() {146//     new_test_ext().execute_with(|| {147//         let col_name1: Vec<u16> = "Test1\0".encode_utf16().collect::<Vec<u16>>();148//         let col_desc1: Vec<u16> = "TestDescription1\0".encode_utf16().collect::<Vec<u16>>();149//         let token_prefix1: Vec<u8> = b"token_prefix1\0".to_vec();150151//         let size = 1024;152//         let origin1 = Origin::signed(1);153//         assert_ok!(TemplateModule::create_collection(154//             origin1.clone(),155//             col_name1.clone(),156//             col_desc1.clone(),157//             token_prefix1.clone(),158//             size159//         ));160//         assert_eq!(TemplateModule::collection(1).owner, 1);161//     });162// }163164// #[test]165// fn change_collection_owner() {166//     new_test_ext().execute_with(|| {167//         let col_name1: Vec<u16> = "Test1\0".encode_utf16().collect::<Vec<u16>>();168//         let col_desc1: Vec<u16> = "TestDescription1\0".encode_utf16().collect::<Vec<u16>>();169//         let token_prefix1: Vec<u8> = b"token_prefix1\0".to_vec();170171//         let size = 1024;172//         let origin1 = Origin::signed(1);173174//         assert_ok!(TemplateModule::create_collection(175//             origin1.clone(),176//             col_name1.clone(),177//             col_desc1.clone(),178//             token_prefix1.clone(),179//             size180//         ));181//         assert_ok!(TemplateModule::change_collection_owner(182//             origin1.clone(),183//             1,184//             2185//         ));186//         assert_eq!(TemplateModule::collection(1).owner, 2);187//     });188// }189190// #[test]191// fn destroy_collection() {192//     new_test_ext().execute_with(|| {193//         let col_name1: Vec<u16> = "Test1\0".encode_utf16().collect::<Vec<u16>>();194//         let col_desc1: Vec<u16> = "TestDescription1\0".encode_utf16().collect::<Vec<u16>>();195//         let token_prefix1: Vec<u8> = b"token_prefix1\0".to_vec();196197//         let size = 1024;198//         let origin1 = Origin::signed(1);199200//         assert_ok!(TemplateModule::create_collection(201//             origin1.clone(),202//             col_name1.clone(),203//             col_desc1.clone(),204//             token_prefix1.clone(),205//             size206//         ));207//         assert_ok!(TemplateModule::destroy_collection(origin1.clone(), 1));208//     });209// }210211// #[test]212// fn create_item() {213//     new_test_ext().execute_with(|| {214//         let col_name1: Vec<u16> = "Test1\0".encode_utf16().collect::<Vec<u16>>();215//         let col_desc1: Vec<u16> = "TestDescription1\0".encode_utf16().collect::<Vec<u16>>();216//         let token_prefix1: Vec<u8> = b"token_prefix1\0".to_vec();217218//         let size = 1024;219//         let origin1 = Origin::signed(1);220//         let origin2 = Origin::signed(2);221222//         assert_ok!(TemplateModule::create_collection(223//             origin1.clone(),224//             col_name1.clone(),225//             col_desc1.clone(),226//             token_prefix1.clone(),227//             size228//         ));229//         assert_ok!(TemplateModule::add_collection_admin(origin1.clone(), 1, 2));230//         assert_ok!(TemplateModule::create_item(231//             origin2.clone(),232//             1,233//             [1, 1, 1].to_vec()234//         ));235236//         // check balance (collection with id = 1, user id = 2)237//         assert_eq!(TemplateModule::balance_count((1, 2)), 1);238//     });239// }240241// #[test]242// fn burn_item() {243//     new_test_ext().execute_with(|| {244//         let col_name1: Vec<u16> = "Test1\0".encode_utf16().collect::<Vec<u16>>();245//         let col_desc1: Vec<u16> = "TestDescription1\0".encode_utf16().collect::<Vec<u16>>();246//         let token_prefix1: Vec<u8> = b"token_prefix1\0".to_vec();247248//         let size = 1024;249//         let origin1 = Origin::signed(1);250//         let origin2 = Origin::signed(2);251252//         assert_ok!(TemplateModule::create_collection(253//             origin1.clone(),254//             col_name1.clone(),255//             col_desc1.clone(),256//             token_prefix1.clone(),257//             size258//         ));259//         assert_ok!(TemplateModule::add_collection_admin(origin1.clone(), 1, 2));260//         assert_ok!(TemplateModule::create_item(261//             origin2.clone(),262//             1,263//             [1, 1, 1].to_vec()264//         ));265266//         // check balance (collection with id = 1, user id = 2)267//         assert_eq!(TemplateModule::balance_count((1, 2)), 1);268269//         // burn item270//         assert_ok!(TemplateModule::burn_item(origin1.clone(), 1, 1));271//         assert_noop!(272//             TemplateModule::burn_item(origin1.clone(), 1, 1),273//             "Item does not exists"274//         );275276//         assert_eq!(TemplateModule::balance_count((1, 1)), 0);277//     });278// }279280// #[test]281// fn add_collection_admin() {282//     new_test_ext().execute_with(|| {283//         let col_name1: Vec<u16> = "Test1\0".encode_utf16().collect::<Vec<u16>>();284//         let col_desc1: Vec<u16> = "TestDescription1\0".encode_utf16().collect::<Vec<u16>>();285//         let token_prefix1: Vec<u8> = b"token_prefix1\0".to_vec();286287//         let size = 1024;288//         let origin1 = Origin::signed(1);289//         let origin2 = Origin::signed(2);290//         let origin3 = Origin::signed(3);291292//         assert_ok!(TemplateModule::create_collection(293//             origin1.clone(),294//             col_name1.clone(),295//             col_desc1.clone(),296//             token_prefix1.clone(),297//             size298//         ));299//         assert_ok!(TemplateModule::create_collection(300//             origin2.clone(),301//             col_name1.clone(),302//             col_desc1.clone(),303//             token_prefix1.clone(),304//             size305//         ));306//         assert_ok!(TemplateModule::create_collection(307//             origin3.clone(),308//             col_name1.clone(),309//             col_desc1.clone(),310//             token_prefix1.clone(),311//             size312//         ));313314//         assert_eq!(TemplateModule::collection(1).owner, 1);315//         assert_eq!(TemplateModule::collection(2).owner, 2);316//         assert_eq!(TemplateModule::collection(3).owner, 3);317318//         // collection admin319//         assert_ok!(TemplateModule::add_collection_admin(origin1.clone(), 1, 2));320//         assert_ok!(TemplateModule::add_collection_admin(origin1.clone(), 1, 3));321322//         assert_eq!(TemplateModule::admin_list_collection(1).contains(&2), true);323//         assert_eq!(TemplateModule::admin_list_collection(1).contains(&3), true);324//     });325// }326327// #[test]328// fn remove_collection_admin() {329//     new_test_ext().execute_with(|| {330//         let col_name1: Vec<u16> = "Test1\0".encode_utf16().collect::<Vec<u16>>();331//         let col_desc1: Vec<u16> = "TestDescription1\0".encode_utf16().collect::<Vec<u16>>();332//         let token_prefix1: Vec<u8> = b"token_prefix1\0".to_vec();333334//         let size = 1024;335//         let origin1 = Origin::signed(1);336//         let origin2 = Origin::signed(2);337//         let origin3 = Origin::signed(3);338339//         assert_ok!(TemplateModule::create_collection(340//             origin1.clone(),341//             col_name1.clone(),342//             col_desc1.clone(),343//             token_prefix1.clone(),344//             size345//         ));346//         assert_ok!(TemplateModule::create_collection(347//             origin2.clone(),348//             col_name1.clone(),349//             col_desc1.clone(),350//             token_prefix1.clone(),351//             size352//         ));353//         assert_ok!(TemplateModule::create_collection(354//             origin3.clone(),355//             col_name1.clone(),356//             col_desc1.clone(),357//             token_prefix1.clone(),358//             size359//         ));360361//         assert_eq!(TemplateModule::collection(1).owner, 1);362//         assert_eq!(TemplateModule::collection(2).owner, 2);363//         assert_eq!(TemplateModule::collection(3).owner, 3);364365//         // collection admin366//         assert_ok!(TemplateModule::add_collection_admin(origin1.clone(), 1, 2));367//         assert_ok!(TemplateModule::add_collection_admin(origin1.clone(), 1, 3));368369//         assert_eq!(TemplateModule::admin_list_collection(1).contains(&2), true);370//         assert_eq!(TemplateModule::admin_list_collection(1).contains(&3), true);371372//         // remove admin373//         assert_ok!(TemplateModule::remove_collection_admin(374//             origin2.clone(),375//             1,376//             3377//         ));378//         assert_eq!(TemplateModule::admin_list_collection(1).contains(&3), false);379//     });380// }381382// #[test]383// fn balance_of() {384//     new_test_ext().execute_with(|| {385//         let col_name1: Vec<u16> = "Test1\0".encode_utf16().collect::<Vec<u16>>();386//         let col_desc1: Vec<u16> = "TestDescription1\0".encode_utf16().collect::<Vec<u16>>();387//         let token_prefix1: Vec<u8> = b"token_prefix1\0".to_vec();388389//         let size = 1024;390//         let origin1 = Origin::signed(1);391//         let origin2 = Origin::signed(2);392//         let origin3 = Origin::signed(3);393394//         assert_ok!(TemplateModule::create_collection(395//             origin1.clone(),396//             col_name1.clone(),397//             col_desc1.clone(),398//             token_prefix1.clone(),399//             size400//         ));401//         assert_ok!(TemplateModule::create_collection(402//             origin2.clone(),403//             col_name1.clone(),404//             col_desc1.clone(),405//             token_prefix1.clone(),406//             size407//         ));408//         assert_ok!(TemplateModule::create_collection(409//             origin3.clone(),410//             col_name1.clone(),411//             col_desc1.clone(),412//             token_prefix1.clone(),413//             size414//         ));415416//         assert_eq!(TemplateModule::collection(1).owner, 1);417//         assert_eq!(TemplateModule::collection(2).owner, 2);418//         assert_eq!(TemplateModule::collection(3).owner, 3);419420//         // check balance before421//         assert_eq!(TemplateModule::balance_count((1, 1)), 0);422423//         // create item424//         assert_ok!(TemplateModule::create_item(425//             origin1.clone(),426//             1,427//             [1, 1, 1].to_vec()428//         ));429430//         // check balance (collection with id = 1, user id = 2)431//         assert_eq!(TemplateModule::balance_count((1, 1)), 1);432//         assert_eq!(TemplateModule::item_id((1, 1)).owner, 1);433//     });434// }435436// #[test]437// fn transfer() {438//     new_test_ext().execute_with(|| {439//         let col_name1: Vec<u16> = "Test1\0".encode_utf16().collect::<Vec<u16>>();440//         let col_desc1: Vec<u16> = "TestDescription1\0".encode_utf16().collect::<Vec<u16>>();441//         let token_prefix1: Vec<u8> = b"token_prefix1\0".to_vec();442443//         let size = 1024;444//         let origin1 = Origin::signed(1);445//         let origin2 = Origin::signed(2);446//         let origin3 = Origin::signed(3);447448//         assert_ok!(TemplateModule::create_collection(449//             origin1.clone(),450//             col_name1.clone(),451//             col_desc1.clone(),452//             token_prefix1.clone(),453//             size454//         ));455//         assert_ok!(TemplateModule::create_collection(456//             origin2.clone(),457//             col_name1.clone(),458//             col_desc1.clone(),459//             token_prefix1.clone(),460//             size461//         ));462//         assert_ok!(TemplateModule::create_collection(463//             origin3.clone(),464//             col_name1.clone(),465//             col_desc1.clone(),466//             token_prefix1.clone(),467//             size468//         ));469470//         assert_eq!(TemplateModule::collection(1).owner, 1);471//         assert_eq!(TemplateModule::collection(2).owner, 2);472//         assert_eq!(TemplateModule::collection(3).owner, 3);473474//         // create item475//         assert_ok!(TemplateModule::create_item(476//             origin1.clone(),477//             1,478//             [1, 1, 1].to_vec()479//         ));480481//         // transfer482//         assert_ok!(TemplateModule::transfer(origin1.clone(), 1, 1, 2));483//         assert_eq!(TemplateModule::item_id((1, 1)).owner, 2);484485//         // balance_of check486//         assert_eq!(TemplateModule::balance_count((1, 1)), 0);487//         assert_eq!(TemplateModule::balance_count((1, 2)), 1);488//     });489// }490491// #[test]492// fn approve() {493//     new_test_ext().execute_with(|| {494//         let col_name1: Vec<u16> = "Test1\0".encode_utf16().collect::<Vec<u16>>();495//         let col_desc1: Vec<u16> = "TestDescription1\0".encode_utf16().collect::<Vec<u16>>();496//         let token_prefix1: Vec<u8> = b"token_prefix1\0".to_vec();497498//         let size = 1024;499//         let origin1 = Origin::signed(1);500//         let origin2 = Origin::signed(2);501//         let origin3 = Origin::signed(3);502503//         assert_ok!(TemplateModule::create_collection(504//             origin1.clone(),505//             col_name1.clone(),506//             col_desc1.clone(),507//             token_prefix1.clone(),508//             size509//         ));510//         assert_ok!(TemplateModule::create_collection(511//             origin2.clone(),512//             col_name1.clone(),513//             col_desc1.clone(),514//             token_prefix1.clone(),515//             size516//         ));517//         assert_ok!(TemplateModule::create_collection(518//             origin3.clone(),519//             col_name1.clone(),520//             col_desc1.clone(),521//             token_prefix1.clone(),522//             size523//         ));524525//         assert_eq!(TemplateModule::collection(1).owner, 1);526//         assert_eq!(TemplateModule::collection(2).owner, 2);527//         assert_eq!(TemplateModule::collection(3).owner, 3);528529//         // create item530//         assert_ok!(TemplateModule::create_item(531//             origin1.clone(),532//             1,533//             [1, 1, 1].to_vec()534//         ));535536//         // approve537//         assert_ok!(TemplateModule::approve(origin1.clone(), 2, 1, 1));538//         assert_eq!(TemplateModule::approved((1, 1)).contains(&2), true);539//     });540// }541542// #[test]543// fn get_approved() {544//     new_test_ext().execute_with(|| {545//         let col_name1: Vec<u16> = "Test1\0".encode_utf16().collect::<Vec<u16>>();546//         let col_desc1: Vec<u16> = "TestDescription1\0".encode_utf16().collect::<Vec<u16>>();547//         let token_prefix1: Vec<u8> = b"token_prefix1\0".to_vec();548549//         let size = 1024;550//         let origin1 = Origin::signed(1);551//         let origin2 = Origin::signed(2);552//         let origin3 = Origin::signed(3);553554//         assert_ok!(TemplateModule::create_collection(555//             origin1.clone(),556//             col_name1.clone(),557//             col_desc1.clone(),558//             token_prefix1.clone(),559//             size560//         ));561//         assert_ok!(TemplateModule::create_collection(562//             origin2.clone(),563//             col_name1.clone(),564//             col_desc1.clone(),565//             token_prefix1.clone(),566//             size567//         ));568//         assert_ok!(TemplateModule::create_collection(569//             origin3.clone(),570//             col_name1.clone(),571//             col_desc1.clone(),572//             token_prefix1.clone(),573//             size574//         ));575576//         assert_eq!(TemplateModule::collection(1).owner, 1);577//         assert_eq!(TemplateModule::collection(2).owner, 2);578//         assert_eq!(TemplateModule::collection(3).owner, 3);579580//         // create item581//         assert_ok!(TemplateModule::create_item(582//             origin1.clone(),583//             1,584//             [1, 1, 1].to_vec()585//         ));586587//         // approve588//         assert_ok!(TemplateModule::approve(origin1.clone(), 2, 1, 1));589//         assert_eq!(TemplateModule::approved((1, 1)).contains(&2), true);590//     });591// }592593// #[test]594// fn transfer_from() {595//     new_test_ext().execute_with(|| {596//         let col_name1: Vec<u16> = "Test1\0".encode_utf16().collect::<Vec<u16>>();597//         let col_desc1: Vec<u16> = "TestDescription1\0".encode_utf16().collect::<Vec<u16>>();598//         let token_prefix1: Vec<u8> = b"token_prefix1\0".to_vec();599600//         let size = 1024;601//         let origin1 = Origin::signed(1);602//         let origin2 = Origin::signed(2);603//         let origin3 = Origin::signed(3);604605//         assert_ok!(TemplateModule::create_collection(606//             origin1.clone(),607//             col_name1.clone(),608//             col_desc1.clone(),609//             token_prefix1.clone(),610//             size611//         ));612//         assert_ok!(TemplateModule::create_collection(613//             origin2.clone(),614//             col_name1.clone(),615//             col_desc1.clone(),616//             token_prefix1.clone(),617//             size618//         ));619//         assert_ok!(TemplateModule::create_collection(620//             origin3.clone(),621//             col_name1.clone(),622//             col_desc1.clone(),623//             token_prefix1.clone(),624//             size625//         ));626627//         assert_eq!(TemplateModule::collection(1).owner, 1);628//         assert_eq!(TemplateModule::collection(2).owner, 2);629//         assert_eq!(TemplateModule::collection(3).owner, 3);630631//         // create item632//         assert_ok!(TemplateModule::create_item(633//             origin1.clone(),634//             1,635//             [1, 1, 1].to_vec()636//         ));637638//         // approve639//         assert_ok!(TemplateModule::approve(origin1.clone(), 2, 1, 1));640//         assert_ok!(TemplateModule::transfer_from(origin1.clone(), 1, 1, 2));641//     });642// }643644// #[test]645// fn index_list() {646//     new_test_ext().execute_with(|| {647//         let col_name1: Vec<u16> = "Test1\0".encode_utf16().collect::<Vec<u16>>();648//         let col_desc1: Vec<u16> = "TestDescription1\0".encode_utf16().collect::<Vec<u16>>();649//         let token_prefix1: Vec<u8> = b"token_prefix1\0".to_vec();650651//         let size = 1024;652//         let origin1 = Origin::signed(1);653//         let origin2 = Origin::signed(2);654//         let origin3 = Origin::signed(3);655656//         assert_ok!(TemplateModule::create_collection(657//             origin1.clone(),658//             col_name1.clone(),659//             col_desc1.clone(),660//             token_prefix1.clone(),661//             size662//         ));663//         assert_ok!(TemplateModule::create_collection(664//             origin2.clone(),665//             col_name1.clone(),666//             col_desc1.clone(),667//             token_prefix1.clone(),668//             size669//         ));670//         assert_ok!(TemplateModule::create_collection(671//             origin3.clone(),672//             col_name1.clone(),673//             col_desc1.clone(),674//             token_prefix1.clone(),675//             size676//         ));677678//         assert_eq!(TemplateModule::collection(1).owner, 1);679//         assert_eq!(TemplateModule::collection(2).owner, 2);680//         assert_eq!(TemplateModule::collection(3).owner, 3);681//         // create items682//         assert_ok!(TemplateModule::create_item(683//             origin1.clone(),684//             1,685//             [1, 1, 1].to_vec()686//         ));687//         assert_ok!(TemplateModule::create_item(688//             origin1.clone(),689//             1,690//             [1, 1, 2].to_vec()691//         ));692//         assert_ok!(TemplateModule::create_item(693//             origin1.clone(),694//             1,695//             [1, 2, 3].to_vec()696//         ));697//         assert_eq!(TemplateModule::address_tokens((1, 1)).len(), 3);698//         // burn one699//         assert_ok!(TemplateModule::burn_item(origin1.clone(), 1, 2));700//         assert_eq!(TemplateModule::address_tokens((1, 1)).len(), 2);701//         // burn another one702//         assert_ok!(TemplateModule::burn_item(origin1.clone(), 1, 3));703//         assert_eq!(TemplateModule::address_tokens((1, 1))[0], 1);704//     });705// }