public function loadEvents(StreamName $streamName, array $metadata = [], $minVersion = null)
{
if (!isset($this->streams[$streamName->toString()])) {
return new ArrayIterator();
}
$streamEvents = [];
foreach ($this->streams[$streamName->toString()] as $index => $streamEvent) {
if ($this->matchMetadataWith($streamEvent, $metadata)) {
if (null === $minVersion || $streamEvent->version() >= $minVersion) {
$streamEvents[] = $streamEvent;
}
}
}
return new ArrayIterator($streamEvents);
}
/** * @test */ public function it_returns_nothing_when_trying_to_load_events_by_metadata_fro_omn_non_existing_stream() { $streamName = $this->prophesize(StreamName::class); $streamName->toString()->willReturn('test'); $this->assertEmpty($this->adapter->loadEvents($streamName->reveal(), [])); }