/**
* @test
*/
public function getObjectByIdentifierReturnsObjectFromPersistenceIfAvailable()
{
$fakeUuid = 'fakeUuid';
$object = new \stdClass();
$mockSession = $this->createMock(Generic\Session::class);
$mockSession->expects($this->once())->method('hasIdentifier')->with($fakeUuid)->will($this->returnValue(false));
$mockBackend = $this->createMock(Generic\Backend\BackendInterface::class);
$mockBackend->expects($this->once())->method('getObjectDataByIdentifier')->with($fakeUuid)->will($this->returnValue([]));
$mockDataMapper = $this->createMock(Generic\DataMapper::class);
$mockDataMapper->expects($this->once())->method('mapToObject')->will($this->returnValue($object));
$manager = new Generic\PersistenceManager();
$manager->injectPersistenceSession($mockSession);
$manager->injectBackend($mockBackend);
$manager->injectDataMapper($mockDataMapper);
$this->assertEquals($manager->getObjectByIdentifier($fakeUuid), $object);
}