Merge branch 'release/3.1.0'
This commit is contained in:
commit
a94e3a3291
12 changed files with 93 additions and 33 deletions
7
.woodpecker/code-style.yml
Normal file
7
.woodpecker/code-style.yml
Normal file
|
@ -0,0 +1,7 @@
|
|||
pipeline:
|
||||
code-style:
|
||||
image: composer
|
||||
commands:
|
||||
- composer global config repositories.repo-name vcs https://git.digital-competence.de/Packages/php-codesniffer
|
||||
- composer global require digicomp/php-codesniffer:@dev
|
||||
- composer global exec -- phpcs --runtime-set ignore_warnings_on_exit 1 --standard=DigiComp Classes/ Migrations/ Tests/ Resources/Private/
|
25
.woodpecker/test.yml
Normal file
25
.woodpecker/test.yml
Normal file
|
@ -0,0 +1,25 @@
|
|||
workspace:
|
||||
base: /woodpecker
|
||||
path: package
|
||||
|
||||
matrix:
|
||||
FLOW_VERSION:
|
||||
- 6.3
|
||||
|
||||
pipeline:
|
||||
functional-tests:
|
||||
image: thecodingmachine/php:7.4-v4-cli
|
||||
environment:
|
||||
# Enable the PDO_SQLITE extension
|
||||
- "PHP_EXTENSION_PDO_SQLITE=1"
|
||||
- "FLOW_VERSION=${FLOW_VERSION}"
|
||||
- "NEOS_BUILD_DIR=/woodpecker/Build-${FLOW_VERSION}"
|
||||
commands:
|
||||
- "sudo mkdir $NEOS_BUILD_DIR"
|
||||
- "sudo chown -R docker:docker $NEOS_BUILD_DIR"
|
||||
- "cd $NEOS_BUILD_DIR"
|
||||
- "composer create-project --no-install neos/flow-base-distribution:^$FLOW_VERSION ."
|
||||
- "composer config repositories.repo-name path /woodpecker/package"
|
||||
- "composer remove --dev neos/behat"
|
||||
- "composer require digicomp/settingvalidator:@dev"
|
||||
- "bin/phpunit --configuration Build/BuildEssentials/PhpUnit/FunctionalTests.xml Packages/Application/DigiComp.SettingValidator/Tests/Functional"
|
|
@ -1,5 +1,7 @@
|
|||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace DigiComp\SettingValidator;
|
||||
|
||||
/*
|
||||
|
@ -22,17 +24,18 @@ use Neos\Flow\Package\Package as NeosFlowPackagePackage;
|
|||
class Package extends NeosFlowPackagePackage
|
||||
{
|
||||
/**
|
||||
* @param Bootstrap $bootstrap
|
||||
* @inheritDoc
|
||||
*/
|
||||
public function boot(Bootstrap $bootstrap): void
|
||||
{
|
||||
parent::boot($bootstrap);
|
||||
|
||||
$dispatcher = $bootstrap->getSignalSlotDispatcher();
|
||||
|
||||
$dispatcher->connect(
|
||||
ConfigurationManager::class,
|
||||
'configurationManagerReady',
|
||||
function (ConfigurationManager $configurationManager) {
|
||||
function (ConfigurationManager $configurationManager): void {
|
||||
$configurationManager->registerConfigurationType('Validation');
|
||||
}
|
||||
);
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace DigiComp\SettingValidator\Validation\Validator;
|
||||
|
||||
/*
|
||||
|
|
|
@ -8,11 +8,6 @@ DigiComp\SettingValidator\Tests\Functional\Fixtures\TestObject:
|
|||
expectedValue: false
|
||||
Grumble: ~
|
||||
|
||||
TrueValidator:
|
||||
self:
|
||||
BooleanValue:
|
||||
expectedValue: true
|
||||
|
||||
DigiComp\SettingValidator\Tests\Functional\Fixtures\TestValidationGroupsCustomObject:
|
||||
self:
|
||||
DigiComp.SettingValidator:Settings:
|
||||
|
@ -36,3 +31,8 @@ GroupValidatorCustom:
|
|||
expectedValue: false
|
||||
validationGroups:
|
||||
- "Custom"
|
||||
|
||||
TrueValidator:
|
||||
self:
|
||||
BooleanValue:
|
||||
expectedValue: true
|
||||
|
|
|
@ -16,4 +16,4 @@ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
THE SOFTWARE.
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Neos\Flow\Core\Migrations;
|
||||
|
||||
/**
|
||||
|
@ -15,11 +17,14 @@ class Version20170603120900 extends AbstractMigration
|
|||
return 'DigiComp.SettingValidator-20170603120900';
|
||||
}
|
||||
|
||||
/**
|
||||
* @inheritDoc
|
||||
*/
|
||||
public function up(): void
|
||||
{
|
||||
$this->processConfiguration(
|
||||
'Validation',
|
||||
function (array &$configuration) {
|
||||
function (array &$configuration): void {
|
||||
foreach ($configuration as $validatorName => &$validators) {
|
||||
// guard that protects configuration, which has already the new format:
|
||||
if (isset($validators['properties']) || isset($validators['self'])) {
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace DigiComp\SettingValidator\Tests\Functional\Fixtures;
|
||||
|
||||
use Neos\Flow\Annotations as Flow;
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace DigiComp\SettingValidator\Tests\Functional\Fixtures;
|
||||
|
||||
class TestValidationGroupsCustomObject
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace DigiComp\SettingValidator\Tests\Functional\Fixtures;
|
||||
|
||||
class TestValidationGroupsDefaultObject
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace DigiComp\SettingValidator\Tests\Functional;
|
||||
|
||||
use DigiComp\SettingValidator\Tests\Functional\Fixtures\TestObject;
|
||||
|
@ -20,11 +22,11 @@ class SettingsValidatorTest extends FunctionalTestCase
|
|||
*/
|
||||
public function ifNoNameIsGivenClassNameIsUsed(): void
|
||||
{
|
||||
$validator = $this->objectManager->get(SettingsValidator::class);
|
||||
$result = $validator->validate(new TestObject());
|
||||
$this->assertTrue($result->hasErrors());
|
||||
$this->assertCount(1, $result->getFlattenedErrors());
|
||||
$this->assertCount(1, $result->forProperty('shouldBeFalse')->getErrors());
|
||||
$result = $this->objectManager->get(SettingsValidator::class)->validate(new TestObject());
|
||||
|
||||
self::assertTrue($result->hasErrors());
|
||||
self::assertCount(1, $result->getFlattenedErrors());
|
||||
self::assertCount(1, $result->forProperty('shouldBeFalse')->getErrors());
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -35,11 +37,13 @@ class SettingsValidatorTest extends FunctionalTestCase
|
|||
*/
|
||||
public function conjunctionValidationWorksAsExpected(): void
|
||||
{
|
||||
$validatorResolver = $this->objectManager->get(ValidatorResolver::class);
|
||||
$validator = $validatorResolver->getBaseValidatorConjunction(TestObject::class);
|
||||
$result = $validator->validate(new TestObject());
|
||||
$this->assertTrue($result->hasErrors());
|
||||
$this->assertCount(1, $result->getFlattenedErrors());
|
||||
$result = $this->objectManager
|
||||
->get(ValidatorResolver::class)
|
||||
->getBaseValidatorConjunction(TestObject::class)
|
||||
->validate(new TestObject());
|
||||
|
||||
self::assertTrue($result->hasErrors());
|
||||
self::assertCount(1, $result->getFlattenedErrors());
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -48,11 +52,13 @@ class SettingsValidatorTest extends FunctionalTestCase
|
|||
*/
|
||||
public function defaultValidationGroupWorks(): void
|
||||
{
|
||||
$validator = $this->objectManager->get(SettingsValidator::class, ['validationGroups' => ['Default']]);
|
||||
$result = $validator->validate(new TestValidationGroupsDefaultObject());
|
||||
$this->assertTrue($result->hasErrors(), 'No Errors for validation group "Default"');
|
||||
$this->assertCount(1, $result->getFlattenedErrors(), 'Got a non expected number of errors for group "Default"');
|
||||
$this->assertCount(1, $result->forProperty('shouldBeTrue')->getErrors(), 'Got no error for property');
|
||||
$result = $this->objectManager
|
||||
->get(SettingsValidator::class, ['validationGroups' => ['Default']])
|
||||
->validate(new TestValidationGroupsDefaultObject());
|
||||
|
||||
self::assertTrue($result->hasErrors(), 'No errors for validation group "Default"');
|
||||
self::assertCount(1, $result->getFlattenedErrors(), 'Got a non expected number of errors for group "Default"');
|
||||
self::assertCount(1, $result->forProperty('shouldBeTrue')->getErrors(), 'Got no error for property');
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -61,10 +67,12 @@ class SettingsValidatorTest extends FunctionalTestCase
|
|||
*/
|
||||
public function customValidationGroupWorks(): void
|
||||
{
|
||||
$validator = $this->objectManager->get(SettingsValidator::class, ['validationGroups' => ['Custom']]);
|
||||
$result = $validator->validate(new TestValidationGroupsCustomObject());
|
||||
$this->assertTrue($result->hasErrors(), 'No Errors for validation group "Custom"');
|
||||
$this->assertCount(1, $result->getFlattenedErrors(), 'Got a non expected number of errors for group "Custom"');
|
||||
$this->assertCount(1, $result->forProperty('shouldBeFalse')->getErrors(), 'Got no error for property');
|
||||
$result = $this->objectManager
|
||||
->get(SettingsValidator::class, ['validationGroups' => ['Custom']])
|
||||
->validate(new TestValidationGroupsCustomObject());
|
||||
|
||||
self::assertTrue($result->hasErrors(), 'No errors for validation group "Custom"');
|
||||
self::assertCount(1, $result->getFlattenedErrors(), 'Got a non expected number of errors for group "Custom"');
|
||||
self::assertCount(1, $result->forProperty('shouldBeFalse')->getErrors(), 'Got no error for property');
|
||||
}
|
||||
}
|
||||
|
|
|
@ -4,7 +4,10 @@
|
|||
"type": "neos-package",
|
||||
"require": {
|
||||
"neos/flow": "^6.3.5",
|
||||
"php": "~7.4.0"
|
||||
"php": ">=7.4"
|
||||
},
|
||||
"require-dev": {
|
||||
"phpunit/phpunit": "~8.5"
|
||||
},
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
|
@ -21,7 +24,8 @@
|
|||
"package-key": "DigiComp.SettingValidator"
|
||||
},
|
||||
"branch-alias": {
|
||||
"dev-develop": "3.0.x-dev",
|
||||
"dev-develop": "3.1.x-dev",
|
||||
"dev-version/2.x-dev": "2.1.x-dev",
|
||||
"dev-version/1.x-dev": "1.0.x-dev"
|
||||
},
|
||||
"applied-flow-migrations": [
|
||||
|
@ -65,12 +69,12 @@
|
|||
{
|
||||
"name": "Ferdinand Kuhl",
|
||||
"email": "f.kuhl@digital-competence.de",
|
||||
"homepage": "http://www.digital-competence.de",
|
||||
"homepage": "https://www.digital-competence.de",
|
||||
"role": "Developer"
|
||||
}
|
||||
],
|
||||
"license": "MIT",
|
||||
"homepage": "https://github.com/fcool/DigiComp.SettingValidator",
|
||||
"homepage": "https://github.com/digital-competence/DigiComp.SettingValidator",
|
||||
"keywords": [
|
||||
"Neos",
|
||||
"Flow",
|
||||
|
|
Loading…
Reference in a new issue