/**
  * @When I generate the container
  */
 public function iGenerateTheContainer()
 {
     $serviceFolders = implode(',', $this->configuration->getServicesFolders());
     $isDebug = $this->configuration->getDebug() ? 'true' : 'false';
     $isTest = $this->configuration->isTestEnvironment() ? 'true' : 'false';
     exec('php features/bootstrap/generate.php ' . $serviceFolders . ' ' . $isDebug . ' ' . $isTest);
     $this->generatedServices = unserialize(file_get_contents('serialized.container'));
 }
 function let(Loader $loader, ContainerLoader $containerLoader, Filesystem $filesystem, Configuration $configuration)
 {
     $configuration->getServicesFormat()->willReturn('xml');
     $configuration->getServicesFolders()->willReturn([]);
     $configuration->getContainerFilePath()->willReturn($this->containerFile);
     $configuration->getCompilerPasses()->willReturn([]);
     $this->beConstructedWith($loader, $containerLoader, $filesystem);
 }
 function let(MageApp $app, Configuration $generatorConfig, StoreConfigCompilerPass $configCompilerPass, InjectableCompilerPass $injectableCompilerPass)
 {
     $generatorConfig->getContainerFilePath()->willReturn('container.php');
     $generatorConfig->getDebug()->willReturn(true);
     $generatorConfig->getServicesFolders()->willReturn(['app/etc']);
     $generatorConfig->getServicesFormat()->willReturn('xml');
     $generatorConfig->getCompilerPasses()->willReturn([]);
     $generatorConfig->isTestEnvironment()->willReturn(false);
     $services = ['app' => $app, 'generatorConfig' => $generatorConfig, 'storeConfigCompilerPass' => $configCompilerPass, 'injectableCompilerPass' => $injectableCompilerPass];
     $this->beConstructedWith($services);
 }
 function it_skips_loading_test_services_if_none_exist(Configuration $configuration, ContainerBuilder $containerBuilder, DelegatingLoaderFactory $delegatingLoaderFactory, DelegatingLoader $delegatingLoader, Filesystem $filesystem)
 {
     $configuration->getServicesFolders()->willReturn(['etc1']);
     $configuration->isTestEnvironment()->willReturn(true);
     $delegatingLoaderFactory->create($containerBuilder, 'etc1')->willReturn($delegatingLoader);
     $filesystem->exists('etc1/services.xml')->willReturn(true);
     $filesystem->exists('etc1/services_test.xml')->willReturn(false);
     $this->loadContainer($configuration)->shouldReturnAnInstanceOf(Container::class);
     $delegatingLoader->load('services.xml')->shouldHaveBeenCalled();
     $delegatingLoader->load('services_test.xml')->shouldNotHaveBeenCalled();
 }
 function let(Configuration $generatorConfig)
 {
     $generatorConfig->getContainerFilePath()->willReturn('container.php');
     $generatorConfig->getDebug()->willReturn(true);
     $generatorConfig->getServicesFolders()->willReturn(['app/etc']);
     $generatorConfig->getServicesFormat()->willReturn('xml');
     $generatorConfig->getCompilerPasses()->willReturn([]);
     $generatorConfig->isTestEnvironment()->willReturn(false);
     $services = ['generatorConfig' => $generatorConfig];
     $this->beConstructedWith($services);
 }
 /**
  * @param Configuration $configuration
  */
 public function configure(Configuration $configuration)
 {
     $this->serviceConfigs = $configuration->getServicesFolders();
     $this->servicesFormat = $configuration->getServicesFormat();
     $this->isTestEnvironment = $configuration->isTestEnvironment();
 }