git.delta.rocks / unique-network / refs/commits / 8057bddf39cb

difftreelog

source

tests/src/metadataUpdate.test.ts3.9 KiBsourcehistory
12//3// This file is subject to the terms and conditions defined in4// file 'LICENSE', which is part of this source code package.5//67import chai from 'chai';8import chaiAsPromised from 'chai-as-promised';9import privateKey from './substrate/privateKey';10import usingApi from './substrate/substrate-api';11import {12  createItemExpectSuccess,13  createCollectionExpectSuccess,14  setMetadataUpdatePermissionFlagExpectSuccess,15  setVariableMetaDataExpectSuccess,16  setMintPermissionExpectSuccess,17  addToWhiteListExpectSuccess,18  addCollectionAdminExpectSuccess,19  setVariableMetaDataExpectFailure,20  setMetadataUpdatePermissionFlagExpectFailure,21} from './util/helpers';2223chai.use(chaiAsPromised);2425describe('Metadata update permissions ', () => {26  it('Set variable metadata with ItemOwner permission flag', async () => {27    await usingApi(async () => {28      const Alice = privateKey('//Alice');2930      const data = [1, 2, 254, 255];3132      // nft33      const nftCollectionId = await createCollectionExpectSuccess();34      const newNftTokenId = await createItemExpectSuccess(Alice, nftCollectionId, 'NFT');35      await setMetadataUpdatePermissionFlagExpectSuccess(Alice, nftCollectionId, 'ItemOwner');3637      await setVariableMetaDataExpectSuccess(Alice, nftCollectionId, newNftTokenId, data);38    });39  });4041  it('User can\'n set variable metadata with ItemOwner permission flag', async () => {42    await usingApi(async () => {43      const Alice = privateKey('//Alice');44      const Bob = privateKey('//Bob');45  46      const data = [1, 2, 254, 255];47  48      // nft49      const nftCollectionId = await createCollectionExpectSuccess();50      const newNftTokenId = await createItemExpectSuccess(Alice, nftCollectionId, 'NFT');51      await setMetadataUpdatePermissionFlagExpectSuccess(Alice, nftCollectionId, 'ItemOwner');5253      await setMintPermissionExpectSuccess(Alice, nftCollectionId, true);54      await addToWhiteListExpectSuccess(Alice, nftCollectionId, Bob.address);55      await addCollectionAdminExpectSuccess(Alice, nftCollectionId, Bob);56  57      await setVariableMetaDataExpectFailure(Bob, nftCollectionId, newNftTokenId, data);58    });59  });6061  it('Admin can set variable metadata with Admin permission flag', async () => {62    await usingApi(async () => {63      const Alice = privateKey('//Alice');64      const Bob = privateKey('//Bob');65  66      const data = [1, 2, 254, 255];67  68      // nft69      const nftCollectionId = await createCollectionExpectSuccess();70      const newNftTokenId = await createItemExpectSuccess(Alice, nftCollectionId, 'NFT');71      await setMetadataUpdatePermissionFlagExpectSuccess(Alice, nftCollectionId, 'Admin');7273      await setMintPermissionExpectSuccess(Alice, nftCollectionId, true);74      await addToWhiteListExpectSuccess(Alice, nftCollectionId, Bob.address);75      await addCollectionAdminExpectSuccess(Alice, nftCollectionId, Bob);76  77      await setVariableMetaDataExpectSuccess(Bob, nftCollectionId, newNftTokenId, data);78    });79  });8081  it('Nobody can set variable metadata with None flag', async () => {82    await usingApi(async () => {83      const Alice = privateKey('//Alice');84  85      const data = [1, 2, 254, 255];86  87      // nft88      const nftCollectionId = await createCollectionExpectSuccess();89      const newNftTokenId = await createItemExpectSuccess(Alice, nftCollectionId, 'NFT');90      await setMetadataUpdatePermissionFlagExpectSuccess(Alice, nftCollectionId, 'None');91  92      await setVariableMetaDataExpectFailure(Alice, nftCollectionId, newNftTokenId, data);93    });94  });9596  it('Nobody can set variable metadata flag after freeze', async () => {97    await usingApi(async () => {98      const Alice = privateKey('//Alice');99  100      // nft101      const nftCollectionId = await createCollectionExpectSuccess();102      await setMetadataUpdatePermissionFlagExpectSuccess(Alice, nftCollectionId, 'None');103      await setMetadataUpdatePermissionFlagExpectFailure(Alice, nftCollectionId, 'Admin');104        105    });106  });107});