/** * @param array $record * * @dataProvider commitDataProvider */ public function testFromRecord(array $record) { $commitData = $this->getMock(ServesCommitData::class); $commitData->expects($this->once())->method('getId')->willReturn($record['id']); $commitData->expects($this->once())->method('getCommitId')->willReturn($record['commit_id']); $commitData->expects($this->once())->method('getStreamId')->willReturn($record['stream_id']); $commitData->expects($this->once())->method('getStreamIdContract')->willReturn($record['stream_id_contract']); $commitData->expects($this->once())->method('getPayload')->willReturn($record['payload']); $commitData->expects($this->once())->method('getPayloadContract')->willReturn($record['payload_contract']); $commitData->expects($this->once())->method('getMetaData')->willReturn($record['meta_data']); $commitData->expects($this->once())->method('getMetaDataContract')->willReturn($record['meta_data_contract']); $commitData->expects($this->once())->method('getOccurredOn')->willReturn($record['occurred_on']); $commitData->expects($this->once())->method('getCommittedOn')->willReturn($record['committed_on']); /** @var ServesCommitData $commitData */ $envelope = CommitEnvelope::fromCommitData($commitData); $this->assertEquals($record['id'], $envelope->getId()); $this->assertEquals($record['commit_id'], $envelope->getCommitId()); $this->assertEquals($record['stream_id'], $envelope->getStreamId()); $this->assertEquals($record['stream_id_contract'], $envelope->getStreamIdContract()); $this->assertEquals($record['payload'], $envelope->getPayload()); $this->assertEquals($record['payload_contract'], $envelope->getPayloadContract()); $this->assertEquals($record['meta_data'], $envelope->getMetaData()); $this->assertEquals($record['meta_data_contract'], $envelope->getMetaDataContract()); $this->assertEquals($record['occurred_on'], $envelope->getOccurredOn()); $this->assertEquals($record['committed_on'], $envelope->getCommittedOn()); }