eventium-memory 0.3.0 → 0.3.1
raw patch · 2 files changed
+8/−7 lines, 2 files
Files
eventium-memory.cabal view
@@ -5,7 +5,7 @@ -- see: https://github.com/sol/hpack name: eventium-memory-version: 0.3.0+version: 0.3.1 synopsis: In-memory implementations for eventium description: Eventium-memory provides in-memory implementations of event stores and projection caches for the Eventium event sourcing framework. This package is ideal for development, testing, and prototyping
tests/Eventium/MetadataEnrichmentSpec.hs view
@@ -4,7 +4,7 @@ import Control.Concurrent.STM import Data.IORef-import Data.Maybe (isJust, isNothing)+import Data.Maybe (isJust) import Data.Time (UTCTime (..), fromGregorian) import Eventium import Eventium.Store.Memory@@ -33,7 +33,7 @@ events <- reader.getEvents (allEvents uuid) all (\e -> isJust e.metadata.createdAt) events `shouldBe` True - it "preserves occurredAt when set via enricher" $ do+ it "defaults occurredAt to createdAt" $ do tvar <- eventMapTVar let taggedWriter = tvarTaggedEventStoreWriter tvar enrichedWriter = metadataEnrichingEventStoreWriter testCodec (runEventStoreWriterUsing atomically taggedWriter)@@ -41,8 +41,8 @@ uuid = uuidFromInteger 1 _ <- enrichedWriter.storeEvents uuid NoStream [42 :: Int] events <- reader.getEvents (allEvents uuid)- -- occurredAt should be Nothing by default (auto-enrichment doesn't set it)- all (\e -> isNothing e.metadata.occurredAt) events `shouldBe` True+ -- occurredAt should default to createdAt+ map (\e -> e.metadata.occurredAt) events `shouldBe` map (\e -> e.metadata.createdAt) events describe "metadataEnrichingEventStoreWriterWithEnricher" $ do it "applies MetadataEnricher to set occurredAt" $ do@@ -57,7 +57,7 @@ events <- reader.getEvents (allEvents uuid) map (\e -> e.metadata.occurredAt) events `shouldBe` [Just pastTime] - it "id enricher leaves occurredAt as Nothing" $ do+ it "defaults occurredAt to createdAt when enricher does not set it" $ do tvar <- eventMapTVar let taggedWriter = tvarTaggedEventStoreWriter tvar enrichedWriter = metadataEnrichingEventStoreWriterWithEnricher id testCodec (runEventStoreWriterUsing atomically taggedWriter)@@ -65,7 +65,8 @@ uuid = uuidFromInteger 1 _ <- enrichedWriter.storeEvents uuid NoStream [42 :: Int] events <- reader.getEvents (allEvents uuid)- map (\e -> e.metadata.occurredAt) events `shouldBe` [Nothing]+ -- occurredAt should default to createdAt+ map (\e -> e.metadata.occurredAt) events `shouldBe` map (\e -> e.metadata.createdAt) events describe "backward compatibility" $ do it "non-tagged writer still uses empty metadata" $ do