package Ġfeatures . cc ce v . test . entities . request Ċ Ċ import Ġcc ce v . s 2 . request . app . Request Aggregate Service Ċ import Ġcc ce v . s 2 . request . domain . features . command . Request Init Command Ċ import Ġf 2 . dsl . fn c . invoke Ċ import Ġfeatures . cc ce v . test . C ucumber Steps Definition Ċ import Ġfeatures . cc ce v . test . exception . Entity Not Initialized Exception Ċ import Ġio . cucumber . java 8 . En Ċ import Ġkotlinx . coroutines . run Blocking Ċ import Ġorg . springframework . beans . factory . annotation . Autowired Ċ import Ġjava . util . UUID Ċ Ċ class ĠRequest Init Steps : ĠEn , ĠC ucumber Steps Definition () Ġ{ ĊĊĠĠĠ Ġ@ Autowired ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġrequest Service : ĠRequest Aggregate Service ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ ĠGiven (" A Ġrequest Ġis Ġinstantiated Ġfrom Ġthis Ġrequirement ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġrequirement Id Ġ= Ġcontext . requirements . last Created ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġthrow ĠEntity Not Initialized Exception (" last Created ", Ġ" Requirement ") ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcommand Ġ= ĠRequest Init Command ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġid Ġ= ĠUUID . randomUUID (). toString (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġframework Id Ġ= Ġrequirement Id ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrun Blocking Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrequest Service . init (). invoke ( command ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontext . requests Ġ+= Ġcommand . id ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