git.delta.rocks / unique-network / refs/commits / 931d0a96210f

difftreelog

Update transfer disable tests

Greg Zaitsev2021-07-27parent: #6c1065a.patch.diff
in: master

3 files changed

modifiedtests/package.jsondiffbeforeafterboth
before · tests/package.json
1{2  "name": "nfttests",3  "version": "1.0.0",4  "description": "Substrate Nft tests",5  "main": "",6  "devDependencies": {7    "@polkadot/dev": "0.62.43",8    "@polkadot/ts": "0.3.89",9    "@polkadot/typegen": "5.0.1",10    "@types/chai": "^4.2.17",11    "@types/chai-as-promised": "^7.1.3",12    "@types/mocha": "^8.2.2",13    "chai": "^4.3.4",14    "mocha": "^8.3.2",15    "ts-node": "^9.1.1",16    "tslint": "^6.1.3",17    "typescript": "^4.2.4",18    "eslint": "^7.28.0",19    "@types/node": "^14.14.12",20    "@typescript-eslint/eslint-plugin": "^3.4.0",21    "@typescript-eslint/parser": "^3.4.0"22  },23  "scripts": {24    "lint": "eslint --ext .ts,.js src/",25    "fix": "eslint --ext .ts,.js src/ --fix",26    "test": "mocha --timeout 9999999 -r ts-node/register ./**/*.test.ts",27    "testEth": "mocha --timeout 9999999 -r ts-node/register ./**/eth/**/*.test.ts",28    "load": "mocha --timeout 9999999 -r ts-node/register ./**/*.load.ts",29    "loadTransfer": "ts-node src/transfer.nload.ts",30    "testCollision": "mocha --timeout 9999999 -r ts-node/register ./src/collision-tests/*.test.ts",31    "testAddCollectionAdmin": "mocha --timeout 9999999 -r ts-node/register ./**/addCollectionAdmin.test.ts",32    "testSetSchemaVersion": "mocha --timeout 9999999 -r ts-node/register ./**/setSchemaVersion.test.ts",33    "testSetVariableMetaData": "mocha --timeout 9999999 -r ts-node/register ./**/setVariableMetaData.test.ts",34    "testSetCollectionLimits": "mocha --timeout 9999999 -r ts-node/register ./**/setCollectionLimits.test.ts",35    "testSetCollectionSponsor": "mocha --timeout 9999999 -r ts-node/register ./**/setCollectionSponsor.test.ts",36    "testConfirmSponsorship": "mocha --timeout 9999999 -r ts-node/register ./**/confirmSponsorship.test.ts",37    "testRemoveCollectionAdmin": "mocha --timeout 9999999 -r ts-node/register ./**/removeCollectionAdmin.test.ts",38    "testRemoveCollectionSponsor": "mocha --timeout 9999999 -r ts-node/register ./**/removeCollectionSponsor.test.ts",39    "testRemoveFromWhiteList": "mocha --timeout 9999999 -r ts-node/register ./**/removeFromWhiteList.test.ts",40    "testConnection": "mocha --timeout 9999999 -r ts-node/register ./**/connection.test.ts",41    "testCollection": "mocha --timeout 9999999 -r ts-node/register ./**/createCollection.test.ts",42    "testContracts": "mocha --timeout 9999999 -r ts-node/register ./**/contracts.test.ts",43    "testCreateItem": "mocha --timeout 9999999 -r ts-node/register ./**/createItem.test.ts",44    "testCreateMultipleItems": "mocha --timeout 9999999 -r ts-node/register ./**/createMultipleItems.test.ts",45    "testApprove": "mocha --timeout 9999999 -r ts-node/register ./**/approve.test.ts",46    "testTransferFrom": "mocha --timeout 9999999 -r ts-node/register ./**/transferFrom.test.ts",47    "testCreateCollection": "mocha --timeout 9999999 -r ts-node/register ./**/createCollection.test.ts",48    "testToggleContractWhiteList": "mocha --timeout 9999999 -r ts-node/register ./**/toggleContractWhiteList.test.ts",49    "testAddToContractWhiteList": "mocha --timeout 9999999 -r ts-node/register ./**/addToContractWhiteList.test.ts",50    "testTransfer": "mocha --timeout 9999999 -r ts-node/register ./**/transfer.test.ts",51    "testBurnItem": "mocha --timeout 9999999 -r ts-node/register ./**/burnItem.test.ts",52    "testSetMintPermission": "mocha --timeout 9999999 -r ts-node/register ./**/setMintPermission.test.ts",53    "testCreditFeesToTreasury": "mocha --timeout 9999999 -r ts-node/register ./**/creditFeesToTreasury.test.ts",54    "testEnableContractSponsoring": "mocha --timeout 9999999 -r ts-node/register ./**/enableContractSponsoring.test.ts",55    "testRemoveFromContractWhiteList": "mocha --timeout 9999999 -r ts-node/register ./**/removeFromContractWhiteList.test.ts",56    "testSetContractSponsoringRateLimit": "mocha --timeout 9999999 -r ts-node/register ./**/setContractSponsoringRateLimit.test.ts",57    "testSetOffchainSchema": "mocha --timeout 9999999 -r ts-node/register ./**/setOffchainSchema.test.ts",58    "testOverflow": "mocha --timeout 9999999 -r ts-node/register ./**/overflow.test.ts",59    "testSetVariableMetadataSponsoringRateLimit": "mocha --timeout 9999999 -r ts-node/register ./**/setVariableMetadataSponsoringRateLimit.test.ts",60    "testInflation": "mocha --timeout 9999999 -r ts-node/register ./**/inflation.test.ts",61    "testPalletPresence": "mocha --timeout 9999999 -r ts-node/register ./**/pallet-presence.test.ts",62    "testBlockProduction": "mocha --timeout 9999999 -r ts-node/register ./**/block-production.test.ts"63  },64  "author": "",65  "license": "SEE LICENSE IN ../LICENSE",66  "homepage": "",67  "dependencies": {68    "@polkadot/api": "5.0.1",69    "@polkadot/api-contract": "5.0.1",70    "bignumber.js": "^9.0.1",71    "chai-as-promised": "^7.1.1",72    "web3": "^1.3.5"73  },74  "standard": {75    "globals": [76      "it",77      "assert",78      "beforeEach",79      "afterEach",80      "describe",81      "contract",82      "artifacts"83    ]84  }85}
after · tests/package.json
1{2  "name": "nfttests",3  "version": "1.0.0",4  "description": "Substrate Nft tests",5  "main": "",6  "devDependencies": {7    "@polkadot/dev": "0.62.43",8    "@polkadot/ts": "0.3.89",9    "@polkadot/typegen": "5.0.1",10    "@types/chai": "^4.2.17",11    "@types/chai-as-promised": "^7.1.3",12    "@types/mocha": "^8.2.2",13    "chai": "^4.3.4",14    "mocha": "^8.3.2",15    "ts-node": "^9.1.1",16    "tslint": "^6.1.3",17    "typescript": "^4.2.4",18    "eslint": "^7.28.0",19    "@types/node": "^14.14.12",20    "@typescript-eslint/eslint-plugin": "^3.4.0",21    "@typescript-eslint/parser": "^3.4.0"22  },23  "scripts": {24    "lint": "eslint --ext .ts,.js src/",25    "fix": "eslint --ext .ts,.js src/ --fix",26    "test": "mocha --timeout 9999999 -r ts-node/register ./**/*.test.ts",27    "testEth": "mocha --timeout 9999999 -r ts-node/register ./**/eth/**/*.test.ts",28    "load": "mocha --timeout 9999999 -r ts-node/register ./**/*.load.ts",29    "loadTransfer": "ts-node src/transfer.nload.ts",30    "testCollision": "mocha --timeout 9999999 -r ts-node/register ./src/collision-tests/*.test.ts",31    "testAddCollectionAdmin": "mocha --timeout 9999999 -r ts-node/register ./**/addCollectionAdmin.test.ts",32    "testSetSchemaVersion": "mocha --timeout 9999999 -r ts-node/register ./**/setSchemaVersion.test.ts",33    "testSetVariableMetaData": "mocha --timeout 9999999 -r ts-node/register ./**/setVariableMetaData.test.ts",34    "testSetCollectionLimits": "mocha --timeout 9999999 -r ts-node/register ./**/setCollectionLimits.test.ts",35    "testSetCollectionSponsor": "mocha --timeout 9999999 -r ts-node/register ./**/setCollectionSponsor.test.ts",36    "testConfirmSponsorship": "mocha --timeout 9999999 -r ts-node/register ./**/confirmSponsorship.test.ts",37    "testRemoveCollectionAdmin": "mocha --timeout 9999999 -r ts-node/register ./**/removeCollectionAdmin.test.ts",38    "testRemoveCollectionSponsor": "mocha --timeout 9999999 -r ts-node/register ./**/removeCollectionSponsor.test.ts",39    "testRemoveFromWhiteList": "mocha --timeout 9999999 -r ts-node/register ./**/removeFromWhiteList.test.ts",40    "testConnection": "mocha --timeout 9999999 -r ts-node/register ./**/connection.test.ts",41    "testCollection": "mocha --timeout 9999999 -r ts-node/register ./**/createCollection.test.ts",42    "testContracts": "mocha --timeout 9999999 -r ts-node/register ./**/contracts.test.ts",43    "testCreateItem": "mocha --timeout 9999999 -r ts-node/register ./**/createItem.test.ts",44    "testCreateMultipleItems": "mocha --timeout 9999999 -r ts-node/register ./**/createMultipleItems.test.ts",45    "testApprove": "mocha --timeout 9999999 -r ts-node/register ./**/approve.test.ts",46    "testTransferFrom": "mocha --timeout 9999999 -r ts-node/register ./**/transferFrom.test.ts",47    "testCreateCollection": "mocha --timeout 9999999 -r ts-node/register ./**/createCollection.test.ts",48    "testToggleContractWhiteList": "mocha --timeout 9999999 -r ts-node/register ./**/toggleContractWhiteList.test.ts",49    "testAddToContractWhiteList": "mocha --timeout 9999999 -r ts-node/register ./**/addToContractWhiteList.test.ts",50    "testTransfer": "mocha --timeout 9999999 -r ts-node/register ./**/transfer.test.ts",51    "testBurnItem": "mocha --timeout 9999999 -r ts-node/register ./**/burnItem.test.ts",52    "testSetMintPermission": "mocha --timeout 9999999 -r ts-node/register ./**/setMintPermission.test.ts",53    "testCreditFeesToTreasury": "mocha --timeout 9999999 -r ts-node/register ./**/creditFeesToTreasury.test.ts",54    "testEnableContractSponsoring": "mocha --timeout 9999999 -r ts-node/register ./**/enableContractSponsoring.test.ts",55    "testRemoveFromContractWhiteList": "mocha --timeout 9999999 -r ts-node/register ./**/removeFromContractWhiteList.test.ts",56    "testSetContractSponsoringRateLimit": "mocha --timeout 9999999 -r ts-node/register ./**/setContractSponsoringRateLimit.test.ts",57    "testSetOffchainSchema": "mocha --timeout 9999999 -r ts-node/register ./**/setOffchainSchema.test.ts",58    "testOverflow": "mocha --timeout 9999999 -r ts-node/register ./**/overflow.test.ts",59    "testSetVariableMetadataSponsoringRateLimit": "mocha --timeout 9999999 -r ts-node/register ./**/setVariableMetadataSponsoringRateLimit.test.ts",60    "testInflation": "mocha --timeout 9999999 -r ts-node/register ./**/inflation.test.ts",61    "testPalletPresence": "mocha --timeout 9999999 -r ts-node/register ./**/pallet-presence.test.ts",62    "testBlockProduction": "mocha --timeout 9999999 -r ts-node/register ./**/block-production.test.ts",63    "testEnableDisableTransfers": "mocha --timeout 9999999 -r ts-node/register ./**/enableDisableTransfer.test.ts"64  },65  "author": "",66  "license": "SEE LICENSE IN ../LICENSE",67  "homepage": "",68  "dependencies": {69    "@polkadot/api": "5.0.1",70    "@polkadot/api-contract": "5.0.1",71    "bignumber.js": "^9.0.1",72    "chai-as-promised": "^7.1.1",73    "web3": "^1.3.5"74  },75  "standard": {76    "globals": [77      "it",78      "assert",79      "beforeEach",80      "afterEach",81      "describe",82      "contract",83      "artifacts"84    ]85  }86}
modifiedtests/src/enableDisableTransfer.test.tsdiffbeforeafterboth
--- a/tests/src/enableDisableTransfer.test.ts
+++ b/tests/src/enableDisableTransfer.test.ts
@@ -13,6 +13,7 @@
   transferExpectSuccess,
   transferExpectFailure,
   setTransferFlagExpectSuccess,
