packages feed

eventium-memory 0.3.1 → 0.3.2

raw patch · 3 files changed

+10/−23 lines, 3 files

Files

eventium-memory.cabal view
@@ -5,7 +5,7 @@ -- see: https://github.com/sol/hpack  name:           eventium-memory-version:        0.3.1+version:        0.3.2 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
@@ -5,7 +5,6 @@ import Control.Concurrent.STM import Data.IORef import Data.Maybe (isJust)-import Data.Time (UTCTime (..), fromGregorian) import Eventium import Eventium.Store.Memory import Test.Hspec@@ -33,31 +32,20 @@       events <- reader.getEvents (allEvents uuid)       all (\e -> isJust e.metadata.createdAt) events `shouldBe` True -    it "defaults occurredAt to createdAt" $ do-      tvar <- eventMapTVar-      let taggedWriter = tvarTaggedEventStoreWriter tvar-          enrichedWriter = metadataEnrichingEventStoreWriter testCodec (runEventStoreWriterUsing atomically taggedWriter)-          reader = runEventStoreReaderUsing atomically (tvarEventStoreReader tvar)-          uuid = uuidFromInteger 1-      _ <- enrichedWriter.storeEvents uuid NoStream [42 :: Int]-      events <- reader.getEvents (allEvents uuid)-      -- 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+    it "applies MetadataEnricher to set correlationId" $ do       tvar <- eventMapTVar-      let pastTime = UTCTime (fromGregorian 2025 3 15) 0-          enricher m = m {occurredAt = Just pastTime}+      let corrId = uuidFromInteger 99+          enricher m = m {correlationId = Just corrId}           taggedWriter = tvarTaggedEventStoreWriter tvar           enrichedWriter = metadataEnrichingEventStoreWriterWithEnricher enricher testCodec (runEventStoreWriterUsing atomically taggedWriter)           reader = runEventStoreReaderUsing atomically (tvarEventStoreReader tvar)           uuid = uuidFromInteger 1       _ <- enrichedWriter.storeEvents uuid NoStream [42 :: Int]       events <- reader.getEvents (allEvents uuid)-      map (\e -> e.metadata.occurredAt) events `shouldBe` [Just pastTime]+      map (\e -> e.metadata.correlationId) events `shouldBe` [Just corrId] -    it "defaults occurredAt to createdAt when enricher does not set it" $ do+    it "leaves correlationId unset when enricher is id" $ do       tvar <- eventMapTVar       let taggedWriter = tvarTaggedEventStoreWriter tvar           enrichedWriter = metadataEnrichingEventStoreWriterWithEnricher id testCodec (runEventStoreWriterUsing atomically taggedWriter)@@ -65,8 +53,7 @@           uuid = uuidFromInteger 1       _ <- enrichedWriter.storeEvents uuid NoStream [42 :: Int]       events <- reader.getEvents (allEvents uuid)-      -- occurredAt should default to createdAt-      map (\e -> e.metadata.occurredAt) events `shouldBe` map (\e -> e.metadata.createdAt) events+      map (\e -> e.metadata.correlationId) events `shouldBe` [Nothing]    describe "backward compatibility" $ do     it "non-tagged writer still uses empty metadata" $ do
tests/Eventium/ProcessManagerSpec.hs view
@@ -3,7 +3,6 @@ module Eventium.ProcessManagerSpec (spec) where  import Data.IORef-import Data.Time (UTCTime (..), fromGregorian) import Eventium.ProcessManager import Eventium.Projection import Eventium.Store.Class@@ -172,7 +171,8 @@             pure CommandSucceeded        let target = uuidFromInteger 2-          enricher m = m {occurredAt = Just (UTCTime (fromGregorian 2025 3 15) 0)}+          corrId = uuidFromInteger 99+          enricher m = m {correlationId = Just corrId}           effects = [IssueCommand target (AcceptCredit 50) enricher]        runProcessManagerEffects dispatcher effects@@ -182,5 +182,5 @@         [(_, cmd, enr)] -> do           cmd `shouldBe` AcceptCredit 50           let enriched = enr (emptyMetadata "test")-          enriched.occurredAt `shouldBe` Just (UTCTime (fromGregorian 2025 3 15) 0)+          enriched.correlationId `shouldBe` Just corrId         _ -> expectationFailure "expected exactly one dispatch"