unit-testingrustsubstrateparity-io

Fast forward time when writing Substrate Runtime Test


I am writing an auction type application with Substrate runtime. In writing test case, how can I fast forward the blockchain time (what's retrieved from <timestamp::Module<T>>::get()) so I can reach the auction closing time and test the closing logic?

Thanks.


Solution

  • You can just use Timestamp::set_timestamp to change the timestamp to whatever value you want. e.g. Timestamp::set_timestamp(42);

    You can check the tests for srml-timestamp for examples

    https://github.com/paritytech/substrate/blob/fe7f6aff197cd68e102539a42df1134d600b4584/srml/timestamp/src/lib.rs#L368