cleveland-0.2.1: Testing framework for Morley.
Safe HaskellSafe-Inferred
LanguageHaskell2010

Test.Cleveland.Internal.Scenario

Synopsis

Documentation

type Scenario m = MonadScenario m => Scenario' m Source #

A convenience type synonym for Scenario` that has MonadScenario constraint baked in.

data Scenario' m where Source #

A type representing a finalized scenario. Usually, when using this type with a polymorphic argument, an additional MonadScenario constraint on the argument is required.

To avoid annotating with MonadScenario everywhere, consider using Scenario instead when possible.

class MonadFail m => MonadScenario m where Source #

Typeclass for base monads that can implement a scenario.

Methods

scenario :: ClevelandT m () -> Scenario' m Source #

Finalize a generic cleveland scenario.

scenarioEmulated :: EmulatedT PureM () -> Scenario' PureM Source #

Finalize a scenario that needs emulator-only features.

scenarioNetwork :: NetworkT ClientM () -> Scenario' ClientM Source #

Finalize a scenario that needs network-only features.

withInitialNow :: Timestamp -> Scenario' PureM -> Scenario' PureM Source #

Use with an emulated Scenario to configure the initial now value in tests.

Example : > testScenarioOnEmulator Testname $ withInitialNow (Timestamp 10000000) $ scenarioEmulated $ tests > testScenarioOnEmulator Testname $ withInitialNow (Timestamp 10000000) $ scenario $ tests

withInitialLevel :: Natural -> Scenario' PureM -> Scenario' PureM Source #

Similar to withInitialNow but for the initial level

withMinBlockTime :: Natural -> Scenario' PureM -> Scenario' PureM Source #

Similar to withInitialNow but for the MINIMAL_BLOCK_DELAY protocol constant.

withChainId :: ChainId -> Scenario' PureM -> Scenario' PureM Source #

Similar to withInitialNow but for the chain id