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

difftreelog

source

tests/src/setVariableMetadataSponsoringRateLimit.test.ts3.5 KiBsourcehistory
1//2// This file is subject to the terms and conditions defined in3// file 'LICENSE', which is part of this source code package.4//56import {IKeyringPair} from '@polkadot/types/types';7import privateKey from './substrate/privateKey';8import usingApi from './substrate/substrate-api';9import {10  confirmSponsorshipExpectSuccess,11  createCollectionExpectSuccess,12  createItemExpectSuccess,13  findUnusedAddress,14  setCollectionLimitsExpectSuccess,15  setCollectionSponsorExpectSuccess,16  setVariableMetaDataExpectFailure,17  setVariableMetaDataExpectSuccess,18} from './util/helpers';1920describe('Integration Test setVariableMetadataSponsoringRateLimit', () => {21  let alice: IKeyringPair;22  let userWithNoBalance: IKeyringPair;2324  before(async () => {25    await usingApi(async (api) => {26      alice = privateKey('//Alice');27      userWithNoBalance = await findUnusedAddress(api);28    });29  });3031  it('sponsored setVariableMetaData can be called twice with pause for free', async () => {32    const collectionId = await createCollectionExpectSuccess();33    await setCollectionSponsorExpectSuccess(collectionId, alice.address);34    await confirmSponsorshipExpectSuccess(collectionId);35    await setCollectionLimitsExpectSuccess(alice, collectionId, {36      sponsoredDataRateLimit: 0,37    });3839    const itemId = await createItemExpectSuccess(alice, collectionId, 'NFT', userWithNoBalance.address);40    await setVariableMetaDataExpectSuccess(userWithNoBalance, collectionId, itemId, [1, 2, 3]);41    await setVariableMetaDataExpectSuccess(userWithNoBalance, collectionId, itemId, [1, 2, 3]);42  });4344  it('sponsored setVariableMetaData can\'t be called twice without pause for free', async () => {45    const collectionId = await createCollectionExpectSuccess();46    await setCollectionSponsorExpectSuccess(collectionId, alice.address);47    await confirmSponsorshipExpectSuccess(collectionId);48    await setCollectionLimitsExpectSuccess(alice, collectionId, {49      sponsoredDataRateLimit: 10,50    });5152    const itemId = await createItemExpectSuccess(alice, collectionId, 'NFT', userWithNoBalance.address);53    await setVariableMetaDataExpectSuccess(userWithNoBalance, collectionId, itemId, [1, 2, 3]);54    await setVariableMetaDataExpectFailure(userWithNoBalance, collectionId, itemId, [1, 2, 3]);55  });5657  it('sponsored setVariableMetaData can\'t be called for free with variable metadata above collection limits', async () => {58    const collectionId = await createCollectionExpectSuccess();59    await setCollectionSponsorExpectSuccess(collectionId, alice.address);60    await confirmSponsorshipExpectSuccess(collectionId);61    await setCollectionLimitsExpectSuccess(alice, collectionId, {62      sponsoredDataRateLimit: 0,63      sponsoredDataSize: 1,64    });65    const itemId = await createItemExpectSuccess(alice, collectionId, 'NFT', userWithNoBalance.address);6667    await setVariableMetaDataExpectSuccess(userWithNoBalance, collectionId, itemId, [1]);68    await setVariableMetaDataExpectFailure(userWithNoBalance, collectionId, itemId, [1, 2]);69  });7071  it('Default value of rate limit does not sponsor setting variable metadata', async () => {72    const collectionId = await createCollectionExpectSuccess();73    await setCollectionSponsorExpectSuccess(collectionId, alice.address);74    await confirmSponsorshipExpectSuccess(collectionId);7576    const itemId = await createItemExpectSuccess(alice, collectionId, 'NFT', userWithNoBalance.address);77    await setVariableMetaDataExpectFailure(userWithNoBalance, collectionId, itemId, [1]);78  });7980});