difftreelog
Update transfer disable tests
in: master
3 files changed
tests/package.jsondiffbeforeafterboth1{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}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}tests/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);
+ });
+ });
+});
tests/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);