1import {getApiConnection} from '../substrate/substrate-api';2import {requirePallets, Pallets} from '../deprecated-helpers/helpers';3import {expectTxFailure} from './util/helpers';4import {mintNft, createCollection, setResourcePriorities} from './util/tx';56describe('integration test: set NFT resource priorities', () => {7 let api: any;8 before(async function () {9 api = await getApiConnection();10 await requirePallets(this, [Pallets.RmrkCore]);11 });1213 const alice = '//Alice';14 const bob = '//Bob';1516 const createTestCollection = (issuerUri: string) => {17 return createCollection(18 api,19 issuerUri,20 'resprio-collection-metadata',21 null,22 'resprio',23 );24 };2526 it('set NFT resource priorities', async () => {27 const owner = alice;2829 const collectionId = await createTestCollection(alice);30 const nftId = await mintNft(api, alice, owner, collectionId, 'resprio-nft-metadata');3132 await setResourcePriorities(api, alice, collectionId, nftId, [10, 42]);33 });3435 it('[negative] set NFT resource priorities by a not-an-owner', async () => {36 const owner = alice;37 const attacker = bob;3839 const collectionId = await createTestCollection(alice);40 const nftId = await mintNft(api, alice, owner, collectionId, 'resprio-nft-metadata');4142 const tx = setResourcePriorities(api, attacker, collectionId, nftId, [10, 42]);4344 await expectTxFailure(/rmrkCore\.NoPermission/, tx);45 });4647 it('[negative] set NFT resource priorities to non-existing NFT', async () => {48 const owner = alice;4950 const collectionId = 0;51 const maxNftId = 0xFFFFFFFF;5253 const tx = setResourcePriorities(api, alice, collectionId, maxNftId, [10, 42]);5455 await expectTxFailure(/rmrkCore\.NoAvailableNftId/, tx);56 });5758 after(() => { api.disconnect(); });59});