/** * Prepares test environment. */ public function setUp() { $finder = new Finder(); $finder->files()->in(__DIR__ . '/config/'); $finder->name('*.yml'); $this->dummyParser = $this->getMock('Symfony\\Component\\Yaml\\Parser'); $this->dummyDumper = $this->getMock('Symfony\\Component\\Yaml\\Dumper'); $this->dummyFilesystem = $this->getMock('Symfony\\Component\\Filesystem\\Filesystem'); $dummyDispatcher = $this->getMock('Symfony\\Component\\EventDispatcher\\EventDispatcherInterface'); $dummyDispatcher->expects($this->once())->method('dispatch')->willReturnCallback(function ($name, $event) { /** @var GroupOptionTypeEvent $event */ $optionTypes = ['acp' => ['twomartens.core' => ['access' => new BooleanOptionType()]]]; $event->addOptions($optionTypes); }); $this->yamlData = []; $this->optionData = []; foreach ($finder as $file) { /** @var SplFileInfo $file */ $basename = $file->getBasename('.yml'); $this->yamlData[$basename] = Yaml::parse($file->getContents()); $this->optionData[$basename] = ConfigUtil::convertToOptions($this->yamlData[$basename]); } $this->dummyParser->expects($this->any())->method('parse')->willReturnCallback(function ($content) { return Yaml::parse($content); }); /** @var \Symfony\Component\EventDispatcher\EventDispatcherInterface $dummyDispatcher */ $this->groupService = new GroupService($finder, $this->dummyParser, $this->dummyDumper, $this->dummyFilesystem, $dummyDispatcher); }