add_vendor #2

Merged
lubiana merged 2 commits from add_vendor into main 2024-06-10 19:01:35 +00:00
9 changed files with 50 additions and 32 deletions
Showing only changes of commit 7663f684a4 - Show all commits

View file

@ -1,9 +1,25 @@
<?php <?php declare(strict_types=1);
use Doctrine\Bundle\DoctrineBundle\DoctrineBundle;
use Doctrine\Bundle\MigrationsBundle\DoctrineMigrationsBundle;
use Symfony\Bundle\FrameworkBundle\FrameworkBundle;
use Symfony\Bundle\MakerBundle\MakerBundle;
use Symfony\Bundle\TwigBundle\TwigBundle;
return [ return [
Symfony\Bundle\FrameworkBundle\FrameworkBundle::class => ['all' => true], FrameworkBundle::class => [
Symfony\Bundle\MakerBundle\MakerBundle::class => ['dev' => true], 'all' => true,
Doctrine\Bundle\DoctrineBundle\DoctrineBundle::class => ['all' => true], ],
Doctrine\Bundle\MigrationsBundle\DoctrineMigrationsBundle::class => ['all' => true], MakerBundle::class => [
Symfony\Bundle\TwigBundle\TwigBundle::class => ['all' => true], 'dev' => true,
],
DoctrineBundle::class => [
'all' => true,
],
DoctrineMigrationsBundle::class => [
'all' => true,
],
TwigBundle::class => [
'all' => true,
],
]; ];

View file

@ -1,6 +1,4 @@
<?php <?php declare(strict_types=1);
declare(strict_types=1);
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator; use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;

View file

@ -1,6 +1,4 @@
<?php <?php declare(strict_types=1);
declare(strict_types=1);
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator; use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;

View file

