Event seeding
A running application often needs a known starting state — reference data, demo customers, the fixtures a test environment expects. Seeding declares that state the same way everything else in Screenplay is declared: as events. A top-level seed block lists the events to append per event source id, mirroring Chronicle’s IEventSeedingBuilder.For(eventSourceId, events).
Syntax
Section titled “Syntax”seed for "<event source id>" <EventType> <property> = <value> ... ... ...seed— top level, alongside concepts, policies and modules. Multipleseedblocks are allowed; they accumulate.for "<event source id>"— one group per event source id, holding the events to seed for it. The id is a quoted string.<EventType>— an event declared in the document or made available through animport. Referencing an unknown event is reported as a warning.<property> = <value>— property values using the same expression grammar asproducesmappings and specification events.
An empty seed block — one without any for group — is a compile error.
Example
Section titled “Example”seed for "3fa85f64-5717-4562-b3fc-2c963f66afa6" CustomerRegistered customerId = "3fa85f64-5717-4562-b3fc-2c963f66afa6" name = "Acme Corp" CustomerUpgraded tier = "gold" for "9c858901-8a57-4791-81fe-4c455b099bc9" CustomerRegistered name = "Globex"Each group appends its events, in declaration order, to the event stream of its event source id. The runtime performs the seeding through Chronicle’s event seeding API, so seeded events flow through projections and reactions exactly like events produced by commands.