public function testExecute()
 {
     $identifier = '100000001';
     $context = ['store_id' => 1];
     $expectedData = ['entity_id' => 1];
     $this->select->expects($this->once())->method('from')->with(['t' => 'entity_table'])->willReturnSelf();
     $this->select->expects($this->at(1))->method('where')->with('identifier = ?', $identifier)->willReturnSelf();
     $this->select->expects($this->at(2))->method('where')->with('store_id = ?', 1)->willReturnSelf();
     $this->connection->expects($this->once())->method('fetchRow')->willReturn($expectedData);
     $actualData = $this->subject->execute('Test\\Entity\\Type', $identifier, $context);
     $this->assertEquals($expectedData, $actualData);
 }
 /**
  * @param string $entityType
  * @param object $entity
  * @param string $identifier
  * @return object
  */
 public function execute($entityType, $entity, $identifier)
 {
     $hydrator = $this->metadataPool->getHydrator($entityType);
     $data = $this->readEntityRow->execute($entityType, $identifier);
     return $hydrator->hydrate($entity, $data);
 }