git.delta.rocks / unique-network / refs/commits / ac00479fa1cc

difftreelog

Merge pull request #84 from usetech-llc/feature/NFTPAR-243_enableContractSponsoring

Greg Zaitsev2021-02-05parents: #d59a8e7 #2dd8b9f.patch.diff
in: master
Add tests for enableContactSponsoring

2 files changed

modifiedtests/package.jsondiffbeforeafterboth
--- a/tests/package.json
+++ b/tests/package.json
@@ -37,6 +37,7 @@
     "testTransfer": "mocha --timeout 9999999 -r ts-node/register ./**/transfer.test.ts",
     "testBurnItem": "mocha --timeout 9999999 -r ts-node/register ./**/burnItem.test.ts",
     "testCreditFeesToTreasury": "mocha --timeout 9999999 -r ts-node/register ./**/creditFeesToTreasury.test.ts",
+    "testEnableContractSponsoring": "mocha --timeout 9999999 -r ts-node/register ./**/enableContractSponsoring.test.ts",
     "testSetContractSponsoringRateLimit": "mocha --timeout 9999999 -r ts-node/register ./**/setContractSponsoringRateLimit.test.ts"
   },
   "author": "",
addedtests/src/enableContractSponsoring.test.tsdiffbeforeafterboth
after · tests/src/enableContractSponsoring.test.ts
1import { IKeyringPair } from '@polkadot/types/types';2import chai from 'chai';3import chaiAsPromised from 'chai-as-promised';4import privateKey from './substrate/privateKey';5import usingApi from './substrate/substrate-api';6import { deployFlipper, getFlipValue, toggleFlipValueExpectSuccess } from './util/contracthelpers';7import {8  enableContractSponsoringExpectFailure,9  enableContractSponsoringExpectSuccess,10  findUnusedAddress,11  setContractSponsoringRateLimitExpectSuccess,12} from './util/helpers';1314chai.use(chaiAsPromised);15const expect = chai.expect;1617describe('Integration Test enableContractSponsoring', () => {18  it('ensure tx fee is paid from endowment', async () => {19    await usingApi(async (api) => {20      const user = await findUnusedAddress(api);2122      const [flipper, deployer] = await deployFlipper(api);23      await enableContractSponsoringExpectSuccess(deployer, flipper.address, true);24      await setContractSponsoringRateLimitExpectSuccess(deployer, flipper.address, 1);25      await toggleFlipValueExpectSuccess(user, flipper);2627      expect(await getFlipValue(flipper, deployer)).to.be.false;28    });29  });3031  it('ensure it can be enabled twice', async () => {32    await usingApi(async (api) => {33      const [flipper, deployer] = await deployFlipper(api);3435      await enableContractSponsoringExpectSuccess(deployer, flipper.address, true);36      await enableContractSponsoringExpectSuccess(deployer, flipper.address, true);37    });38  });3940  it('ensure it can be disabled twice', async () => {41    await usingApi(async (api) => {42      const [flipper, deployer] = await deployFlipper(api);4344      await enableContractSponsoringExpectSuccess(deployer, flipper.address, true);45      await enableContractSponsoringExpectSuccess(deployer, flipper.address, false);46      await enableContractSponsoringExpectSuccess(deployer, flipper.address, false);47    });48  });4950  it('ensure it can be re-enabled', async () => {51    await usingApi(async (api) => {52      const [flipper, deployer] = await deployFlipper(api);5354      await enableContractSponsoringExpectSuccess(deployer, flipper.address, true);55      await enableContractSponsoringExpectSuccess(deployer, flipper.address, false);56      await enableContractSponsoringExpectSuccess(deployer, flipper.address, true);57    });58  });5960});6162describe('Negative Integration Test enableContractSponsoring', () => {63  let alice: IKeyringPair;6465  before(async () => {66    alice = privateKey('//Alice');67  });6869  it('fails when called for non-contract address', async () => {70    await usingApi(async (api) => {71      const user = await findUnusedAddress(api);7273      await enableContractSponsoringExpectFailure(alice, user.address, true);74    });75  });7677  it('fails when called by non-owning user', async () => {78    await usingApi(async (api) => {79      const [flipper, _] = await deployFlipper(api);8081      await enableContractSponsoringExpectFailure(alice, flipper.address, true);82    });83  });84});