123456import {IKeyringPair} from '@polkadot/types/types';7import privateKey from './substrate/privateKey';8import usingApi from './substrate/substrate-api';9import waitNewBlocks from './substrate/wait-new-blocks';10import {deployFlipper, toggleFlipValueExpectFailure, toggleFlipValueExpectSuccess} from './util/contracthelpers';11import {12 enableContractSponsoringExpectSuccess,13 findUnusedAddress,14 setContractSponsoringRateLimitExpectFailure,15 setContractSponsoringRateLimitExpectSuccess,16} from './util/helpers';1718describe.skip('Integration Test setContractSponsoringRateLimit', () => {19 it('ensure sponsored contract can\'t be called twice without pause for free', async () => {20 await usingApi(async (api) => {21 const user = await findUnusedAddress(api);2223 const [flipper, deployer] = await deployFlipper(api);24 await enableContractSponsoringExpectSuccess(deployer, flipper.address, true);25 await setContractSponsoringRateLimitExpectSuccess(deployer, flipper.address, 10);26 await toggleFlipValueExpectSuccess(user, flipper);27 await toggleFlipValueExpectFailure(user, flipper);28 });29 });3031 it('ensure sponsored contract can be called twice with pause for free', async () => {32 await usingApi(async (api) => {33 const user = await findUnusedAddress(api);3435 const [flipper, deployer] = await deployFlipper(api);36 await enableContractSponsoringExpectSuccess(deployer, flipper.address, true);37 await setContractSponsoringRateLimitExpectSuccess(deployer, flipper.address, 1);38 await toggleFlipValueExpectSuccess(user, flipper);39 await waitNewBlocks(api, 1);40 await toggleFlipValueExpectSuccess(user, flipper);41 });42 });43});4445describe.skip('Negative Integration Test setContractSponsoringRateLimit', () => {46 let alice: IKeyringPair;4748 before(async () => {49 alice = privateKey('//Alice');50 });5152 it('fails when called for non-contract address', async () => {53 await usingApi(async (api) => {54 const user = await findUnusedAddress(api);5556 await setContractSponsoringRateLimitExpectFailure(alice, user.address, 1);57 });58 });5960 it('fails when called by non-owning user', async () => {61 await usingApi(async (api) => {62 const [flipper] = await deployFlipper(api);6364 await setContractSponsoringRateLimitExpectFailure(alice, flipper.address, 1);65 });66 });67});