difftreelog
test(app-promo) migrating falling tests to new behavior (freezes)
in: master
Test 'should allow to stake() if balance is locked with different id' has been skipped because of app-promo no locks balances anymore
2 files changed
tests/src/sub/appPromotion/appPromotion.test.tsdiffbeforeafterboth78 });78 });797980 describe('stake extrinsic', () => {80 describe('stake extrinsic', () => {81 itSub('should "lock" staking balance, add it to "staked" map, and increase "totalStaked" amount', async ({helper}) => {81 itSub('should "freeze" staking balance, add it to "staked" map, and increase "totalStaked" amount', async ({helper}) => {82 const [staker, recepient] = await getAccounts(2);82 const [staker, recepient] = await getAccounts(2);83 const totalStakedBefore = await helper.staking.getTotalStaked();83 const totalStakedBefore = await helper.staking.getTotalStaked();848489 // Staker balance is: frozen: 100, reserved: 0n...89 // Staker balance is: frozen: 100, reserved: 0n...90 // ...so he can not transfer 90090 // ...so he can not transfer 90091 expect(await helper.balance.getSubstrateFull(staker.address)).to.contain({frozen: 100n * nominal, reserved: 0n});91 expect(await helper.balance.getSubstrateFull(staker.address)).to.contain({frozen: 100n * nominal, reserved: 0n});92 expect(await helper.balance.getLocked(staker.address)).to.deep.eq([{id: 'appstake', amount: 100n * nominal, reasons: 'All'}]);92 expect(await helper.balance.getFrozen(staker.address)).to.deep.eq([{id: 'appstakeappstake', amount: 100n * nominal}]);93 await expect(helper.balance.transferToSubstrate(staker, recepient.address, 900n * nominal)).to.be.rejectedWith(/^Token: Frozen$/);93 await expect(helper.balance.transferToSubstrate(staker, recepient.address, 900n * nominal)).to.be.rejectedWith(/^Token: Frozen$/);949495 expect(await helper.staking.getTotalStaked({Substrate: staker.address})).to.be.equal(100n * nominal);95 expect(await helper.staking.getTotalStaked({Substrate: staker.address})).to.be.equal(100n * nominal);144 }144 }145 });145 });146 });146 });147147 // Now AppPromo makes freezes. Probably this test should be changed\removed.148 itSub('should allow to stake() if balance is locked with different id', async ({helper}) => {148 itSub.skip('should allow to stake() if balance is locked with different id', async ({helper}) => {149 const [staker] = await getAccounts(1);149 const [staker] = await getAccounts(1);150150151 // staker has tokens locked with vesting id:151 // staker has tokens locked with vesting id:218218219 // Right after unstake tokens are still locked219 // Right after unstake tokens are still locked220 expect(await helper.staking.getStakesNumber({Substrate: staker.address})).to.eq(0);220 expect(await helper.staking.getStakesNumber({Substrate: staker.address})).to.eq(0);221 expect(await helper.balance.getLocked(staker.address)).to.deep.eq([{id: 'appstake', amount: STAKE_AMOUNT, reasons: 'All'}]);221 expect(await helper.balance.getFrozen(staker.address)).to.deep.eq([{id: 'appstakeappstake', amount: STAKE_AMOUNT}]);222 expect(await helper.balance.getSubstrateFull(staker.address)).to.deep.contain({reserved: 0n, frozen: STAKE_AMOUNT});222 expect(await helper.balance.getSubstrateFull(staker.address)).to.deep.contain({reserved: 0n, frozen: STAKE_AMOUNT});223 // Staker can not transfer223 // Staker can not transfer224 await expect(helper.balance.transferToSubstrate(staker, recepient.address, 100n * nominal)).to.be.rejectedWith(/^Token: Frozen$/);224 await expect(helper.balance.transferToSubstrate(staker, recepient.address, 100n * nominal)).to.be.rejectedWith(/^Token: Frozen$/);tests/src/util/playgrounds/unique.tsdiffbeforeafterboth2405 return locks.map((lock: any) => { return {id: lock.id, amount: BigInt(lock.amount.replace(/,/g, '')), reasons: lock.reasons}; });2405 return locks.map((lock: any) => { return {id: lock.id, amount: BigInt(lock.amount.replace(/,/g, '')), reasons: lock.reasons}; });2406 }2406 }24072408 async getFrozen(address: TSubstrateAccount): Promise<[{ id: string, amount: bigint}]> {2409 const locks = (await this.helper.callRpc('api.query.balances.freezes', [address])).toHuman();2410 return locks.map((lock: any) => { return {id: lock.id, amount: BigInt(lock.amount.replace(/,/g, ''))}; });2411 }2407}2412}240824132409class EthereumBalanceGroup<T extends ChainHelperBase> extends HelperGroup<T> {2414class EthereumBalanceGroup<T extends ChainHelperBase> extends HelperGroup<T> {2496 return this.subBalanceGroup.getLocked(address);2501 return this.subBalanceGroup.getLocked(address);2497 }2502 }25032504 /**2505 * Get frozen balances2506 * @param address substrate address2507 * @returns frozen balances with id via api.query.balances.freezes2508 */2509 getFrozen(address: TSubstrateAccount) {2510 return this.subBalanceGroup.getFrozen(address);2511 }249825122499 /**2513 /**2500 * Get ethereum address balance2514 * Get ethereum address balance