From d97991513dd86ff1823e37ab21d49843d1025bb7 Mon Sep 17 00:00:00 2001 From: Daniel Shiposha Date: Thu, 18 Aug 2022 16:49:45 +0000 Subject: [PATCH] test: scheduled tx should take a fee --- --- a/test-pallets/utils/src/lib.rs +++ b/test-pallets/utils/src/lib.rs @@ -69,5 +69,10 @@ Err(>::TriggerRollback.into()) } + + #[pallet::weight(100_000_000)] + pub fn just_take_fee(_origin: OriginFor) -> DispatchResult { + Ok(()) + } } } --- a/tests/src/.outdated/scheduler.test.ts +++ b/tests/src/.outdated/scheduler.test.ts @@ -216,6 +216,56 @@ }); }); + it('Scheduled tasks should take some fees', async function() { + await requirePallets(this, [Pallets.TestUtils]); + + await usingApi(async api => { + const scheduledId = makeScheduledId(); + const waitForBlocks = 10; + const period = 2; + const repetitions = 1; + + const dummyTxFeeAmount = 100_000_000; + + const dummyTx = api.tx.testUtils.justTakeFee(); + + await expect(scheduleAfter( + api, + dummyTx, + alice, + waitForBlocks, + scheduledId, + period, + repetitions, + )).to.not.be.rejected; + + const aliceInitBalance = await getFreeBalance(alice); + let diff; + + await waitNewBlocks(waitForBlocks + 1); + + const aliceBalanceAfterFirst = await getFreeBalance(alice); + expect( + aliceBalanceAfterFirst < aliceInitBalance, + '[after execution #1] Scheduled task should take a fee', + ).to.be.true; + + diff = aliceInitBalance - aliceBalanceAfterFirst; + expect(diff).to.be.equal(dummyTxFeeAmount, 'Scheduled task should take the right amount of fees'); + + await waitNewBlocks(period); + + const aliceBalanceAfterSecond = await getFreeBalance(alice); + expect( + aliceBalanceAfterSecond < aliceBalanceAfterFirst, + '[after execution #2] Scheduled task should take a fee', + ).to.be.true; + + diff = aliceBalanceAfterFirst - aliceBalanceAfterSecond; + expect(diff).to.be.equal(dummyTxFeeAmount, 'Scheduled task should take the right amount of fees'); + }); + }); + // FIXME What purpose of this test? it.skip('Can schedule a scheduled operation of canceling the scheduled operation', async () => { await usingApi(async api => { -- gitstuff