Skip to content

Commit

Permalink
Add test for Edit package page
Browse files Browse the repository at this point in the history
  • Loading branch information
codedmonkey committed Dec 19, 2024
1 parent 956d31a commit e5e87fc
Show file tree
Hide file tree
Showing 3 changed files with 25 additions and 4 deletions.
4 changes: 3 additions & 1 deletion src/Validator/UniquePackageValidator.php
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,9 @@ public function validate(mixed $value, Constraint $constraint): void
throw new UnexpectedValueException($value, Package::class);
}

if ($this->packageRepository->findOneByName($value->getName())) {
$existingPackage = $this->packageRepository->findOneByName($value->getName());

if ($existingPackage && $existingPackage->getId() !== $value->getId()) {
$this->context->buildViolation('A package with the name ' . $value->getName() . ' already exists.')
->atPath('repositoryUrl')
->addViolation();
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?php

namespace CodedMonkey\Dirigent\Tests\FunctionalTests\Controller;
namespace CodedMonkey\Dirigent\Tests\FunctionalTests;

use CodedMonkey\Dirigent\Tests\PublicKernel;
use Symfony\Bundle\FrameworkBundle\Test\KernelTestCase;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?php

namespace CodedMonkey\Dirigent\Tests\FunctionalTests\Controller\Dashboard;
namespace CodedMonkey\Dirigent\Tests\FunctionalTests;

use CodedMonkey\Dirigent\Doctrine\Entity\User;
use CodedMonkey\Dirigent\Doctrine\Repository\PackageRepository;
Expand All @@ -25,12 +25,31 @@ public function testAddVcsRepository(): void
'package_add_vcs_form[repositoryUrl]' => 'https://github.com/php-fig/container',
]);

$this->assertResponseStatusCodeSame(302);

/** @var PackageRepository $packageRepository */
$packageRepository = $client->getContainer()->get(PackageRepository::class);

$package = $packageRepository->findOneByName('psr/container');
self::assertNotNull($package);
self::assertNotNull($package, 'A package was created');

$packageRepository->remove($package, true);
}

public function testEdit(): void
{
$client = static::createClient();

/** @var UserRepository $userRepository */
$userRepository = $client->getContainer()->get(UserRepository::class);

/** @var User $user */
$user = $userRepository->findOneByUsername('owner');
$client->loginUser($user);

$client->request('GET', '/?routeName=dashboard_packages_edit&routeParams[packageName]=psr/log');
$client->submitForm('Save changes');

$this->assertResponseStatusCodeSame(302);
}
}

0 comments on commit e5e87fc

Please sign in to comment.