/** * @test */ public function it_can_be_serialized_and_deserialized_to_itself() { $this->state->set('foo', 'bar'); $state = State::deserialize($this->state->serialize()); $this->assertEquals($this->state, $state); $this->state->setDone(); $state = State::deserialize($this->state->serialize()); $this->assertEquals($this->state, $state); }
/** * {@inheritDoc} */ public function findOneBy(Criteria $criteria, $sagaId) { $query = $this->createQuery($criteria, $sagaId); $results = $query->execute(); $count = count($results); if ($count === 1) { return State::deserialize(current($results->toArray())); } if ($count > 1) { throw new RepositoryException('Multiple saga state instances found.'); } return null; }