-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/


-- | Common module used for eventful tests
--   
--   Common module used for eventful tests
@package eventful-test-helpers
@version 0.2.0


-- | Common test functionality
module Eventful.TestHelpers

-- | Example Projection/Aggregate
newtype Counter
Counter :: Int -> Counter
[unCounter] :: Counter -> Int
type CounterProjection = Projection Counter CounterEvent
counterProjection :: CounterProjection
type CounterAggregate = Aggregate Counter CounterEvent CounterCommand
counterAggregate :: CounterAggregate
data CounterEvent
Added :: Int -> CounterEvent
[_counterEventAmount] :: CounterEvent -> Int
CounterFailedOutOfBounds :: CounterEvent
data CounterCommand
Increment :: Int -> CounterCommand
[_counterCommandAmount] :: CounterCommand -> Int
Decrement :: Int -> CounterCommand
[_counterCommandAmount] :: CounterCommand -> Int
newtype EventStoreRunner m
EventStoreRunner :: (forall a. (EventStoreWriter m CounterEvent -> VersionedEventStoreReader m CounterEvent -> m a) -> IO a) -> EventStoreRunner m
newtype GlobalStreamEventStoreRunner m
GlobalStreamEventStoreRunner :: (forall a. (EventStoreWriter m CounterEvent -> GlobalEventStoreReader m CounterEvent -> m a) -> IO a) -> GlobalStreamEventStoreRunner m
eventStoreSpec :: Monad m => EventStoreRunner m -> Spec
globalStreamEventStoreSpec :: Monad m => GlobalStreamEventStoreRunner m -> Spec
newtype VersionedProjectionCacheRunner m
VersionedProjectionCacheRunner :: (forall a. (EventStoreWriter m CounterEvent -> VersionedEventStoreReader m CounterEvent -> VersionedProjectionCache Counter m -> m a) -> IO a) -> VersionedProjectionCacheRunner m
versionedProjectionCacheSpec :: Monad m => VersionedProjectionCacheRunner m -> Spec
newtype GlobalStreamProjectionCacheRunner m
GlobalStreamProjectionCacheRunner :: (forall a. (EventStoreWriter m CounterEvent -> GlobalEventStoreReader m CounterEvent -> GlobalStreamProjectionCache Text Counter m -> m a) -> IO a) -> GlobalStreamProjectionCacheRunner m
globalStreamProjectionCacheSpec :: Monad m => GlobalStreamProjectionCacheRunner m -> Spec

-- | A space efficient, packed, unboxed Unicode text type.
data Text
instance Data.Aeson.Types.ToJSON.ToJSON Eventful.TestHelpers.CounterCommand
instance Data.Aeson.Types.FromJSON.FromJSON Eventful.TestHelpers.CounterCommand
instance Data.Aeson.Types.ToJSON.ToJSON Eventful.TestHelpers.CounterEvent
instance Data.Aeson.Types.FromJSON.FromJSON Eventful.TestHelpers.CounterEvent
instance GHC.Show.Show Eventful.TestHelpers.CounterCommand
instance GHC.Classes.Eq Eventful.TestHelpers.CounterCommand
instance GHC.Show.Show Eventful.TestHelpers.CounterEvent
instance GHC.Classes.Eq Eventful.TestHelpers.CounterEvent
instance Data.Aeson.Types.ToJSON.ToJSON Eventful.TestHelpers.Counter
instance Data.Aeson.Types.FromJSON.FromJSON Eventful.TestHelpers.Counter
instance GHC.Show.Show Eventful.TestHelpers.Counter
instance GHC.Classes.Eq Eventful.TestHelpers.Counter