+  setTransferFlagExpectFailure,
 } from './util/helpers';
 
 chai.use(chaiAsPromised);
@@ -48,3 +49,16 @@
     });
   });
 });
+
+describe('Negative Enable/Disable Transfers', () => {
+  it('Non-owner cannot change transfer flag', async () => {
+    await usingApi(async () => {
+      const Bob = privateKey('//Bob');
+      // nft
+      const nftCollectionId = await createCollectionExpectSuccess();
+
+      // Change transfer flag
+      await setTransferFlagExpectFailure(Bob, nftCollectionId, false);
+    });
+  });
+});
modifiedtests/src/util/helpers.tsdiffbeforeafterboth
--- a/tests/src/util/helpers.ts
+++ b/tests/src/util/helpers.ts
@@ -535,6 +535,18 @@
   }); 
 }
 
+export async function setTransferFlagExpectFailure(sender: IKeyringPair, collectionId: number, enabled: boolean) {
+
+  await usingApi(async (api) => {
+
+    const tx = api.tx.nft.setTransfersEnabledFlag (collectionId, enabled);
+    const events = await expect(submitTransactionExpectFailAsync(sender, tx)).to.be.rejected;
+    const result = getGenericResult(events);
+
+    expect(result.success).to.be.false;
+  }); 
+}
+
 export async function setContractSponsoringRateLimitExpectSuccess(sender: IKeyringPair, contractAddress: AccountId | string, rateLimit: number) {
   await usingApi(async (api) => {
     const tx = api.tx.nft.setContractSponsoringRateLimit(contractAddress, rateLimit);