difftreelog
fix usage due CORE-37
in: master
1 file changed
tests/src/setVariableMetaData.test.tsdiffbeforeafterboth1//2// This file is subject to the terms and conditions defined in3// file 'LICENSE', which is part of this source code package.4//56import { IKeyringPair } from '@polkadot/types/types';7import chai from 'chai';8import chaiAsPromised from 'chai-as-promised';9import privateKey from './substrate/privateKey';10import usingApi from './substrate/substrate-api';11import {12 burnItemExpectSuccess,13 createCollectionExpectSuccess,14 createItemExpectSuccess,15 destroyCollectionExpectSuccess,16 findNotExistingCollection,17 setVariableMetaDataExpectFailure,18 setVariableMetaDataExpectSuccess,19 addCollectionAdminExpectSuccess,20} from './util/helpers';2122chai.use(chaiAsPromised);23const expect = chai.expect;2425describe('Integration Test setVariableMetaData', () => {26 const data = [1, 2, 254, 255];2728 let alice: IKeyringPair;29 let collectionId: number;30 let tokenId: number;31 before(async () => {32 await usingApi(async () => {33 alice = privateKey('//Alice');34 collectionId = await createCollectionExpectSuccess({ mode: { type: 'NFT' } });35 tokenId = await createItemExpectSuccess(alice, collectionId, 'NFT');36 });37 });3839 it('execute setVariableMetaData', async () => {40 await setVariableMetaDataExpectSuccess(alice, collectionId, tokenId, data);41 });4243 it('verify data was set', async () => {44 await usingApi(async api => {45 const item: any = (await api.query.nft.nftItemList(collectionId, tokenId) as any).unwrap();4647 expect(Array.from(item.VariableData)).to.deep.equal(Array.from(data));48 });49 });50});5152describe('Integration Test collection admin setVariableMetaData', () => {53 const data = [1, 2, 254, 255];5455 let alice: IKeyringPair;56 let bob: IKeyringPair;57 let collectionId: number;58 let tokenId: number;59 before(async () => {60 await usingApi(async () => {61 alice = privateKey('//Alice');62 bob = privateKey('//Bob');63 collectionId = await createCollectionExpectSuccess({ mode: { type: 'NFT' } });64 tokenId = await createItemExpectSuccess(alice, collectionId, 'NFT');65 await addCollectionAdminExpectSuccess(alice, collectionId, bob);66 });67 });6869 it('execute setVariableMetaData', async () => {70 await setVariableMetaDataExpectSuccess(bob, collectionId, tokenId, data);71 });7273 it('verify data was set', async () => {74 await usingApi(async api => {75 const item: any = (await api.query.nft.nftItemList(collectionId, tokenId) as any).unwrap();7677 expect(Array.from(item.VariableData)).to.deep.equal(Array.from(data));78 });79 });80});8182describe('Negative Integration Test setVariableMetaData', () => {83 const data = [1];8485 let alice: IKeyringPair;86 let bob: IKeyringPair;8788 let validCollectionId: number;89 let validTokenId: number;9091 before(async () => {92 await usingApi(async () => {93 alice = privateKey('//Alice');94 bob = privateKey('//Bob');9596 validCollectionId = await createCollectionExpectSuccess({ mode: { type: 'NFT' } });97 validTokenId = await createItemExpectSuccess(alice, validCollectionId, 'NFT');98 });99 });100101 it('fails on not existing collection id', async () => {102 await usingApi(async api => {103 const nonExistingCollectionId = await findNotExistingCollection(api);104 await setVariableMetaDataExpectFailure(alice, nonExistingCollectionId, 1, data);105 });106 });107 it('fails on removed collection id', async () => {108 const removedCollectionId = await createCollectionExpectSuccess({ mode: { type: 'NFT' } });109 const removedCollectionTokenId = await createItemExpectSuccess(alice, removedCollectionId, 'NFT');110111 await destroyCollectionExpectSuccess(removedCollectionId);112 await setVariableMetaDataExpectFailure(alice, removedCollectionId, removedCollectionTokenId, data);113 });114 it('fails on removed token', async () => {115 const removedTokenCollectionId = await createCollectionExpectSuccess({ mode: { type: 'NFT' } });116 const removedTokenId = await createItemExpectSuccess(alice, removedTokenCollectionId, 'NFT');117 await burnItemExpectSuccess(alice, removedTokenCollectionId, removedTokenId);118119 await setVariableMetaDataExpectFailure(alice, removedTokenCollectionId, removedTokenId, data);120 });121 it('fails on not existing token', async () => {122 const nonExistingTokenId = validTokenId + 1;123124 await setVariableMetaDataExpectFailure(alice, validCollectionId, nonExistingTokenId, data);125 });126 it('fails on too long data', async () => {127 const tooLongData = new Array(4097).fill(0xff);128129 await setVariableMetaDataExpectFailure(alice, validCollectionId, validTokenId, tooLongData);130 });131 it('fails on fungible token', async () => {132 const fungibleCollectionId = await createCollectionExpectSuccess({ mode: { type: 'Fungible', decimalPoints: 0 } });133 const fungibleTokenId = await createItemExpectSuccess(alice, fungibleCollectionId, 'Fungible');134135 await setVariableMetaDataExpectFailure(alice, fungibleCollectionId, fungibleTokenId, data);136 });137 it('fails on bad sender', async () => {138 await setVariableMetaDataExpectFailure(bob, validCollectionId, validTokenId, data);139 });140});1//2// This file is subject to the terms and conditions defined in3// file 'LICENSE', which is part of this source code package.4//56import { IKeyringPair } from '@polkadot/types/types';7import chai from 'chai';8import chaiAsPromised from 'chai-as-promised';9import privateKey from './substrate/privateKey';10import usingApi from './substrate/substrate-api';11import {12 burnItemExpectSuccess,13 createCollectionExpectSuccess,14 createItemExpectSuccess,15 destroyCollectionExpectSuccess,16 findNotExistingCollection,17 setVariableMetaDataExpectFailure,18 setVariableMetaDataExpectSuccess,19 addCollectionAdminExpectSuccess,20 setMetadataUpdatePermissionFlagExpectSuccess,21} from './util/helpers';2223chai.use(chaiAsPromised);24const expect = chai.expect;2526describe('Integration Test setVariableMetaData', () => {27 const data = [1, 2, 254, 255];2829 let alice: IKeyringPair;30 let collectionId: number;31 let tokenId: number;32 before(async () => {33 await usingApi(async () => {34 alice = privateKey('//Alice');35 collectionId = await createCollectionExpectSuccess({ mode: { type: 'NFT' } });36 tokenId = await createItemExpectSuccess(alice, collectionId, 'NFT');37 });38 });3940 it('execute setVariableMetaData', async () => {41 await setVariableMetaDataExpectSuccess(alice, collectionId, tokenId, data);42 });4344 it('verify data was set', async () => {45 await usingApi(async api => {46 const item: any = (await api.query.nft.nftItemList(collectionId, tokenId) as any).unwrap();4748 expect(Array.from(item.VariableData)).to.deep.equal(Array.from(data));49 });50 });51});5253describe('Integration Test collection admin setVariableMetaData', () => {54 const data = [1, 2, 254, 255];5556 let alice: IKeyringPair;57 let bob: IKeyringPair;58 let collectionId: number;59 let tokenId: number;60 before(async () => {61 await usingApi(async () => {62 alice = privateKey('//Alice');63 bob = privateKey('//Bob');64 collectionId = await createCollectionExpectSuccess({ mode: { type: 'NFT' } });65 tokenId = await createItemExpectSuccess(alice, collectionId, 'NFT');66 await setMetadataUpdatePermissionFlagExpectSuccess(alice, collectionId, 'Admin');67 await addCollectionAdminExpectSuccess(alice, collectionId, bob);68 });69 });7071 it('execute setVariableMetaData', async () => {72 await setVariableMetaDataExpectSuccess(bob, collectionId, tokenId, data);73 });7475 it('verify data was set', async () => {76 await usingApi(async api => {77 const item: any = (await api.query.nft.nftItemList(collectionId, tokenId) as any).unwrap();7879 expect(Array.from(item.VariableData)).to.deep.equal(Array.from(data));80 });81 });82});8384describe('Negative Integration Test setVariableMetaData', () => {85 const data = [1];8687 let alice: IKeyringPair;88 let bob: IKeyringPair;8990 let validCollectionId: number;91 let validTokenId: number;9293 before(async () => {94 await usingApi(async () => {95 alice = privateKey('//Alice');96 bob = privateKey('//Bob');9798 validCollectionId = await createCollectionExpectSuccess({ mode: { type: 'NFT' } });99 validTokenId = await createItemExpectSuccess(alice, validCollectionId, 'NFT');100 });101 });102103 it('fails on not existing collection id', async () => {104 await usingApi(async api => {105 const nonExistingCollectionId = await findNotExistingCollection(api);106 await setVariableMetaDataExpectFailure(alice, nonExistingCollectionId, 1, data);107 });108 });109 it('fails on removed collection id', async () => {110 const removedCollectionId = await createCollectionExpectSuccess({ mode: { type: 'NFT' } });111 const removedCollectionTokenId = await createItemExpectSuccess(alice, removedCollectionId, 'NFT');112113 await destroyCollectionExpectSuccess(removedCollectionId);114 await setVariableMetaDataExpectFailure(alice, removedCollectionId, removedCollectionTokenId, data);115 });116 it('fails on removed token', async () => {117 const removedTokenCollectionId = await createCollectionExpectSuccess({ mode: { type: 'NFT' } });118 const removedTokenId = await createItemExpectSuccess(alice, removedTokenCollectionId, 'NFT');119 await burnItemExpectSuccess(alice, removedTokenCollectionId, removedTokenId);120121 await setVariableMetaDataExpectFailure(alice, removedTokenCollectionId, removedTokenId, data);122 });123 it('fails on not existing token', async () => {124 const nonExistingTokenId = validTokenId + 1;125126 await setVariableMetaDataExpectFailure(alice, validCollectionId, nonExistingTokenId, data);127 });128 it('fails on too long data', async () => {129 const tooLongData = new Array(4097).fill(0xff);130131 await setVariableMetaDataExpectFailure(alice, validCollectionId, validTokenId, tooLongData);132 });133 it('fails on fungible token', async () => {134 const fungibleCollectionId = await createCollectionExpectSuccess({ mode: { type: 'Fungible', decimalPoints: 0 } });135 const fungibleTokenId = await createItemExpectSuccess(alice, fungibleCollectionId, 'Fungible');136137 await setVariableMetaDataExpectFailure(alice, fungibleCollectionId, fungibleTokenId, data);138 });139 it('fails on bad sender', async () => {140 await setVariableMetaDataExpectFailure(bob, validCollectionId, validTokenId, data);141 });142});