/** * @dataProvider metadataProvider * @param string $entityType * @param array $metadata * @return void */ public function testGetMetadata($entityType, $metadata) { $defaults = ['connectionName' => 'default', 'eavEntityType' => null, 'sequence' => null, 'entityContext' => [], 'fields' => null]; $this->entityMetadataFactoryMock->expects($this->once())->method('create')->with(array_merge($defaults, $metadata[$entityType]))->willReturn($this->entityMetadataMock); $metadataPool = new MetadataPool($this->entityMetadataFactoryMock, $this->entityHydratorFactoryMock, $metadata); $this->assertEquals($this->entityMetadataMock, $metadataPool->getMetadata($entityType)); }
/** * @dataProvider metadataProvider * @param string $entityType * @param array $metadata * @return void */ public function testGetMetadata($entityType, $metadata) { $sequence = $this->getMockBuilder( 'Magento\Framework\DB\Sequence\SequenceInterface' )->disableOriginalConstructor(); $defaults = [ 'connectionName' => 'default', 'eavEntityType' => null, 'entityContext' => [], 'sequence' => $sequence, 'fields' => null ]; $finalMetadata = $metadata; $finalMetadata[$entityType]['connectionName'] = 'default'; $this->entityMetadataFactoryMock->expects($this->once()) ->method('create') ->with(array_merge($defaults, $metadata[$entityType])) ->willReturn($this->entityMetadataMock); $this->sequenceFactoryMock->expects($this->once()) ->method('create') ->with($entityType, $finalMetadata) ->willReturn($sequence); $metadataPool = new MetadataPool( $this->entityMetadataFactoryMock, $this->entityHydratorFactoryMock, $this->sequenceFactoryMock, $metadata ); $this->assertEquals($this->entityMetadataMock, $metadataPool->getMetadata($entityType)); }