Configurable activity and project number (#4729)
* added configurable activity number * added configurable project number * fix deprecations * added some tests for entity exporter * better configuration of dropdown pattern for customer, project and activity
This commit is contained in:
49
tests/Validator/Constraints/ActivityValidatorTest.php
Normal file
49
tests/Validator/Constraints/ActivityValidatorTest.php
Normal file
@@ -0,0 +1,49 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Kimai time-tracking app.
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace App\Tests\Validator\Constraints;
|
||||
|
||||
use App\Configuration\ConfigLoaderInterface;
|
||||
use App\Repository\ActivityRepository;
|
||||
use App\Tests\Mocks\SystemConfigurationFactory;
|
||||
use App\Validator\Constraints\Activity as ActivityConstraint;
|
||||
use App\Validator\Constraints\ActivityValidator;
|
||||
use Symfony\Component\Validator\Constraints\NotBlank;
|
||||
use Symfony\Component\Validator\Exception\UnexpectedTypeException;
|
||||
use Symfony\Component\Validator\Test\ConstraintValidatorTestCase;
|
||||
|
||||
/**
|
||||
* @covers \App\Validator\Constraints\Activity
|
||||
* @covers \App\Validator\Constraints\ActivityValidator
|
||||
* @extends ConstraintValidatorTestCase<ActivityValidator>
|
||||
*/
|
||||
class ActivityValidatorTest extends ConstraintValidatorTestCase
|
||||
{
|
||||
protected function createValidator(): ActivityValidator
|
||||
{
|
||||
$loader = $this->createMock(ConfigLoaderInterface::class);
|
||||
$config = SystemConfigurationFactory::create($loader, []);
|
||||
$repository = $this->createMock(ActivityRepository::class);
|
||||
|
||||
return new ActivityValidator($config, $repository);
|
||||
}
|
||||
|
||||
public function testConstraintIsInvalid(): void
|
||||
{
|
||||
$this->expectException(UnexpectedTypeException::class);
|
||||
|
||||
$this->validator->validate('foo', new NotBlank());
|
||||
}
|
||||
|
||||
public function testGetTargets(): void
|
||||
{
|
||||
$constraint = new ActivityConstraint();
|
||||
self::assertEquals('class', $constraint->getTargets());
|
||||
}
|
||||
}
|
||||
49
tests/Validator/Constraints/CustomerValidatorTest.php
Normal file
49
tests/Validator/Constraints/CustomerValidatorTest.php
Normal file
@@ -0,0 +1,49 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Kimai time-tracking app.
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace App\Tests\Validator\Constraints;
|
||||
|
||||
use App\Configuration\ConfigLoaderInterface;
|
||||
use App\Repository\CustomerRepository;
|
||||
use App\Tests\Mocks\SystemConfigurationFactory;
|
||||
use App\Validator\Constraints\Customer as CustomerConstraint;
|
||||
use App\Validator\Constraints\CustomerValidator;
|
||||
use Symfony\Component\Validator\Constraints\NotBlank;
|
||||
use Symfony\Component\Validator\Exception\UnexpectedTypeException;
|
||||
use Symfony\Component\Validator\Test\ConstraintValidatorTestCase;
|
||||
|
||||
/**
|
||||
* @covers \App\Validator\Constraints\Customer
|
||||
* @covers \App\Validator\Constraints\CustomerValidator
|
||||
* @extends ConstraintValidatorTestCase<CustomerValidator>
|
||||
*/
|
||||
class CustomerValidatorTest extends ConstraintValidatorTestCase
|
||||
{
|
||||
protected function createValidator(): CustomerValidator
|
||||
{
|
||||
$loader = $this->createMock(ConfigLoaderInterface::class);
|
||||
$config = SystemConfigurationFactory::create($loader, []);
|
||||
$repository = $this->createMock(CustomerRepository::class);
|
||||
|
||||
return new CustomerValidator($config, $repository);
|
||||
}
|
||||
|
||||
public function testConstraintIsInvalid(): void
|
||||
{
|
||||
$this->expectException(UnexpectedTypeException::class);
|
||||
|
||||
$this->validator->validate('foo', new NotBlank());
|
||||
}
|
||||
|
||||
public function testGetTargets(): void
|
||||
{
|
||||
$constraint = new CustomerConstraint();
|
||||
self::assertEquals('class', $constraint->getTargets());
|
||||
}
|
||||
}
|
||||
@@ -9,7 +9,10 @@
|
||||
|
||||
namespace App\Tests\Validator\Constraints;
|
||||
|
||||
use App\Configuration\ConfigLoaderInterface;
|
||||
use App\Entity\Project;
|
||||
use App\Repository\ProjectRepository;
|
||||
use App\Tests\Mocks\SystemConfigurationFactory;
|
||||
use App\Validator\Constraints\Project as ProjectConstraint;
|
||||
use App\Validator\Constraints\ProjectValidator;
|
||||
use Symfony\Component\Validator\Constraints\NotBlank;
|
||||
@@ -25,7 +28,11 @@ class ProjectValidatorTest extends ConstraintValidatorTestCase
|
||||
{
|
||||
protected function createValidator(): ProjectValidator
|
||||
{
|
||||
return new ProjectValidator();
|
||||
$loader = $this->createMock(ConfigLoaderInterface::class);
|
||||
$config = SystemConfigurationFactory::create($loader, []);
|
||||
$repository = $this->createMock(ProjectRepository::class);
|
||||
|
||||
return new ProjectValidator($config, $repository);
|
||||
}
|
||||
|
||||
public function testConstraintIsInvalid(): void
|
||||
|
||||
Reference in New Issue
Block a user