/** * @test */ public function it_creates_a_stream() { $testStream = $this->getTestStream(); $this->adapter->beginTransaction(); $this->adapter->create($testStream); $this->adapter->commit(); $streamEvents = $this->adapter->loadEventsByMetadataFrom(new StreamName('Prooph\\Model\\User'), array('tag' => 'person')); $this->assertEquals(1, count($streamEvents)); $this->assertEquals($testStream->streamEvents()[0]->uuid()->toString(), $streamEvents[0]->uuid()->toString()); $this->assertEquals($testStream->streamEvents()[0]->createdAt()->format('Y-m-d\\TH:i:s.uO'), $streamEvents[0]->createdAt()->format('Y-m-d\\TH:i:s.uO')); $this->assertEquals('Prooph\\EventStoreTest\\Mock\\UserCreated', $streamEvents[0]->messageName()); $this->assertEquals('*****@*****.**', $streamEvents[0]->payload()['email']); $this->assertEquals(1, $streamEvents[0]->version()); }
/** * @test */ public function it_can_rewind_doctrine_stream_iterator() { $testStream = $this->getTestStream(); $this->adapter->beginTransaction(); $this->adapter->create($testStream); $this->adapter->commit(); $result = $this->adapter->loadEvents(new StreamName('Prooph\\Model\\User'), ['tag' => 'person']); $this->assertNotNull($result->current()); $this->assertEquals(0, $result->key()); $result->next(); $this->assertNull($result->current()); $result->rewind(); $this->assertNotNull($result->current()); $this->assertEquals(0, $result->key()); $result->next(); $this->assertNull($result->current()); $this->assertFalse($result->key()); }