/** * @dataProvider getControllerActionFromRecordTestValues * @param array $record * @param string $fieldName * @param boolean $expectsMessage * @param string $expected */ public function testGetControllerActionFromRecord(array $record, $fieldName, $expectsMessage, $expected) { $instance = new PageProvider(); if (PageControllerInterface::DOKTYPE_RAW !== $record['doktype'] && TRUE === empty($record[$fieldName])) { /** @var PageService $service */ $service = $this->getMock('FluidTYPO3\\Fluidpages\\Service\\PageService', array('getPageTemplateConfiguration')); $instance->injectPageService($service); } if (TRUE === $expectsMessage) { /** @var ConfigurationService|\PHPUnit_Framework_MockObject_MockObject $configurationService */ $configurationService = $this->getMock('FluidTYPO3\\Fluidpages\\Service\\ConfigurationService', array('message')); $configurationService->expects($this->once())->method('message'); $instance->injectConfigurationService($configurationService); } // make sure PageProvider is now using the right field name $instance->trigger($record, NULL, $fieldName); $result = $instance->getControllerActionFromRecord($record); $this->assertEquals($expected, $result); }