Skip to content

Commit

Permalink
SF 5.x Remove usage of ValidatorBuilderInterface in Naucon/Form (#16)
Browse files Browse the repository at this point in the history
Update to Symfony 5 components
  • Loading branch information
ahaskioglu-valiton committed May 29, 2024
1 parent 20276ee commit d43b270
Show file tree
Hide file tree
Showing 25 changed files with 118 additions and 116 deletions.
20 changes: 1 addition & 19 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,24 +3,6 @@ name: CI
on: [push, pull_request]

jobs:
build-test-71:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v2

- uses: php-actions/composer@v6
with:
version: 1
php_version: "7.1"

- name: PHPUnit Tests
uses: php-actions/phpunit@v3
with:
version: 7
php_version: "7.1"
configuration: phpunit.xml.dist
bootstrap: vendor/autoload.php
build-test-74:
runs-on: ubuntu-latest

Expand All @@ -35,7 +17,7 @@ jobs:
- name: PHPUnit Tests
uses: php-actions/phpunit@v3
with:
version: 7
version: 9
php_version: "7.4"
configuration: phpunit.xml.dist
bootstrap: vendor/autoload.php
14 changes: 0 additions & 14 deletions .travis.yml

This file was deleted.

24 changes: 12 additions & 12 deletions composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,26 +11,26 @@
}
],
"require": {
"php": "^7.1",
"php": ">=7.3",
"psr/log": "~1.0",
"doctrine/annotations": "^1.0",
"doctrine/cache": "^1.0",
"naucon/utility": "~1.0",
"naucon/htmlbuilder": "~1.0",
"symfony/validator": "^3.2 || ^4.0",
"symfony/property-access": "^3.2 || ^4.0",
"symfony/security-csrf": "^3.2 || ^4.0",
"symfony/event-dispatcher": "^3.2 || ^4.0",
"symfony/finder": "^3.2 || ^4.0",
"symfony/options-resolver": "^3.2 || ^4.0",
"symfony/translation": "^3.2 || ^4.0",
"symfony/yaml": "^3.2 || ^4.0"
"symfony/validator": "^3.2 || ^4.0 || ^5.0",
"symfony/property-access": "^3.2 || ^4.0 || ^5.0",
"symfony/security-csrf": "^3.2 || ^4.0 || ^5.0",
"symfony/event-dispatcher": "^3.2 || ^4.0 || ^5.0",
"symfony/finder": "^3.2 || ^4.0 || ^5.0",
"symfony/options-resolver": "^3.2 || ^4.0 || ^5.0",
"symfony/translation": "^3.2 || ^4.0 || ^5.0",
"symfony/yaml": "^3.2 || ^4.0 || ^5.0"
},
"require-dev": {
"symfony/intl": "^3.2 || ^4.0",
"symfony/config": "^3.2 || ^4.0",
"symfony/intl": "^3.2 || ^4.0 || ^5.0",
"symfony/config": "^3.2 || ^4.0 || ^5.0",
"naucon/iban": "~1.0",
"phpunit/phpunit": "^7.0",
"phpunit/phpunit": "^9.0",
"twig/twig" : "^2.4"
},
"suggest": {
Expand Down
6 changes: 3 additions & 3 deletions src/Security/SynchronizerTokenBridge.php
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
class SynchronizerTokenBridge implements SynchronizerTokenInterface
{
/**
* @var \Symfony\Component\Security\Csrf\CsrfTokenManagerInterface synchronizer token handler
* @var BaseCsrfTokenManagerInterface synchronizer token handler
*/
protected $handler = null;

Expand All @@ -32,7 +32,7 @@ class SynchronizerTokenBridge implements SynchronizerTokenInterface
/**
* Constructor
*
* @param \Symfony\Component\Security\Csrf\CsrfTokenManagerInterface $handler optional synchronizer token handler
* @param BaseCsrfTokenManagerInterface $handler optional synchronizer token handler
*/
public function __construct(BaseCsrfTokenManagerInterface $handler=null)
{
Expand All @@ -45,7 +45,7 @@ public function __construct(BaseCsrfTokenManagerInterface $handler=null)


/**
* @return \Symfony\Component\Security\Csrf\CsrfTokenManagerInterface synchronizer token handler
* @return BaseCsrfTokenManagerInterface synchronizer token handler
*/
protected function getHandler()
{
Expand Down
10 changes: 5 additions & 5 deletions src/Translator/TranslatorBridge.php
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
*/
namespace Naucon\Form\Translator;

use Symfony\Component\Translation\TranslatorInterface as BaseTranslatorInterface;
use Symfony\Contracts\Translation\TranslatorInterface as BaseTranslatorInterface;

/**
* Translator Bridge to Symfony Translator Component
Expand All @@ -21,30 +21,30 @@
class TranslatorBridge implements TranslatorInterface
{
/**
* @var \Symfony\Component\Translation\TranslatorInterface translator handler
* @var TranslatorInterface translator handler
*/
protected $handler;

/**
* Constructor
*
* @param \Symfony\Component\Translation\TranslatorInterface $handler translator handler
* @param TranslatorInterface $handler translator handler
*/
public function __construct(BaseTranslatorInterface $handler)
{
$this->setHandler($handler);
}

/**
* @return \Symfony\Component\Translation\TranslatorInterface translator handler
* @return TranslatorInterface translator handler
*/
protected function getHandler()
{
return $this->handler;
}

/**
* @param \Symfony\Component\Translation\TranslatorInterface $handler translator handler
* @param TranslatorInterface $handler translator handler
*/
protected function setHandler(BaseTranslatorInterface $handler)
{
Expand Down
2 changes: 1 addition & 1 deletion src/Translator/TranslatorInterface.php
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
*/
namespace Naucon\Form\Translator;

use Symfony\Component\Translation\TranslatorInterface as BaseTranslatorInterface;
use Symfony\Contracts\Translation\TranslatorInterface as BaseTranslatorInterface;

/**
* Translator Interface
Expand Down
6 changes: 3 additions & 3 deletions src/Validator/Validator.php
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@

use Symfony\Component\Finder\Finder;
use Symfony\Component\Validator\Validation as BaseValidation;
use Symfony\Component\Validator\ValidatorBuilderInterface as BaseValidatorBuilderInterface;
use Symfony\Component\Validator\ValidatorBuilder;
use Naucon\Form\Configuration;
use Naucon\Form\Translator\TranslatorInterface;

Expand Down Expand Up @@ -58,10 +58,10 @@ public function __construct(Configuration $configuration, TranslatorInterface $t
/**
* add validation mapping
*
* @param \Symfony\Component\Validator\ValidatorBuilderInterface $builder
* @param ValidatorBuilder $builder
* @param string|array $dirs A directory path or an array of directories
*/
public function addValidationMapping(BaseValidatorBuilderInterface $builder, $dirs)
public function addValidationMapping(ValidatorBuilder $builder, $dirs)
{
if (empty($dirs)) {
return;
Expand Down
15 changes: 8 additions & 7 deletions src/Validator/ValidatorBridge.php
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,10 @@
*/
namespace Naucon\Form\Validator;

use Symfony\Component\Validator\ConstraintViolationInterface;
use Symfony\Component\Validator\Validator\ValidatorInterface as BaseValidatorInterface;
use Symfony\Component\Validator\Validation as BaseValidator;
use Symfony\Component\Translation\TranslatorInterface as BaseTranslatorInterface;
use Symfony\Contracts\Translation\TranslatorInterface as BaseTranslatorInterface;
use Naucon\Form\Exception\InvalidArgumentException;
use Naucon\Form\Utility\Utility;

Expand All @@ -25,16 +26,16 @@
class ValidatorBridge implements ValidatorInterface
{
/**
* @var \Symfony\Component\Validator\Validator\ValidatorInterface validator handler
* @var BaseValidatorInterface validator handler
*/
protected $handler = null;


/**
* Constructor
*
* @param \Symfony\Component\Validator\Validator\ValidatorInterface $handler validator handler
* @param \Symfony\Component\Translation\TranslatorInterface $translator translator handler
* @param BaseValidatorInterface|null $handler validator handler
* @param BaseTranslatorInterface|null $translator translator handler
*/
public function __construct(BaseValidatorInterface $handler=null, BaseTranslatorInterface $translator=null)
{
Expand All @@ -54,15 +55,15 @@ public function __construct(BaseValidatorInterface $handler=null, BaseTranslator


/**
* @return \Symfony\Component\Validator\Validator\ValidatorInterface validator handler
* @return BaseValidatorInterface validator handler
*/
protected function getHandler()
{
return $this->handler;
}

/**
* @param \Symfony\Component\Validator\Validator\ValidatorInterface $handler validator handler
* @param BaseValidatorInterface $handler validator handler
*/
protected function setHandler(BaseValidatorInterface $handler)
{
Expand All @@ -89,7 +90,7 @@ public function validate($entity, $constraints = null, $groups = null)
$violations = $this->getHandler()->validate($entity, $constraints, $groups);

/**
* @var \Symfony\Component\Validator\ConstraintViolationInterface $violation
* @var ConstraintViolationInterface $violation
*/
foreach ($violations as $violation) {
$propertyName = Utility::normilizeName($violation->getPropertyPath());
Expand Down
2 changes: 1 addition & 1 deletion tests/ConfigurationTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@

class ConfigurationTest extends TestCase
{
public function configProvider()
public function configProvider(): array
{
return array(
array(
Expand Down
24 changes: 18 additions & 6 deletions tests/FormCollectionHelperTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
use Naucon\Form\Tests\Entities\CreditCard;
use Naucon\Form\Tests\Entities\DirectDebit;
use Naucon\Form\Security\SynchronizerTokenBridge;
use PHPUnit\Framework\MockObject\MockObject;
use PHPUnit\Framework\TestCase;
use Symfony\Component\Security\Csrf\CsrfTokenManager;
use Symfony\Component\Security\Csrf\TokenGenerator\TokenGeneratorInterface;
Expand All @@ -23,7 +24,7 @@
class FormCollectionHelperTest extends TestCase
{
/**
* @var TokenGeneratorInterface|\PHPUnit_Framework_MockObject_MockObject
* @var TokenGeneratorInterface|MockObject
*/
private $generator;

Expand All @@ -33,11 +34,11 @@ class FormCollectionHelperTest extends TestCase
private $manager;

/**
* @var TokenStorageInterface|\PHPUnit_Framework_MockObject_MockObject
* @var TokenStorageInterface|MockObject
*/
private $storage;

protected function setUp()
protected function setUp(): void
{
$this->generator = $this->getMockBuilder(TokenGeneratorInterface::class)->getMock();
$this->storage = $this->getMockBuilder(TokenStorageInterface::class)->getMock();
Expand All @@ -60,6 +61,11 @@ public function testFormWithCollectionTypeOne()
->with('testforms')
->willReturn('TOKEN');

$this->generator
->expects($this->any())
->method('generateToken')
->willReturn('TOKEN');

$creditCardEntity = new CreditCard();
$directDebitEntity = new DirectDebit();

Expand Down Expand Up @@ -110,6 +116,11 @@ public function testFormWithCollectionTypeMany()
->with('testforms')
->willReturn('TOKEN');

$this->generator
->expects($this->any())
->method('generateToken')
->willReturn('');

$creditCardEntity = new CreditCard();
$directDebitEntity = new DirectDebit();

Expand All @@ -124,10 +135,11 @@ public function testFormWithCollectionTypeMany()
$form->bind();
$formHelper = new FormHelper($form);

$renderStart = '<form method="' . $method . '" id="' . $formName . '">' . PHP_EOL;
$renderStart .= '<input type="hidden" name="_csrf_token" value="' . $form->getSynchronizerToken() . '" />' . PHP_EOL;
$renderStart = '<form method="' . $method . '" id="' . $formName . '">';
$renderStart2 = '<input type="hidden" name="_csrf_token" value=';

$this->assertEquals($renderStart, $formHelper->formStart());
$this->assertStringContainsString($renderStart, $formHelper->formStart());
$this->assertStringContainsString($renderStart2, $formHelper->formStart());
$this->assertEquals('</form>' . PHP_EOL, $formHelper->formEnd());
}
}
2 changes: 1 addition & 1 deletion tests/FormManagerTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ class FormManagerTest extends TestCase



protected function setUp()
protected function setUp(): void
{
$this->synchronizerToken = new SynchronizerTokenNull();
$this->translator = new TranslatorNull();
Expand Down
3 changes: 2 additions & 1 deletion tests/FormTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
*/
namespace Naucon\Form\Tests;

use Naucon\Form\Exception\InvalidArgumentException;
use Naucon\Form\Form;
use Naucon\Form\Configuration;
use Naucon\Form\Validator\Validator;
Expand Down Expand Up @@ -216,10 +217,10 @@ public function wrongEntityProvider()

/**
* @dataProvider wrongEntityProvider
* @expectedException \Naucon\Form\Exception\InvalidArgumentException
*/
public function testFormWithInvalidEntity($entity)
{
$this->expectException(InvalidArgumentException::class);
$configuration = new Configuration();

$form = new Form($entity, 'testform', $configuration);
Expand Down
Loading

0 comments on commit d43b270

Please sign in to comment.