public function hiddenFieldContainsDataOfAPreviouslyUploadedResource()
{
$mockResourceUuid = '79ecda60-1a27-69ca-17bf-a5d9e80e6c39';
$submittedData = array('foo' => array('bar' => array('name' => 'someFilename.jpg', 'type' => 'image/jpeg', 'tmp_name' => '/some/tmp/name', 'error' => 0, 'size' => 123)));
/** @var Result|\PHPUnit_Framework_MockObject_MockObject $mockValidationResults */
$mockValidationResults = $this->getMockBuilder(Result::class)->disableOriginalConstructor()->getMock();
$mockValidationResults->expects($this->atLeastOnce())->method('hasErrors')->will($this->returnValue(true));
$this->request->expects($this->at(0))->method('getInternalArgument')->with('__submittedArgumentValidationResults')->will($this->returnValue($mockValidationResults));
$this->request->expects($this->at(1))->method('getInternalArgument')->with('__submittedArguments')->will($this->returnValue($submittedData));
/** @var PersistentResource|\PHPUnit_Framework_MockObject_MockObject $mockResource */
$mockResource = $this->getMockBuilder(PersistentResource::class)->disableOriginalConstructor()->getMock();
$mockPersistenceManager = $this->createMock(PersistenceManagerInterface::class);
$mockPersistenceManager->expects($this->once())->method('getIdentifierByObject')->with($mockResource)->will($this->returnValue($mockResourceUuid));
$this->inject($this->viewHelper, 'persistenceManager', $mockPersistenceManager);
$this->mockPropertyMapper->expects($this->atLeastOnce())->method('convert')->with($submittedData['foo']['bar'], PersistentResource::class)->will($this->returnValue($mockResource));
$mockValueResource = $this->getMockBuilder(PersistentResource::class)->disableOriginalConstructor()->getMock();
$this->viewHelper->setArguments(array('name' => 'foo[bar]', 'value' => $mockValueResource));
$expectedResult = '<input type="hidden" name="foo[bar][originallySubmittedResource][__identity]" value="' . $mockResourceUuid . '" />';
$this->viewHelper->initialize();
$actualResult = $this->viewHelper->render();
$this->assertSame($expectedResult, $actualResult);
}