/**
  * @param callable $onBeforeIndex TODO Add typehint when migrating to 5.4+
  * @param array $orderBys
  *
  * @return array
  */
 protected function commonTestSearchActionOrderBysAction($onBeforeIndex, array $orderBys = array())
 {
     $client = self::createClient();
     $container = $client->getContainer();
     $kernelRootDir = $container->getParameter('kernel.root_dir');
     $this->executeCommand('php ' . $kernelRootDir . '/console doctrine:database:drop --env=test --force', false);
     $this->executeCommand('php ' . $kernelRootDir . '/console doctrine:database:create --env=test');
     $this->executeCommand('php ' . $kernelRootDir . '/console doctrine:schema:create --env=test');
     $this->executeCommand('php ' . $kernelRootDir . '/console redis:flushall --env=test -n');
     $lock = $container->getParameter('kernel.cache_dir') . '/composer-indexer.lock';
     $this->executeCommand('rm -f ' . $lock);
     $em = $container->get('doctrine')->getManager();
     if (!empty($orderBys)) {
         $orderBysQryStrPart = '&' . http_build_query(array('orderBys' => $orderBys));
     } else {
         $orderBysQryStrPart = '';
     }
     $twigPackage = new Package();
     $twigPackage->setName('twig/twig');
     $twigPackage->setRepository('https://github.com/twig/twig');
     $packagistPackage = new Package();
     $packagistPackage->setName('composer/packagist');
     $packagistPackage->setRepository('https://github.com/composer/packagist');
     $symfonyPackage = new Package();
     $symfonyPackage->setName('symfony/symfony');
     $symfonyPackage->setRepository('https://github.com/symfony/symfony');
     $em->persist($twigPackage);
     $em->persist($packagistPackage);
     $em->persist($symfonyPackage);
     $em->flush();
     $onBeforeIndex($container, $twigPackage, $packagistPackage, $symfonyPackage);
     $this->executeCommand('php ' . $kernelRootDir . '/console packagist:index --env=test --force');
     $client->request('GET', '/search.json?q=' . $orderBysQryStrPart);
     $response = $client->getResponse();
     $content = $client->getResponse()->getContent();
     $this->assertSame(200, $response->getStatusCode(), $content);
     return json_decode($content, true);
 }
Beispiel #2
0
 protected function initializePackages(ContainerInterface $container)
 {
     $kernelRootDir = $container->getParameter('kernel.root_dir');
     $this->executeCommand('php ' . $kernelRootDir . '/console doctrine:database:drop --env=test --force', false);
     $this->executeCommand('php ' . $kernelRootDir . '/console doctrine:database:create --env=test');
     $this->executeCommand('php ' . $kernelRootDir . '/console doctrine:schema:create --env=test');
     $this->executeCommand('php ' . $kernelRootDir . '/console redis:flushall --env=test -n');
     $em = $container->get('doctrine')->getManager();
     $twigPackage = new Package();
     $twigPackage->setName('twig/twig');
     $twigPackage->setRepository('https://github.com/twig/twig');
     $packagistPackage = new Package();
     $packagistPackage->setName('composer/packagist');
     $packagistPackage->setRepository('https://github.com/composer/packagist');
     $symfonyPackage = new Package();
     $symfonyPackage->setName('symfony/symfony');
     $symfonyPackage->setRepository('https://github.com/symfony/symfony');
     $em->persist($twigPackage);
     $em->persist($packagistPackage);
     $em->persist($symfonyPackage);
     $em->flush();
     return [$twigPackage, $packagistPackage, $symfonyPackage];
 }