@ -1,4 +1,4 @@
<?php <?php declare(strict_types=1);
namespace App\Controller; namespace App\Controller;
@ -12,7 +12,7 @@ use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Attribute\Route; use Symfony\Component\Routing\Attribute\Route;
#[Route('/food/vendor')] #[Route('/food/vendor')]
class FoodVendorController extends AbstractController final class FoodVendorController extends AbstractController
{ {
#[Route('/', name: 'app_food_vendor_index', methods: ['GET'])] #[Route('/', name: 'app_food_vendor_index', methods: ['GET'])]
public function index(FoodVendorRepository $foodVendorRepository): Response public function index(FoodVendorRepository $foodVendorRepository): Response
@ -25,7 +25,7 @@ class FoodVendorController extends AbstractController
#[Route('/new', name: 'app_food_vendor_new', methods: ['GET', 'POST'])] #[Route('/new', name: 'app_food_vendor_new', methods: ['GET', 'POST'])]
public function new(Request $request, EntityManagerInterface $entityManager): Response public function new(Request $request, EntityManagerInterface $entityManager): Response
{ {
$foodVendor = new FoodVendor(); $foodVendor = new FoodVendor;
$form = $this->createForm(FoodVendorType::class, $foodVendor); $form = $this->createForm(FoodVendorType::class, $foodVendor);
$form->handleRequest($request); $form->handleRequest($request);
@ -71,7 +71,7 @@ class FoodVendorController extends AbstractController
#[Route('/{id}', name: 'app_food_vendor_delete', methods: ['POST'])] #[Route('/{id}', name: 'app_food_vendor_delete', methods: ['POST'])]
public function delete(Request $request, FoodVendor $foodVendor, EntityManagerInterface $entityManager): Response public function delete(Request $request, FoodVendor $foodVendor, EntityManagerInterface $entityManager): Response
{ {
if ($this->isCsrfTokenValid('delete'.$foodVendor->getId(), $request->getPayload()->getString('_token'))) { if ($this->isCsrfTokenValid('delete' . $foodVendor->getId(), $request->getPayload()->getString('_token'))) {
$entityManager->remove($foodVendor); $entityManager->remove($foodVendor);
$entityManager->flush(); $entityManager->flush();
} }

View file

@ -1,4 +1,4 @@
<?php <?php declare(strict_types=1);
namespace App\Entity; namespace App\Entity;
@ -18,14 +18,14 @@ class FoodVendor
private Ulid|null $id = null; private Ulid|null $id = null;
#[ORM\Column(length: 50)] #[ORM\Column(length: 50)]
private ?string $name = null; private string|null $name = null;
public function getId(): ?Ulid public function getId(): Ulid|null
{ {
return $this->id; return $this->id;
} }
public function getName(): ?string public function getName(): string|null
{ {
return $this->name; return $this->name;
} }

View file

@ -1,14 +1,16 @@
<?php <?php declare(strict_types=1);
namespace App\Form; namespace App\Form;
use App\Entity\FoodVendor; use App\Entity\FoodVendor;
use Override;
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;
class FoodVendorType extends AbstractType final class FoodVendorType extends AbstractType
{ {
#[Override]
public function buildForm(FormBuilderInterface $builder, array $options): void public function buildForm(FormBuilderInterface $builder, array $options): void
{ {
$builder $builder
@ -16,6 +18,7 @@ class FoodVendorType extends AbstractType
; ;
} }
#[Override]
public function configureOptions(OptionsResolver $resolver): void public function configureOptions(OptionsResolver $resolver): void
{ {
$resolver->setDefaults([ $resolver->setDefaults([

View file

@ -1,4 +1,4 @@
<?php <?php declare(strict_types=1);
namespace App\Repository; namespace App\Repository;
@ -9,7 +9,7 @@ use Doctrine\Persistence\ManagerRegistry;
/** /**
* @extends ServiceEntityRepository<FoodVendor> * @extends ServiceEntityRepository<FoodVendor>
*/ */
class FoodVendorRepository extends ServiceEntityRepository final class FoodVendorRepository extends ServiceEntityRepository
{ {
public function __construct(ManagerRegistry $registry) public function __construct(ManagerRegistry $registry)
{ {

View file

@ -1,16 +1,18 @@
<?php <?php declare(strict_types=1);
namespace App\Test\Controller; namespace App\Test\Controller;
use App\Entity\FoodVendor; use App\Entity\FoodVendor;
use App\Kernel;
use Doctrine\ORM\EntityManagerInterface; use Doctrine\ORM\EntityManagerInterface;
use Doctrine\ORM\EntityRepository; use Doctrine\ORM\EntityRepository;
use Doctrine\ORM\Tools\SchemaTool; use Doctrine\ORM\Tools\SchemaTool;
use Override;
use Symfony\Bundle\FrameworkBundle\KernelBrowser; use Symfony\Bundle\FrameworkBundle\KernelBrowser;
use Symfony\Bundle\FrameworkBundle\Test\WebTestCase; use Symfony\Bundle\FrameworkBundle\Test\WebTestCase;
class FoodVendorControllerTest extends WebTestCase use function sprintf;
final class FoodVendorControllerTest extends WebTestCase
{ {
private KernelBrowser $client; private KernelBrowser $client;
private EntityManagerInterface $manager; private EntityManagerInterface $manager;
@ -22,6 +24,8 @@ class FoodVendorControllerTest extends WebTestCase
(new SchemaTool($this->manager)) (new SchemaTool($this->manager))
->createSchema($this->manager->getMetadataFactory()->getAllMetadata()); ->createSchema($this->manager->getMetadataFactory()->getAllMetadata());
} }
#[Override]
protected function setUp(): void protected function setUp(): void
{ {
$this->client = static::createClient(); $this->client = static::createClient();
@ -38,7 +42,7 @@ class FoodVendorControllerTest extends WebTestCase
public function testIndex(): void public function testIndex(): void
{ {
$crawler = $this->client->request('GET', $this->path); $this->client->request('GET', $this->path);
self::assertResponseStatusCodeSame(200); self::assertResponseStatusCodeSame(200);
self::assertPageTitleContains('FoodVendor index'); self::assertPageTitleContains('FoodVendor index');
@ -66,7 +70,7 @@ class FoodVendorControllerTest extends WebTestCase
public function testShow(): void public function testShow(): void
{ {
$this->markTestIncomplete(); $this->markTestIncomplete();
$fixture = new FoodVendor(); $fixture = new FoodVendor;
$fixture->setName('My Title'); $fixture->setName('My Title');
$this->manager->persist($fixture); $this->manager->persist($fixture);
@ -83,7 +87,7 @@ class FoodVendorControllerTest extends WebTestCase
public function testEdit(): void public function testEdit(): void
{ {
$this->markTestIncomplete(); $this->markTestIncomplete();
$fixture = new FoodVendor(); $fixture = new FoodVendor;
$fixture->setName('Value'); $fixture->setName('Value');
$this->manager->persist($fixture); $this->manager->persist($fixture);
@ -105,7 +109,7 @@ class FoodVendorControllerTest extends WebTestCase
public function testRemove(): void public function testRemove(): void
{ {
$this->markTestIncomplete(); $this->markTestIncomplete();
$fixture = new FoodVendor(); $fixture = new FoodVendor;
$fixture->setName('Value'); $fixture->setName('Value');
$this->manager->persist($fixture); $this->manager->persist($fixture);

View file

@ -1,6 +1,5 @@
<?php declare(strict_types=1); <?php declare(strict_types=1);
use Symfony\Component\Console\Input\ArrayInput;
use Symfony\Component\Dotenv\Dotenv; use Symfony\Component\Dotenv\Dotenv;
require dirname(__DIR__) . '/vendor/autoload.php'; require dirname(__DIR__) . '/vendor/autoload.php';