Skip to content

Commit

Permalink
Fix PHP MD tests
Browse files Browse the repository at this point in the history
  • Loading branch information
maximehuran committed Jun 18, 2024
1 parent d89e2ab commit 6224335
Show file tree
Hide file tree
Showing 11 changed files with 42 additions and 38 deletions.
13 changes: 5 additions & 8 deletions phpstan.neon
Original file line number Diff line number Diff line change
@@ -1,18 +1,15 @@
includes:
- vendor/phpstan/phpstan-doctrine/extension.neon
- vendor/phpstan/phpstan-webmozart-assert/extension.neon

parameters:
level: max
paths:
- %rootDir%/src/

checkMissingIterableValueType: false

excludes_analyse:
excludePaths:
# Makes PHPStan crash
- 'src/DependencyInjection/Configuration.php'
- 'src/DependencyInjection/MonsieurBizSyliusMenuExtension.php'

# Test dependencies
- 'tests/Application/**/*'

ignoreErrors:
- identifier: missingType.generics
- identifier: missingType.iterableValue
3 changes: 3 additions & 0 deletions src/Controller/MenuItemResourceController.php
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,9 @@ private function getNewIndex(int $index, int $max, string $direction): int
return $indexToGo;
}

/**
* @return MenuItemInterface[]
*/
private function getItems(MenuItemInterface $resource): array
{
$items = [];
Expand Down
35 changes: 22 additions & 13 deletions src/DependencyInjection/MonsieurBizSyliusMenuExtension.php
Original file line number Diff line number Diff line change
Expand Up @@ -19,11 +19,14 @@
use Symfony\Component\DependencyInjection\Extension\Extension;
use Symfony\Component\DependencyInjection\Extension\PrependExtensionInterface;
use Symfony\Component\DependencyInjection\Loader\YamlFileLoader;
use Sylius\Bundle\CoreBundle\DependencyInjection\PrependDoctrineMigrationsTrait;

final class MonsieurBizSyliusMenuExtension extends Extension implements PrependExtensionInterface
{
use PrependDoctrineMigrationsTrait;

/**
* @inheritdoc
* @SuppressWarnings(PHPMD.UnusedFormalParameter)
*/
public function load(array $config, ContainerBuilder $container): void
{
Expand All @@ -32,24 +35,30 @@ public function load(array $config, ContainerBuilder $container): void
$container->registerForAutoconfiguration(UrlProviderInterface::class)->addTag('monsieurbiz_menu.url_provider');
}

/**
* @inheritdoc
*/
public function getAlias(): string
{
return str_replace('monsieur_biz', 'monsieurbiz', parent::getAlias());
}

/**
* @inheritdoc
*/
public function prepend(ContainerBuilder $container): void
{
$doctrineConfig = $container->getExtensionConfig('doctrine_migrations');
$container->prependExtensionConfig('doctrine_migrations', [
'migrations_paths' => array_merge(array_pop($doctrineConfig)['migrations_paths'] ?? [], [
'MonsieurBiz\SyliusMenuPlugin\Migrations' => '@MonsieurBizSyliusMenuPlugin/Migrations',
]),
]);
$this->prependDoctrineMigrations($container);
}

protected function getMigrationsNamespace(): string
{
return 'MonsieurBiz\SyliusMenuPlugin\Migrations';
}

protected function getMigrationsDirectory(): string
{
return '@MonsieurBizSyliusMenuPlugin/Migrations';
}

protected function getNamespacesOfMigrationsExecutedBefore(): array
{
return [
'Sylius\Bundle\CoreBundle\Migrations',
];
}
}
9 changes: 3 additions & 6 deletions src/Entity/Menu.php
Original file line number Diff line number Diff line change
Expand Up @@ -81,13 +81,10 @@ public function getFirstLevelItems(): array
if (null === $items) {
return [];
}
$filteredItems = $items->filter(function ($item) {
if (!$item->getParent()) {
return $item;
}

return null;
$filteredItems = $items->filter(function (MenuItemInterface $item) {
return !$item->getParent();
})->toArray();

uasort($filteredItems, function ($itemA, $itemB) {
return $itemA->getPosition() <=> $itemB->getPosition();
});
Expand Down
3 changes: 0 additions & 3 deletions src/EventListener/Doctrine/MenuItemListener.php
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,6 @@ final class MenuItemListener
{
private MenuItemRepositoryInterface $menuItemRepository;

/**
* MenuItemListener constructor.
*/
public function __construct(MenuItemRepositoryInterface $menuItemRepository)
{
$this->menuItemRepository = $menuItemRepository;
Expand Down
8 changes: 0 additions & 8 deletions src/Fixture/Factory/MenuFixtureFactory.php
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@
use MonsieurBiz\SyliusMenuPlugin\Entity\MenuItemInterface;
use MonsieurBiz\SyliusMenuPlugin\Entity\MenuItemTranslationInterface;
use Sylius\Bundle\CoreBundle\Fixture\Factory\AbstractExampleFactory;
use Sylius\Component\Product\Generator\SlugGeneratorInterface;
use Sylius\Component\Resource\Factory\FactoryInterface;
use Symfony\Component\OptionsResolver\OptionsResolver;

Expand All @@ -31,23 +30,16 @@ final class MenuFixtureFactory extends AbstractExampleFactory implements MenuFix

private OptionsResolver $optionsResolver;

/**
* @var SlugGeneratorInterface
*/
private $slugGenerator;

/**
* MenuFixtureFactory constructor.
*/
public function __construct(
FactoryInterface $menuFactory,
FactoryInterface $menuItemFactory,
FactoryInterface $menuItemTranslationFactory,
SlugGeneratorInterface $slugGenerator
) {
$this->menuFactory = $menuFactory;
$this->menuItemFactory = $menuItemFactory;
$this->slugGenerator = $slugGenerator;
$this->menuItemTranslationFactory = $menuItemTranslationFactory;
$this->optionsResolver = new OptionsResolver();
$this->configureOptions($this->getOptionsResolver());
Expand Down
4 changes: 4 additions & 0 deletions src/Form/Type/MenuItemType.php
Original file line number Diff line number Diff line change
Expand Up @@ -14,13 +14,15 @@
namespace MonsieurBiz\SyliusMenuPlugin\Form\Type;

use Doctrine\ORM\EntityRepository;
use MonsieurBiz\SyliusMenuPlugin\Entity\MenuItemInterface;
use Sylius\Bundle\ResourceBundle\Form\Type\AbstractResourceType;
use Sylius\Bundle\ResourceBundle\Form\Type\ResourceTranslationsType;
use Symfony\Bridge\Doctrine\Form\Type\EntityType;
use Symfony\Component\Form\Extension\Core\Type\CheckboxType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\Form\FormEvent;
use Symfony\Component\Form\FormEvents;
use Webmozart\Assert\Assert;

final class MenuItemType extends AbstractResourceType
{
Expand All @@ -34,6 +36,8 @@ public function buildForm(FormBuilderInterface $builder, array $options): void
$builder
->addEventListener(FormEvents::PRE_SET_DATA, function (FormEvent $event): void {
$item = $event->getData();
/** @var MenuItemInterface $item */
Assert::isInstanceOf($item, MenuItemInterface::class);
$event->getForm()
->add('parent', EntityType::class, [
'class' => $this->dataClass,
Expand Down
1 change: 1 addition & 0 deletions src/Provider/ProductUrlProvider.php
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,7 @@ protected function getResults(string $locale, string $search = ''): iterable

$queryBuilder->setMaxResults($this->getMaxResults());

/** @phpstan-ignore-next-line */
return $queryBuilder->getQuery()->getResult();
}

Expand Down
1 change: 1 addition & 0 deletions src/Provider/TaxonUrlProvider.php
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,7 @@ protected function getResults(string $locale, string $search = ''): iterable

$queryBuilder->setMaxResults($this->getMaxResults());

/** @phpstan-ignore-next-line */
return $queryBuilder->getQuery()->getResult();
}

Expand Down
2 changes: 2 additions & 0 deletions src/Repository/MenuItemRepository.php
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ public function getLastPositionWithinMenu(MenuInterface $menu): int
->setParameter('menu', $menu)
;

/** @phpstan-ignore-next-line */
return (int) $queryBuilder->getQuery()->getSingleScalarResult();
}

Expand All @@ -50,6 +51,7 @@ public function getLastPositionWithinMenuItem(MenuItemInterface $menuItem): int
->setParameter('parent', $menuItem)
;

/** @phpstan-ignore-next-line */
return (int) $queryBuilder->getQuery()->getSingleScalarResult();
}
}
1 change: 1 addition & 0 deletions src/Repository/MenuRepository.php
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ public function findOneByLocaleAndCode(string $localeCode, string $code): ?MenuI
->setParameter('code', $code)
;

/** @phpstan-ignore-next-line */
return (new MenuTreeHydrator())($queryBuilder->getQuery()->getOneOrNullResult());
}
}

0 comments on commit 6224335

Please sign in to comment.