Continuous Integration Fixes
This commit is contained in:
parent
0aa25d107b
commit
7fb0614db4
5 changed files with 22 additions and 16 deletions
|
@ -4,18 +4,15 @@ namespace App\Form;
|
||||||
|
|
||||||
use App\Entity\MenuItem;
|
use App\Entity\MenuItem;
|
||||||
use App\Repository\MenuItemRepository;
|
use App\Repository\MenuItemRepository;
|
||||||
use Doctrine\DBAL\Types\TextType;
|
|
||||||
use Doctrine\ORM\QueryBuilder;
|
use Doctrine\ORM\QueryBuilder;
|
||||||
use Override;
|
use Override;
|
||||||
use Symfony\Bridge\Doctrine\Form\Type\EntityType;
|
use Symfony\Bridge\Doctrine\Form\Type\EntityType;
|
||||||
use Symfony\Bridge\Doctrine\Types\UlidType;
|
|
||||||
use Symfony\Component\Form\AbstractType;
|
use Symfony\Component\Form\AbstractType;
|
||||||
use Symfony\Component\Form\FormBuilderInterface;
|
use Symfony\Component\Form\FormBuilderInterface;
|
||||||
use Symfony\Component\OptionsResolver\OptionsResolver;
|
use Symfony\Component\OptionsResolver\OptionsResolver;
|
||||||
use Symfony\Component\Uid\Ulid;
|
use Symfony\Component\Validator\Constraints\Length;
|
||||||
|
|
||||||
use Symfony\Component\Validator\Constraints\NotBlank;
|
use Symfony\Component\Validator\Constraints\NotBlank;
|
||||||
use function array_map;
|
|
||||||
use function assert;
|
use function assert;
|
||||||
|
|
||||||
final class MenuItemType extends AbstractType
|
final class MenuItemType extends AbstractType
|
||||||
|
@ -28,16 +25,18 @@ final class MenuItemType extends AbstractType
|
||||||
|
|
||||||
$builder->add('name', \Symfony\Component\Form\Extension\Core\Type\TextType::class, [
|
$builder->add('name', \Symfony\Component\Form\Extension\Core\Type\TextType::class, [
|
||||||
'constraints' => [
|
'constraints' => [
|
||||||
new NotBlank(),
|
new NotBlank,
|
||||||
new \Symfony\Component\Validator\Constraints\Length(['min' => 3]),
|
new Length([
|
||||||
]
|
'min' => 3,
|
||||||
|
]),
|
||||||
|
],
|
||||||
]);
|
]);
|
||||||
$builder->add('aliases', EntityType::class, [
|
$builder->add('aliases', EntityType::class, [
|
||||||
'class' => MenuItem::class,
|
'class' => MenuItem::class,
|
||||||
'choice_label' => 'name',
|
'choice_label' => 'name',
|
||||||
'multiple' => true,
|
'multiple' => true,
|
||||||
'expanded' => true,
|
'expanded' => true,
|
||||||
'query_builder' => static fn (MenuItemRepository $repository): QueryBuilder
|
'query_builder' => static fn(MenuItemRepository $repository): QueryBuilder
|
||||||
=> $repository->getSuitableAliasQueryBuilder($item),
|
=> $repository->getSuitableAliasQueryBuilder($item),
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
|
@ -7,6 +7,9 @@ use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository;
|
||||||
use Doctrine\Persistence\ManagerRegistry;
|
use Doctrine\Persistence\ManagerRegistry;
|
||||||
use Symfony\Bridge\Doctrine\Types\UlidType;
|
use Symfony\Bridge\Doctrine\Types\UlidType;
|
||||||
use Symfony\Component\Uid\Ulid;
|
use Symfony\Component\Uid\Ulid;
|
||||||
|
use Doctrine\ORM\QueryBuilder;
|
||||||
|
|
||||||
|
use function array_map;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @extends ServiceEntityRepository<MenuItem>
|
* @extends ServiceEntityRepository<MenuItem>
|
||||||
|
@ -18,7 +21,7 @@ final class MenuItemRepository extends ServiceEntityRepository
|
||||||
parent::__construct($registry, MenuItem::class);
|
parent::__construct($registry, MenuItem::class);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getSuitableAliasQueryBuilder(MenuItem $menuItem): \Doctrine\ORM\QueryBuilder
|
public function getSuitableAliasQueryBuilder(MenuItem $menuItem): QueryBuilder
|
||||||
{
|
{
|
||||||
$ids = $this->createQueryBuilder('m')
|
$ids = $this->createQueryBuilder('m')
|
||||||
->select('DISTINCT IDENTITY(m.aliasOf)')
|
->select('DISTINCT IDENTITY(m.aliasOf)')
|
||||||
|
|
|
@ -9,7 +9,6 @@ use Override;
|
||||||
|
|
||||||
use function sprintf;
|
use function sprintf;
|
||||||
|
|
||||||
|
|
||||||
final class FoodVendorControllerTest extends DbWebTest
|
final class FoodVendorControllerTest extends DbWebTest
|
||||||
{
|
{
|
||||||
private string $path = '/food/vendor/';
|
private string $path = '/food/vendor/';
|
||||||
|
@ -33,11 +32,12 @@ final class FoodVendorControllerTest extends DbWebTest
|
||||||
'food_vendor[name]' => 'TestingNew',
|
'food_vendor[name]' => 'TestingNew',
|
||||||
]);
|
]);
|
||||||
|
|
||||||
$newVendor = $this->repository->findOneBy(['name' => 'TestingNew']);
|
$newVendor = $this->repository->findOneBy([
|
||||||
|
'name' => 'TestingNew',
|
||||||
|
]);
|
||||||
$this->assertInstanceof(FoodVendor::class, $newVendor);
|
$this->assertInstanceof(FoodVendor::class, $newVendor);
|
||||||
self::assertSame(1, $this->repository->count([]));
|
self::assertSame(1, $this->repository->count([]));
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testShow(): void
|
public function testShow(): void
|
||||||
|
|
|
@ -37,12 +37,14 @@ final class MenuItemControllerTest extends DbWebTest
|
||||||
$this->aliasOne = new MenuItem;
|
$this->aliasOne = new MenuItem;
|
||||||
$this->aliasOne->setName('AliasOne');
|
$this->aliasOne->setName('AliasOne');
|
||||||
$this->aliasOne->setFoodVendor($this->vendor);
|
$this->aliasOne->setFoodVendor($this->vendor);
|
||||||
|
|
||||||
$this->menuItem->addAlias($this->aliasOne);
|
$this->menuItem->addAlias($this->aliasOne);
|
||||||
|
|
||||||
$this->aliasTwo = new MenuItem;
|
$this->aliasTwo = new MenuItem;
|
||||||
$this->aliasTwo->setName('AliasTwo');
|
$this->aliasTwo->setName('AliasTwo');
|
||||||
$this->aliasTwo->setFoodVendor($this->vendor);
|
$this->aliasTwo->setFoodVendor($this->vendor);
|
||||||
$this->aliasTwo->setAliasOf($this->menuItem);
|
$this->aliasTwo->setAliasOf($this->menuItem);
|
||||||
|
|
||||||
$this->menuItem->addAlias($this->aliasTwo);
|
$this->menuItem->addAlias($this->aliasTwo);
|
||||||
|
|
||||||
$this->manager->persist($this->aliasOne);
|
$this->manager->persist($this->aliasOne);
|
||||||
|
@ -91,7 +93,8 @@ final class MenuItemControllerTest extends DbWebTest
|
||||||
$nameElem->attr('value')
|
$nameElem->attr('value')
|
||||||
);
|
);
|
||||||
|
|
||||||
$form = $crawler->selectButton('Update')->form();
|
$form = $crawler->selectButton('Update')
|
||||||
|
->form();
|
||||||
$form['menu_item[name]'] = 'Testing-1';
|
$form['menu_item[name]'] = 'Testing-1';
|
||||||
$form['menu_item[aliases]'][0]->untick();
|
$form['menu_item[aliases]'][0]->untick();
|
||||||
|
|
||||||
|
@ -114,7 +117,8 @@ final class MenuItemControllerTest extends DbWebTest
|
||||||
$nameElem->attr('value')
|
$nameElem->attr('value')
|
||||||
);
|
);
|
||||||
|
|
||||||
$form = $crawler->selectButton('Update')->form();
|
$form = $crawler->selectButton('Update')
|
||||||
|
->form();
|
||||||
$form['menu_item[name]'] = 'a';
|
$form['menu_item[name]'] = 'a';
|
||||||
|
|
||||||
$this->client->submit($form);
|
$this->client->submit($form);
|
||||||
|
@ -122,7 +126,6 @@ final class MenuItemControllerTest extends DbWebTest
|
||||||
self::assertResponseStatusCodeSame(422);
|
self::assertResponseStatusCodeSame(422);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public function testDelete(): void
|
public function testDelete(): void
|
||||||
{
|
{
|
||||||
$order = new FoodOrder;
|
$order = new FoodOrder;
|
||||||
|
|
|
@ -36,6 +36,7 @@ final class MenuItemTest extends TestCase
|
||||||
|
|
||||||
$vendor = new FoodVendor;
|
$vendor = new FoodVendor;
|
||||||
$vendor->setName('Test');
|
$vendor->setName('Test');
|
||||||
|
|
||||||
$item->setFoodVendor($vendor);
|
$item->setFoodVendor($vendor);
|
||||||
|
|
||||||
$item2 = new MenuItem;
|
$item2 = new MenuItem;
|
||||||
|
|
Loading…
Add table
Reference in a new issue