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); }