--- a/tests/src/migrations/942057-appPromotion/afterMaintenance.test.ts +++ b/tests/src/migrations/942057-appPromotion/afterMaintenance.test.ts @@ -56,8 +56,9 @@ '0x046170707374616b656170707374616b65000020c65abc8ed70a00000000000000'], ])]); - expect((await api.query.appPromotion.pendingUnstake(1)).toJSON()).to.be.deep.equal([['5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY', '0x00000000000000056bc75e2d63100000']]); - expect((await api.query.appPromotion.pendingUnstake(2)).toJSON()).to.be.deep.equal([['5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY', '0x00000000000000056bc75e2d63100000']]); + // const pendingUnstaked = await helper.staking.getPendingUnstakePerBlock() + expect((await api.query.appPromotion.pendingUnstake(1)).toJSON()).to.be.deep.equal([[helper.address.normalizeSubstrateToChainFormat('5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY'), '0x00000000000000056bc75e2d63100000']]); + expect((await api.query.appPromotion.pendingUnstake(2)).toJSON()).to.be.deep.equal([[helper.address.normalizeSubstrateToChainFormat('5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY'), '0x00000000000000056bc75e2d63100000']]); await testedScript(); expect((await api.query.appPromotion.pendingUnstake(1)).toJSON()).to.be.deep.equal([]); --- a/tests/src/util/frankenstein.ts +++ b/tests/src/util/frankenstein.ts @@ -85,17 +85,24 @@ } // Enable or disable maintenance mode if present on the chain -async function toggleMaintenanceMode(value: boolean, wsUri: string) { - await usingPlaygrounds(async (helper, privateKey) => { - const superuser = await privateKey(SUPERUSER_KEY); - try { - const toggle = value ? 'enable' : 'disable'; - await helper.getSudo().executeExtrinsic(superuser, `api.tx.maintenance.${toggle}`, []); - console.log(`Maintenance mode ${value ? 'engaged' : 'disengaged'}.`); - } catch (e) { - console.error('Couldn\'t set maintenance mode. The maintenance pallet probably does not exist. Log:', e); - } - }, wsUri); +async function toggleMaintenanceMode(value: boolean, wsUri: string, retries = 5) { + try { + await usingPlaygrounds(async (helper, privateKey) => { + const superuser = await privateKey(SUPERUSER_KEY); + try { + const toggle = value ? 'enable' : 'disable'; + await helper.getSudo().executeExtrinsic(superuser, `api.tx.maintenance.${toggle}`, []); + console.log(`Maintenance mode ${value ? 'engaged' : 'disengaged'}.`); + } catch (e) { + console.error('Couldn\'t set maintenance mode. The maintenance pallet probably does not exist. Log:', e); + } + }, wsUri); + } catch (error) { + console.error(error); + console.log('Trying for retry toggle maintanence mode'); + await delay(12_000); + await toggleMaintenanceMode(value, wsUri, retries - 1); + } } const raiseZombienet = async (): Promise => {