36 | */
37 | protected const array ERROR_NAMES = [
38 | self::INVALID_TIMEZONE => 'INVALID_TIMEZONE',
39 | ];
40 | }
41 |
--------------------------------------------------------------------------------
/src/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tarlepp/symfony-flex-backend/ea11d123bc3a063ea0362fcf110d7cd50246b290/src/favicon.ico
--------------------------------------------------------------------------------
/templates/.gitignore:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tarlepp/symfony-flex-backend/ea11d123bc3a063ea0362fcf110d7cd50246b290/templates/.gitignore
--------------------------------------------------------------------------------
/templates/.gitkeep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tarlepp/symfony-flex-backend/ea11d123bc3a063ea0362fcf110d7cd50246b290/templates/.gitkeep
--------------------------------------------------------------------------------
/templates/Swagger/parameter_criteria.twig:
--------------------------------------------------------------------------------
1 | Used search criteria in request.
2 |
3 | Usage examples:
4 | {{ examples | join(' ') | raw }}
5 |
--------------------------------------------------------------------------------
/templates/Swagger/parameter_limit.twig:
--------------------------------------------------------------------------------
1 | Used limit option in request.
2 |
3 | Usage examples:
4 | {{ examples | join(' ') | raw }}
5 |
--------------------------------------------------------------------------------
/templates/Swagger/parameter_offset.twig:
--------------------------------------------------------------------------------
1 | Used offset option in request.
2 |
3 | Usage examples:
4 | {{ examples | join(' ') | raw }}
5 |
--------------------------------------------------------------------------------
/templates/Swagger/parameter_order.twig:
--------------------------------------------------------------------------------
1 | Used order in request.
2 |
3 | Usage examples:
4 | {{ examples | join(' ') | raw }}
5 |
6 | Advanced usage examples:
7 | {{ advancedExamples | join(' ') | raw }}
8 |
--------------------------------------------------------------------------------
/templates/Swagger/parameter_populate.twig:
--------------------------------------------------------------------------------
1 | Used populate parts in request.
2 |
3 | {% if associations %}
4 | Associations that can be used:
5 | {{ associations | join(' ') | raw }}
6 | {% endif %}
7 |
8 | Usage examples:
9 | {{ examples | join(' ') | raw }}
10 |
11 |
12 |
--------------------------------------------------------------------------------
/templates/Swagger/parameter_search.twig:
--------------------------------------------------------------------------------
1 | Used search terms in request.
2 |
3 | Properties which affected:
4 | {{ properties | join(' ') | raw }}
5 |
6 | Usage examples:
7 | {{ examples | join(' ') | raw }}
8 |
--------------------------------------------------------------------------------
/tests/DataFixtures/AppFixtures.php:
--------------------------------------------------------------------------------
1 |
7 | */
8 |
9 | namespace App\Tests\DataFixtures;
10 |
11 | use Doctrine\Bundle\FixturesBundle\Fixture;
12 | use Doctrine\Persistence\ObjectManager;
13 | use Override;
14 |
15 | /**
16 | * @package App\DataFixtures
17 | * @author TLe, Tarmo Leppänen
18 | */
19 | class AppFixtures extends Fixture
20 | {
21 | #[Override]
22 | public function load(ObjectManager $manager): void
23 | {
24 | $manager->flush();
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/tests/E2E/Controller/IndexControllerTest.php:
--------------------------------------------------------------------------------
1 |
7 | */
8 |
9 | namespace App\Tests\E2E\Controller;
10 |
11 | use App\Tests\E2E\TestCase\WebTestCase;
12 | use PHPUnit\Framework\Attributes\TestDox;
13 | use Throwable;
14 |
15 | /**
16 | * @package App\Tests\E2E\Controller
17 | * @author TLe, Tarmo Leppänen
18 | */
19 | class IndexControllerTest extends WebTestCase
20 | {
21 | /**
22 | * @throws Throwable
23 | */
24 | #[TestDox('Test that `GET /` request returns `200`')]
25 | public function testThatDefaultRouteReturns200(): void
26 | {
27 | $client = $this->getTestClient();
28 | $client->request('GET', '/');
29 |
30 | $response = $client->getResponse();
31 |
32 | self::assertSame(200, $response->getStatusCode(), "Response:\n" . $response);
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/tests/E2E/DocumentationTest.php:
--------------------------------------------------------------------------------
1 |
7 | */
8 |
9 | namespace App\Tests\E2E;
10 |
11 | use App\Tests\E2E\TestCase\WebTestCase;
12 | use PHPUnit\Framework\Attributes\TestDox;
13 | use Throwable;
14 |
15 | /**
16 | * @package App\Tests\Functional
17 | * @author TLe, Tarmo Leppänen
18 | */
19 | class DocumentationTest extends WebTestCase
20 | {
21 | /**
22 | * @throws Throwable
23 | */
24 | #[TestDox('Test that `GET /api/doc` request returns `200`')]
25 | public function testThatDocumentationUiWorks(): void
26 | {
27 | $client = $this->getTestClient();
28 | $client->request('GET', '/api/doc');
29 |
30 | self::assertSame(200, $client->getResponse()->getStatusCode());
31 | }
32 |
33 | /**
34 | * @throws Throwable
35 | */
36 | #[TestDox('Test that `GET /api/doc.json` request returns `200`')]
37 | public function testThatDocumentationJsonWorks(): void
38 | {
39 | $client = $this->getTestClient();
40 | $client->request('GET', '/api/doc.json');
41 |
42 | self::assertSame(200, $client->getResponse()->getStatusCode());
43 | }
44 | }
45 |
--------------------------------------------------------------------------------
/tests/Functional/Repository/LogRequestRepositoryTest.php:
--------------------------------------------------------------------------------
1 |
7 | */
8 |
9 | namespace App\Tests\Functional\Repository;
10 |
11 | use App\Repository\LogRequestRepository;
12 | use Symfony\Bundle\FrameworkBundle\Test\KernelTestCase;
13 | use Throwable;
14 |
15 | /**
16 | * @package App\Tests\Functional\Repository
17 | * @author TLe, Tarmo Leppänen
18 | */
19 | class LogRequestRepositoryTest extends KernelTestCase
20 | {
21 | /**
22 | * @throws Throwable
23 | */
24 | public function testThatCleanHistoryReturnsExpected(): void
25 | {
26 | $repository = self::getContainer()->get(LogRequestRepository::class);
27 |
28 | self::assertSame(0, $repository->cleanHistory());
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/tests/Integration/AutoMapper/User/AutoMapperConfigurationTest.php:
--------------------------------------------------------------------------------
1 |
7 | */
8 |
9 | namespace App\Tests\Integration\AutoMapper\User;
10 |
11 | use App\AutoMapper\User\AutoMapperConfiguration;
12 | use App\AutoMapper\User\RequestMapper;
13 | use App\DTO\User\UserCreate;
14 | use App\DTO\User\UserPatch;
15 | use App\DTO\User\UserUpdate;
16 | use App\Tests\Integration\TestCase\RestRequestMapperConfigurationTestCase;
17 |
18 | /**
19 | * @package App\Tests\Integration\AutoMapper\User
20 | * @author TLe, Tarmo Leppänen
21 | */
22 | class AutoMapperConfigurationTest extends RestRequestMapperConfigurationTestCase
23 | {
24 | /**
25 | * @var class-string
26 | */
27 | protected string $autoMapperConfiguration = AutoMapperConfiguration::class;
28 |
29 | /**
30 | * @var class-string
31 | */
32 | protected string $requestMapper = RequestMapper::class;
33 |
34 | /**
35 | * @var array
36 | */
37 | protected static array $requestMapperClasses = [
38 | UserCreate::class,
39 | UserUpdate::class,
40 | UserPatch::class,
41 | ];
42 | }
43 |
--------------------------------------------------------------------------------
/tests/Integration/AutoMapper/src/TestRestRequestMapper.php:
--------------------------------------------------------------------------------
1 |
7 | */
8 |
9 | namespace App\Tests\Integration\AutoMapper\src;
10 |
11 | use App\AutoMapper\RestRequestMapper;
12 | use function str_rot13;
13 |
14 | /**
15 | * @package App\Tests\Integration\AutoMapper\src
16 | * @author TLe, Tarmo Leppänen
17 | */
18 | class TestRestRequestMapper extends RestRequestMapper
19 | {
20 | /**
21 | * @var array
22 | */
23 | protected static array $properties = [
24 | 'someProperty',
25 | 'someTransformProperty',
26 | ];
27 |
28 | public function transformSomeTransformProperty(string $input): string
29 | {
30 | return str_rot13($input);
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/tests/Integration/AutoMapper/src/TestRestRequestMapperWithoutProperties.php:
--------------------------------------------------------------------------------
1 |
7 | */
8 |
9 | namespace App\Tests\Integration\AutoMapper\src;
10 |
11 | use App\AutoMapper\RestRequestMapper;
12 |
13 | /**
14 | * @package App\Tests\Integration\AutoMapper\src
15 | * @author TLe, Tarmo Leppänen
16 | */
17 | class TestRestRequestMapperWithoutProperties extends RestRequestMapper
18 | {
19 | }
20 |
--------------------------------------------------------------------------------
/tests/Integration/Controller/IndexControllerTest.php:
--------------------------------------------------------------------------------
1 |
7 | */
8 |
9 | namespace App\Tests\Integration\Controller;
10 |
11 | use App\Controller\IndexController;
12 | use PHPUnit\Framework\Attributes\TestDox;
13 | use Symfony\Bundle\FrameworkBundle\Test\KernelTestCase;
14 |
15 | /**
16 | * @package App\Tests\Integration\Controller
17 | * @author TLe, Tarmo Leppänen
18 | */
19 | class IndexControllerTest extends KernelTestCase
20 | {
21 | #[TestDox('Test that `__invoke` method returns proper response')]
22 | public function testThatInvokeMethodReturnsExpectedResponse(): void
23 | {
24 | $response = (new IndexController())();
25 | $content = $response->getContent();
26 |
27 | self::assertSame(200, $response->getStatusCode());
28 | self::assertNotFalse($content);
29 | self::assertJson($content);
30 | self::assertJsonStringEqualsJsonString('{}', $content);
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/tests/Integration/Controller/v1/ApiKey/ApiKeyControllerTest.php:
--------------------------------------------------------------------------------
1 |
7 | */
8 |
9 | namespace App\Tests\Integration\Controller\v1\ApiKey;
10 |
11 | use App\Controller\v1\ApiKey\ApiKeyController;
12 | use App\Resource\ApiKeyResource;
13 | use App\Tests\Integration\TestCase\RestIntegrationControllerTestCase;
14 |
15 | /**
16 | * @package App\Tests\Integration\Controller\v1
17 | * @author TLe, Tarmo Leppänen
18 | *
19 | * @method ApiKeyController getController()
20 | */
21 | class ApiKeyControllerTest extends RestIntegrationControllerTestCase
22 | {
23 | /**
24 | * @var class-string
25 | */
26 | protected string $controllerClass = ApiKeyController::class;
27 |
28 | /**
29 | * @var class-string
30 | */
31 | protected string $resourceClass = ApiKeyResource::class;
32 | }
33 |
--------------------------------------------------------------------------------
/tests/Integration/Controller/v1/Role/RoleControllerTest.php:
--------------------------------------------------------------------------------
1 |
7 | */
8 |
9 | namespace App\Tests\Integration\Controller\v1\Role;
10 |
11 | use App\Controller\v1\Role\RoleController;
12 | use App\Resource\RoleResource;
13 | use App\Tests\Integration\TestCase\RestIntegrationControllerTestCase;
14 |
15 | /**
16 | * @package App\Tests\Integration\Controller\v1\Role
17 | * @author TLe, Tarmo Leppänen
18 | *
19 | * @method RoleController getController()
20 | */
21 | class RoleControllerTest extends RestIntegrationControllerTestCase
22 | {
23 | /**
24 | * @var class-string
25 | */
26 | protected string $controllerClass = RoleController::class;
27 |
28 | /**
29 | * @var class-string
30 | */
31 | protected string $resourceClass = RoleResource::class;
32 | }
33 |
--------------------------------------------------------------------------------
/tests/Integration/Controller/v1/User/UserControllerTest.php:
--------------------------------------------------------------------------------
1 |
7 | */
8 |
9 | namespace App\Tests\Integration\Controller\v1\User;
10 |
11 | use App\Controller\v1\User\UserController;
12 | use App\Resource\UserResource;
13 | use App\Tests\Integration\TestCase\RestIntegrationControllerTestCase;
14 |
15 | /**
16 | * @package App\Tests\Integration\Controller\v1\User
17 | * @author TLe, Tarmo Leppänen
18 | *
19 | * @method UserController getController()
20 | */
21 | class UserControllerTest extends RestIntegrationControllerTestCase
22 | {
23 | /**
24 | * @var class-string
25 | */
26 | protected string $controllerClass = UserController::class;
27 |
28 | /**
29 | * @var class-string
30 | */
31 | protected string $resourceClass = UserResource::class;
32 | }
33 |
--------------------------------------------------------------------------------
/tests/Integration/Controller/v1/UserGroup/UserGroupControllerTest.php:
--------------------------------------------------------------------------------
1 |
7 | */
8 |
9 | namespace App\Tests\Integration\Controller\v1\UserGroup;
10 |
11 | use App\Controller\v1\UserGroup\UserGroupController;
12 | use App\Resource\UserGroupResource;
13 | use App\Tests\Integration\TestCase\RestIntegrationControllerTestCase;
14 |
15 | /**
16 | * @package App\Tests\Integration\Controller\v1\UserGroup
17 | * @author TLe, Tarmo Leppänen
18 | *
19 | * @method \App\Controller\v1\UserGroup\UserGroupController getController()
20 | */
21 | class UserGroupControllerTest extends RestIntegrationControllerTestCase
22 | {
23 | /**
24 | * @var class-string
25 | */
26 | protected string $controllerClass = UserGroupController::class;
27 |
28 | /**
29 | * @var class-string
30 | */
31 | protected string $resourceClass = UserGroupResource::class;
32 | }
33 |
--------------------------------------------------------------------------------
/tests/Integration/DTO/ApiKey/ApiKeyCreateTest.php:
--------------------------------------------------------------------------------
1 |
7 | */
8 |
9 | namespace App\Tests\Integration\DTO\ApiKey;
10 |
11 | use App\DTO\ApiKey\ApiKeyCreate;
12 | use App\Tests\Integration\TestCase\DtoTestCase;
13 |
14 | /**
15 | * @package App\Tests\Integration\DTO\ApiKey
16 | * @author TLe, Tarmo Leppänen
17 | */
18 | class ApiKeyCreateTest extends DtoTestCase
19 | {
20 | /**
21 | * @psalm-var class-string
22 | * @phpstan-var class-string
23 | */
24 | protected static string $dtoClass = ApiKeyCreate::class;
25 | }
26 |
--------------------------------------------------------------------------------
/tests/Integration/DTO/User/UserCreateTest.php:
--------------------------------------------------------------------------------
1 |
7 | */
8 |
9 | namespace App\Tests\Integration\DTO\User;
10 |
11 | use App\DTO\User\UserCreate;
12 | use App\Tests\Integration\TestCase\DtoTestCase;
13 |
14 | /**
15 | * @package App\Tests\Integration\DTO\User
16 | * @author TLe, Tarmo Leppänen
17 | */
18 | class UserCreateTest extends DtoTestCase
19 | {
20 | /**
21 | * @psalm-var class-string
22 | * @phpstan-var class-string
23 | */
24 | protected static string $dtoClass = UserCreate::class;
25 | }
26 |
--------------------------------------------------------------------------------
/tests/Integration/DTO/UserGroup/UserGroupCreateTest.php:
--------------------------------------------------------------------------------
1 |
7 | */
8 |
9 | namespace App\Tests\Integration\DTO\UserGroup;
10 |
11 | use App\DTO\UserGroup\UserGroupCreate;
12 | use App\Tests\Integration\TestCase\DtoTestCase;
13 |
14 | /**
15 | * @package App\Tests\Integration\DTO\UserGroup
16 | * @author TLe, Tarmo Leppänen
17 | */
18 | class UserGroupCreateTest extends DtoTestCase
19 | {
20 | /**
21 | * @psalm-var class-string
22 | * @phpstan-var class-string
23 | */
24 | protected static string $dtoClass = UserGroupCreate::class;
25 | }
26 |
--------------------------------------------------------------------------------
/tests/Integration/DTO/UserGroup/UserGroupPatchTest.php:
--------------------------------------------------------------------------------
1 |
7 | */
8 |
9 | namespace App\Tests\Integration\DTO\UserGroup;
10 |
11 | use App\DTO\UserGroup\UserGroupPatch;
12 | use App\Tests\Integration\TestCase\DtoTestCase;
13 |
14 | /**
15 | * @package App\Tests\Integration\DTO\UserGroup
16 | * @author TLe, Tarmo Leppänen
17 | */
18 | class UserGroupPatchTest extends DtoTestCase
19 | {
20 | /**
21 | * @psalm-var class-string
22 | * @phpstan-var class-string
23 | */
24 | protected static string $dtoClass = UserGroupPatch::class;
25 | }
26 |
--------------------------------------------------------------------------------
/tests/Integration/DTO/UserGroup/UserGroupUpdateTest.php:
--------------------------------------------------------------------------------
1 |
7 | */
8 |
9 | namespace App\Tests\Integration\DTO\UserGroup;
10 |
11 | use App\DTO\UserGroup\UserGroupUpdate;
12 | use App\Tests\Integration\TestCase\DtoTestCase;
13 |
14 | /**
15 | * @package App\Tests\Integration\DTO\UserGroup
16 | * @author TLe, Tarmo Leppänen
17 | */
18 | class UserGroupUpdateTest extends DtoTestCase
19 | {
20 | /**
21 | * @psalm-var class-string
22 | * @phpstan-var class-string
23 | */
24 | protected static string $dtoClass = UserGroupUpdate::class;
25 | }
26 |
--------------------------------------------------------------------------------
/tests/Integration/Entity/HealthzTest.php:
--------------------------------------------------------------------------------
1 |
7 | */
8 |
9 | namespace App\Tests\Integration\Entity;
10 |
11 | use App\Entity\Healthz;
12 | use App\Tests\Integration\TestCase\EntityTestCase;
13 |
14 | /**
15 | * @package App\Tests\Integration\Entity
16 | * @author TLe, Tarmo Leppänen
17 | *
18 | * @method Healthz getEntity()
19 | */
20 | class HealthzTest extends EntityTestCase
21 | {
22 | /**
23 | * @var class-string
24 | */
25 | protected static string $entityName = Healthz::class;
26 | }
27 |
--------------------------------------------------------------------------------
/tests/Integration/Entity/RoleTest.php:
--------------------------------------------------------------------------------
1 |
7 | */
8 |
9 | namespace App\Tests\Integration\Entity;
10 |
11 | use App\Entity\Role;
12 | use App\Tests\Integration\TestCase\EntityTestCase;
13 | use Override;
14 |
15 | /**
16 | * @package App\Tests\Integration\Entity
17 | * @author TLe, Tarmo Leppänen
18 | *
19 | * @method Role getEntity()
20 | */
21 | class RoleTest extends EntityTestCase
22 | {
23 | /**
24 | * @var class-string
25 | */
26 | protected static string $entityName = Role::class;
27 |
28 | /**
29 | * @noinspection PhpMissingParentCallCommonInspection
30 | */
31 | #[Override]
32 | public function testThatGetIdReturnsCorrectUuid(): void
33 | {
34 | self::markTestSkipped();
35 | }
36 |
37 | /**
38 | * @noinspection PhpMissingParentCallCommonInspection
39 | */
40 | #[Override]
41 | protected function createEntity(): Role
42 | {
43 | return new Role('Some role');
44 | }
45 | }
46 |
--------------------------------------------------------------------------------
/tests/Integration/Entity/UserGroupTest.php:
--------------------------------------------------------------------------------
1 |
7 | */
8 |
9 | namespace App\Tests\Integration\Entity;
10 |
11 | use App\Entity\UserGroup;
12 | use App\Tests\Integration\TestCase\EntityTestCase;
13 |
14 | /**
15 | * @package App\Tests\Integration\Entity
16 | * @author TLe, Tarmo Leppänen
17 | *
18 | * @method UserGroup getEntity()
19 | */
20 | class UserGroupTest extends EntityTestCase
21 | {
22 | /**
23 | * @var class-string
24 | */
25 | protected static string $entityName = UserGroup::class;
26 | }
27 |
--------------------------------------------------------------------------------
/tests/Integration/Helpers/src/LoggerAwareService.php:
--------------------------------------------------------------------------------
1 |
7 | */
8 |
9 | namespace App\Tests\Integration\Helpers\src;
10 |
11 | use App\Helpers\LoggerAwareTrait;
12 |
13 | /**
14 | * @package App\Tests\Integration\Helpers\src
15 | * @author TLe, Tarmo Leppänen
16 | */
17 | class LoggerAwareService
18 | {
19 | use LoggerAwareTrait;
20 |
21 | public function __construct()
22 | {
23 | $this->logger = null;
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/tests/Integration/Helpers/src/StopwatchAwareService.php:
--------------------------------------------------------------------------------
1 |
7 | */
8 |
9 | namespace App\Tests\Integration\Helpers\src;
10 |
11 | use App\Helpers\StopwatchAwareTrait;
12 |
13 | /**
14 | * @package App\Tests\Integration\Helpers\src
15 | * @author TLe, Tarmo Leppänen
16 | */
17 | class StopwatchAwareService
18 | {
19 | use StopwatchAwareTrait;
20 |
21 | public function __construct()
22 | {
23 | $this->stopwatch = null;
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/tests/Integration/Resource/ApiKeyResourceTest.php:
--------------------------------------------------------------------------------
1 |
7 | */
8 |
9 | namespace App\Tests\Integration\Resource;
10 |
11 | use App\Entity\ApiKey;
12 | use App\Entity\Interfaces\EntityInterface;
13 | use App\Repository\ApiKeyRepository;
14 | use App\Repository\BaseRepository;
15 | use App\Resource\ApiKeyResource;
16 | use App\Rest\RestResource;
17 | use App\Tests\Integration\TestCase\ResourceTestCase;
18 |
19 | /**
20 | * @package App\Tests\Integration\Resource
21 | * @author TLe, Tarmo Leppänen
22 | */
23 | class ApiKeyResourceTest extends ResourceTestCase
24 | {
25 | /**
26 | * @var class-string
27 | */
28 | protected string $entityClass = ApiKey::class;
29 |
30 | /**
31 | * @var class-string
32 | */
33 | protected string $repositoryClass = ApiKeyRepository::class;
34 |
35 | /**
36 | * @var class-string
37 | */
38 | protected string $resourceClass = ApiKeyResource::class;
39 | }
40 |
--------------------------------------------------------------------------------
/tests/Integration/Resource/DateDimensionResourceTest.php:
--------------------------------------------------------------------------------
1 |
7 | */
8 |
9 | namespace App\Tests\Integration\Resource;
10 |
11 | use App\Entity\DateDimension;
12 | use App\Entity\Interfaces\EntityInterface;
13 | use App\Repository\BaseRepository;
14 | use App\Repository\DateDimensionRepository;
15 | use App\Resource\DateDimensionResource;
16 | use App\Rest\RestResource;
17 | use App\Tests\Integration\TestCase\ResourceTestCase;
18 |
19 | /**
20 | * @package App\Tests\Integration\Resource
21 | * @author TLe, Tarmo Leppänen
22 | */
23 | class DateDimensionResourceTest extends ResourceTestCase
24 | {
25 | /**
26 | * @var class-string
27 | */
28 | protected string $entityClass = DateDimension::class;
29 |
30 | /**
31 | * @var class-string
32 | */
33 | protected string $repositoryClass = DateDimensionRepository::class;
34 |
35 | /**
36 | * @var class-string
37 | */
38 | protected string $resourceClass = DateDimensionResource::class;
39 | }
40 |
--------------------------------------------------------------------------------
/tests/Integration/Resource/HealthzResourceTest.php:
--------------------------------------------------------------------------------
1 |
7 | */
8 |
9 | namespace App\Tests\Integration\Resource;
10 |
11 | use App\Entity\Healthz;
12 | use App\Entity\Interfaces\EntityInterface;
13 | use App\Repository\BaseRepository;
14 | use App\Repository\HealthzRepository;
15 | use App\Resource\HealthzResource;
16 | use App\Rest\RestResource;
17 | use App\Tests\Integration\TestCase\ResourceTestCase;
18 |
19 | /**
20 | * @package App\Tests\Integration\Resource
21 | * @author TLe, Tarmo Leppänen
22 | */
23 | class HealthzResourceTest extends ResourceTestCase
24 | {
25 | /**
26 | * @var class-string
27 | */
28 | protected string $entityClass = Healthz::class;
29 |
30 | /**
31 | * @var class-string
32 | */
33 | protected string $repositoryClass = HealthzRepository::class;
34 |
35 | /**
36 | * @var class-string
37 | */
38 | protected string $resourceClass = HealthzResource::class;
39 | }
40 |
--------------------------------------------------------------------------------
/tests/Integration/Resource/LogLoginResourceTest.php:
--------------------------------------------------------------------------------
1 |
7 | */
8 |
9 | namespace App\Tests\Integration\Resource;
10 |
11 | use App\Entity\Interfaces\EntityInterface;
12 | use App\Entity\LogLogin;
13 | use App\Repository\BaseRepository;
14 | use App\Repository\LogLoginRepository;
15 | use App\Resource\LogLoginResource;
16 | use App\Rest\RestResource;
17 | use App\Tests\Integration\TestCase\ResourceTestCase;
18 |
19 | /**
20 | * @package App\Tests\Integration\Resource
21 | * @author TLe, Tarmo Leppänen
22 | */
23 | class LogLoginResourceTest extends ResourceTestCase
24 | {
25 | /**
26 | * @var class-string
27 | */
28 | protected string $entityClass = LogLogin::class;
29 |
30 | /**
31 | * @var class-string
32 | */
33 | protected string $repositoryClass = LogLoginRepository::class;
34 |
35 | /**
36 | * @var class-string
37 | */
38 | protected string $resourceClass = LogLoginResource::class;
39 | }
40 |
--------------------------------------------------------------------------------
/tests/Integration/Resource/LogRequestResourceTest.php:
--------------------------------------------------------------------------------
1 |
7 | */
8 |
9 | namespace App\Tests\Integration\Resource;
10 |
11 | use App\Entity\Interfaces\EntityInterface;
12 | use App\Entity\LogRequest;
13 | use App\Repository\BaseRepository;
14 | use App\Repository\LogRequestRepository;
15 | use App\Resource\LogRequestResource;
16 | use App\Rest\RestResource;
17 | use App\Tests\Integration\TestCase\ResourceTestCase;
18 |
19 | /**
20 | * @package App\Tests\Integration\Resource
21 | * @author TLe, Tarmo Leppänen
22 | */
23 | class LogRequestResourceTest extends ResourceTestCase
24 | {
25 | /**
26 | * @var class-string
27 | */
28 | protected string $entityClass = LogRequest::class;
29 |
30 | /**
31 | * @var class-string
32 | */
33 | protected string $repositoryClass = LogRequestRepository::class;
34 |
35 | /**
36 | * @var class-string
37 | */
38 | protected string $resourceClass = LogRequestResource::class;
39 | }
40 |
--------------------------------------------------------------------------------
/tests/Integration/Resource/RoleResourceTest.php:
--------------------------------------------------------------------------------
1 |
7 | */
8 |
9 | namespace App\Tests\Integration\Resource;
10 |
11 | use App\Entity\Interfaces\EntityInterface;
12 | use App\Entity\Role;
13 | use App\Repository\BaseRepository;
14 | use App\Repository\RoleRepository;
15 | use App\Resource\RoleResource;
16 | use App\Rest\RestResource;
17 | use App\Tests\Integration\TestCase\ResourceTestCase;
18 |
19 | /**
20 | * @package App\Tests\Integration\Resource
21 | * @author TLe, Tarmo Leppänen
22 | */
23 | class RoleResourceTest extends ResourceTestCase
24 | {
25 | /**
26 | * @var class-string
27 | */
28 | protected string $entityClass = Role::class;
29 |
30 | /**
31 | * @var class-string
32 | */
33 | protected string $repositoryClass = RoleRepository::class;
34 |
35 | /**
36 | * @var class-string
37 | */
38 | protected string $resourceClass = RoleResource::class;
39 | }
40 |
--------------------------------------------------------------------------------
/tests/Integration/Resource/UserGroupResourceTest.php:
--------------------------------------------------------------------------------
1 |
7 | */
8 |
9 | namespace App\Tests\Integration\Resource;
10 |
11 | use App\Entity\Interfaces\EntityInterface;
12 | use App\Entity\UserGroup;
13 | use App\Repository\BaseRepository;
14 | use App\Repository\UserGroupRepository;
15 | use App\Resource\UserGroupResource;
16 | use App\Rest\RestResource;
17 | use App\Tests\Integration\TestCase\ResourceTestCase;
18 |
19 | /**
20 | * @package App\Tests\Integration\Resource
21 | * @author TLe, Tarmo Leppänen
22 | */
23 | class UserGroupResourceTest extends ResourceTestCase
24 | {
25 | /**
26 | * @var class-string
27 | */
28 | protected string $entityClass = UserGroup::class;
29 |
30 | /**
31 | * @var class-string
32 | */
33 | protected string $repositoryClass = UserGroupRepository::class;
34 |
35 | /**
36 | * @var class-string
37 | */
38 | protected string $resourceClass = UserGroupResource::class;
39 | }
40 |
--------------------------------------------------------------------------------
/tests/Integration/Rest/Traits/Methods/src/CountMethodTestClass.php:
--------------------------------------------------------------------------------
1 |
7 | */
8 |
9 | namespace App\Tests\Integration\Rest\Traits\Methods\src;
10 |
11 | use App\Rest\Controller;
12 | use App\Rest\Interfaces\ResponseHandlerInterface;
13 | use App\Rest\Interfaces\RestResourceInterface;
14 | use App\Rest\Traits\Methods\CountMethod;
15 |
16 | /**
17 | * Class CountMethodTestClass - just a dummy class so that we can actually test that trait.
18 | *
19 | * @package App\Tests\Integration\Rest\Traits\Methods\src
20 | * @author TLe, Tarmo Leppänen
21 | */
22 | class CountMethodTestClass extends Controller
23 | {
24 | use CountMethod;
25 |
26 | public function __construct(
27 | RestResourceInterface $resource,
28 | ResponseHandlerInterface $responseHandler,
29 | ) {
30 | parent::__construct($resource);
31 |
32 | $this->responseHandler = $responseHandler;
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/tests/Integration/Rest/Traits/Methods/src/CreateMethodTestClass.php:
--------------------------------------------------------------------------------
1 |
7 | */
8 |
9 | namespace App\Tests\Integration\Rest\Traits\Methods\src;
10 |
11 | use App\Rest\Controller;
12 | use App\Rest\Interfaces\ResponseHandlerInterface;
13 | use App\Rest\Interfaces\RestResourceInterface;
14 | use App\Rest\Traits\Methods\CreateMethod;
15 |
16 | /**
17 | * Class CreateMethodTestClass - just a dummy class so that we can actually test that trait.
18 | *
19 | * @package App\Tests\Integration\Rest\Traits\Methods\src
20 | * @author TLe, Tarmo Leppänen
21 | */
22 | class CreateMethodTestClass extends Controller
23 | {
24 | use CreateMethod;
25 |
26 | public function __construct(
27 | RestResourceInterface $resource,
28 | ResponseHandlerInterface $responseHandler,
29 | ) {
30 | parent::__construct($resource);
31 |
32 | $this->responseHandler = $responseHandler;
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/tests/Integration/Rest/Traits/Methods/src/DeleteMethodTestClass.php:
--------------------------------------------------------------------------------
1 |
7 | */
8 |
9 | namespace App\Tests\Integration\Rest\Traits\Methods\src;
10 |
11 | use App\Rest\Controller;
12 | use App\Rest\Interfaces\ResponseHandlerInterface;
13 | use App\Rest\Interfaces\RestResourceInterface;
14 | use App\Rest\Traits\Methods\DeleteMethod;
15 |
16 | /**
17 | * Class DeleteMethodTestClass - just a dummy class so that we can actually test that trait.
18 | *
19 | * @package App\Tests\Integration\Rest\Traits\Methods\src
20 | * @author TLe, Tarmo Leppänen
21 | */
22 | class DeleteMethodTestClass extends Controller
23 | {
24 | use DeleteMethod;
25 |
26 | public function __construct(
27 | RestResourceInterface $resource,
28 | ResponseHandlerInterface $responseHandler,
29 | ) {
30 | parent::__construct($resource);
31 |
32 | $this->responseHandler = $responseHandler;
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/tests/Integration/Rest/Traits/Methods/src/FindMethodTestClass.php:
--------------------------------------------------------------------------------
1 |
7 | */
8 |
9 | namespace App\Tests\Integration\Rest\Traits\Methods\src;
10 |
11 | use App\Rest\Controller;
12 | use App\Rest\Interfaces\ResponseHandlerInterface;
13 | use App\Rest\Interfaces\RestResourceInterface;
14 | use App\Rest\Traits\Methods\FindMethod;
15 |
16 | /**
17 | * Class FindMethodTestClass - just a dummy class so that we can actually test that trait.
18 | *
19 | * @package App\Tests\Integration\Rest\Traits\Methods\src
20 | * @author TLe, Tarmo Leppänen
21 | */
22 | class FindMethodTestClass extends Controller
23 | {
24 | use FindMethod;
25 |
26 | public function __construct(
27 | RestResourceInterface $resource,
28 | ResponseHandlerInterface $responseHandler,
29 | ) {
30 | parent::__construct($resource);
31 |
32 | $this->responseHandler = $responseHandler;
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/tests/Integration/Rest/Traits/Methods/src/FindOneMethodTestClass.php:
--------------------------------------------------------------------------------
1 |
7 | */
8 |
9 | namespace App\Tests\Integration\Rest\Traits\Methods\src;
10 |
11 | use App\Rest\Controller;
12 | use App\Rest\Interfaces\ResponseHandlerInterface;
13 | use App\Rest\Interfaces\RestResourceInterface;
14 | use App\Rest\Traits\Methods\FindOneMethod;
15 |
16 | /**
17 | * Class FindOneMethodTestClass - just a dummy class so that we can actually test that trait.
18 | *
19 | * @package App\Tests\Integration\Rest\Traits\Methods\src
20 | * @author TLe, Tarmo Leppänen
21 | */
22 | class FindOneMethodTestClass extends Controller
23 | {
24 | use FindOneMethod;
25 |
26 | public function __construct(
27 | RestResourceInterface $resource,
28 | ResponseHandlerInterface $responseHandler,
29 | ) {
30 | parent::__construct($resource);
31 |
32 | $this->responseHandler = $responseHandler;
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/tests/Integration/Rest/Traits/Methods/src/IdsMethodInvalidTestClass.php:
--------------------------------------------------------------------------------
1 |
7 | */
8 |
9 | namespace App\Tests\Integration\Rest\Traits\Methods\src;
10 |
11 | use App\Rest\Interfaces\ResponseHandlerInterface;
12 | use App\Rest\Interfaces\RestResourceInterface;
13 | use App\Rest\Traits\Actions\RestActionBase;
14 | use App\Rest\Traits\Methods\IdsMethod;
15 | use App\Rest\Traits\RestMethodHelper;
16 | use BadMethodCallException;
17 |
18 | /**
19 | * Class IdsMethodInvalidTestClass - just a dummy class so that we can actually test that trait.
20 | *
21 | * @package App\Tests\Integration\Rest\Traits\Methods\src
22 | * @author TLe, Tarmo Leppänen
23 | */
24 | class IdsMethodInvalidTestClass
25 | {
26 | use IdsMethod;
27 | use RestActionBase;
28 | use RestMethodHelper;
29 |
30 | public function getResource(): RestResourceInterface
31 | {
32 | throw new BadMethodCallException('This method should not be called.');
33 | }
34 |
35 | public function getResponseHandler(): ResponseHandlerInterface
36 | {
37 | throw new BadMethodCallException('This method should not be called.');
38 | }
39 | }
40 |
--------------------------------------------------------------------------------
/tests/Integration/Rest/Traits/Methods/src/IdsMethodTestClass.php:
--------------------------------------------------------------------------------
1 |
7 | */
8 |
9 | namespace App\Tests\Integration\Rest\Traits\Methods\src;
10 |
11 | use App\Rest\Controller;
12 | use App\Rest\Interfaces\ResponseHandlerInterface;
13 | use App\Rest\Interfaces\RestResourceInterface;
14 | use App\Rest\Traits\Methods\IdsMethod;
15 |
16 | /**
17 | * Class IdsMethodTestClass - just a dummy class so that we can actually test that trait.
18 | *
19 | * @package App\Tests\Integration\Rest\Traits\Methods\src
20 | * @author TLe, Tarmo Leppänen
21 | */
22 | class IdsMethodTestClass extends Controller
23 | {
24 | use IdsMethod;
25 |
26 | public function __construct(
27 | RestResourceInterface $resource,
28 | ResponseHandlerInterface $responseHandler,
29 | ) {
30 | parent::__construct($resource);
31 |
32 | $this->responseHandler = $responseHandler;
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/tests/Integration/Rest/Traits/Methods/src/PatchMethodTestClass.php:
--------------------------------------------------------------------------------
1 |
7 | */
8 |
9 | namespace App\Tests\Integration\Rest\Traits\Methods\src;
10 |
11 | use App\Rest\Controller;
12 | use App\Rest\Interfaces\ResponseHandlerInterface;
13 | use App\Rest\Interfaces\RestResourceInterface;
14 | use App\Rest\Traits\Methods\PatchMethod;
15 |
16 | /**
17 | * Class PatchMethodTestClass - just a dummy class so that we can actually test that trait.
18 | *
19 | * @package App\Tests\Integration\Rest\Traits\Methods\src
20 | * @author TLe, Tarmo Leppänen
21 | */
22 | class PatchMethodTestClass extends Controller
23 | {
24 | use PatchMethod;
25 |
26 | public function __construct(
27 | RestResourceInterface $resource,
28 | ResponseHandlerInterface $responseHandler,
29 | ) {
30 | parent::__construct($resource);
31 |
32 | $this->responseHandler = $responseHandler;
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/tests/Integration/Rest/Traits/Methods/src/UpdateMethodTestClass.php:
--------------------------------------------------------------------------------
1 |
7 | */
8 |
9 | namespace App\Tests\Integration\Rest\Traits\Methods\src;
10 |
11 | use App\Rest\Controller;
12 | use App\Rest\Interfaces\ResponseHandlerInterface;
13 | use App\Rest\Interfaces\RestResourceInterface;
14 | use App\Rest\Traits\Methods\UpdateMethod;
15 |
16 | /**
17 | * Class UpdateMethodTestClass - just a dummy class so that we can actually test that trait.
18 | *
19 | * @package App\Tests\Integration\Rest\Traits\Methods\src
20 | * @author TLe, Tarmo Leppänen
21 | */
22 | class UpdateMethodTestClass extends Controller
23 | {
24 | use UpdateMethod;
25 |
26 | public function __construct(
27 | RestResourceInterface $resource,
28 | ResponseHandlerInterface $responseHandler,
29 | ) {
30 | parent::__construct($resource);
31 |
32 | $this->responseHandler = $responseHandler;
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/tests/Integration/Validator/Constraints/src/TestConstraint.php:
--------------------------------------------------------------------------------
1 |
7 | */
8 |
9 | namespace App\Tests\Integration\Validator\Constraints\src;
10 |
11 | use Symfony\Component\Validator\Constraint;
12 |
13 | /**
14 | * @package App\Tests\Integration\Validator\Constraints\src
15 | * @author TLe, Tarmo Leppänen
16 | */
17 | class TestConstraint extends Constraint
18 | {
19 | }
20 |
--------------------------------------------------------------------------------
/tests/Integration/Validator/Constraints/src/TestEntityReference.php:
--------------------------------------------------------------------------------
1 |
7 | */
8 |
9 | namespace App\Tests\Integration\Validator\Constraints\src;
10 |
11 | use App\Entity\Interfaces\EntityInterface;
12 | use DateTimeImmutable;
13 | use Doctrine\ORM\EntityNotFoundException;
14 | use Override;
15 |
16 | /**
17 | * @package App\Tests\Integration\Validator\Constraints\src
18 | * @author TLe, Tarmo Leppänen
19 | */
20 | class TestEntityReference implements EntityInterface
21 | {
22 | public function __construct(
23 | private readonly bool $throwException = false
24 | ) {
25 | }
26 |
27 | #[Override]
28 | public function getId(): string
29 | {
30 | return 'xxx';
31 | }
32 |
33 | #[Override]
34 | public function getCreatedAt(): ?DateTimeImmutable
35 | {
36 | if ($this->throwException) {
37 | throw new EntityNotFoundException('Entity not found');
38 | }
39 |
40 | return null;
41 | }
42 | }
43 |
--------------------------------------------------------------------------------
/tests/Unit/Entity/ApiKeyTest.php:
--------------------------------------------------------------------------------
1 |
7 | */
8 |
9 | namespace App\Tests\Unit\Entity;
10 |
11 | use App\Entity\ApiKey;
12 | use App\Enum\Role;
13 | use PHPUnit\Framework\Attributes\TestDox;
14 | use Symfony\Bundle\FrameworkBundle\Test\KernelTestCase;
15 | use function strlen;
16 |
17 | /**
18 | * @package App\Tests\Unit\Entity
19 | * @author TLe, Tarmo Leppänen
20 | */
21 | class ApiKeyTest extends KernelTestCase
22 | {
23 | #[TestDox('Test that token is generated on creation of ApiKey entity')]
24 | public function testThatTokenIsGenerated(): void
25 | {
26 | self::assertSame(40, strlen((new ApiKey())->getToken()));
27 | }
28 |
29 | #[TestDox('Test that ApiKey entity has `ROLE_API` role')]
30 | public function testThatGetRolesContainsExpectedRole(): void
31 | {
32 | self::assertContainsEquals(Role::API->value, (new ApiKey())->getRoles());
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/tests/Unit/Entity/RoleTest.php:
--------------------------------------------------------------------------------
1 |
7 | */
8 |
9 | namespace App\Tests\Unit\Entity;
10 |
11 | use App\Entity\Role;
12 | use App\Entity\UserGroup;
13 | use PHPUnit\Framework\Attributes\TestDox;
14 | use Symfony\Bundle\FrameworkBundle\Test\KernelTestCase;
15 |
16 | /**
17 | * @package App\Tests\Unit\Entity
18 | * @author TLe, Tarmo Leppänen
19 | */
20 | class RoleTest extends KernelTestCase
21 | {
22 | #[TestDox('Test that `Role::getUserGroups` returns expected')]
23 | public function testThatGetUserGroupsWorksLikeExpected(): void
24 | {
25 | $userGroup = (new UserGroup())
26 | ->setName('some name');
27 |
28 | $role = new Role('some role');
29 | $role->getUserGroups()->add($userGroup);
30 |
31 | self::assertTrue($role->getUserGroups()->contains($userGroup));
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/tests/Unit/Entity/UserGroupTest.php:
--------------------------------------------------------------------------------
1 |
7 | */
8 |
9 | namespace App\Tests\Unit\Entity;
10 |
11 | use App\Entity\UserGroup;
12 | use PHPUnit\Framework\Attributes\TestDox;
13 | use Symfony\Bundle\FrameworkBundle\Test\KernelTestCase;
14 |
15 | /**
16 | * @package App\Tests\Unit\Entity
17 | * @author TLe, Tarmo Leppänen
18 | */
19 | class UserGroupTest extends KernelTestCase
20 | {
21 | #[TestDox('Test that `UserGroup::__toString` method returns expected')]
22 | public function testThatToStringMethodReturnsExpected(): void
23 | {
24 | self::assertSame(UserGroup::class, (string)(new UserGroup()));
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/tests/Unit/EventSubscriber/AcceptLanguageSubscriberTest.php:
--------------------------------------------------------------------------------
1 |
7 | */
8 |
9 | namespace App\Tests\Unit\EventSubscriber;
10 |
11 | use App\EventSubscriber\AcceptLanguageSubscriber;
12 | use PHPUnit\Framework\Attributes\TestDox;
13 | use Symfony\Bundle\FrameworkBundle\Test\KernelTestCase;
14 | use Symfony\Component\HttpKernel\Event\RequestEvent;
15 |
16 | /**
17 | * @package App\Tests\Unit\EventSubscriber
18 | * @author TLe, Tarmo Leppänen
19 | */
20 | class AcceptLanguageSubscriberTest extends KernelTestCase
21 | {
22 | #[TestDox('Test that `getSubscribedEvents` method returns expected')]
23 | public function testThatGetSubscribedEventsReturnsExpected(): void
24 | {
25 | $expected = [
26 | RequestEvent::class => [
27 | 'onKernelRequest',
28 | 100,
29 | ],
30 | ];
31 |
32 | self::assertSame($expected, AcceptLanguageSubscriber::getSubscribedEvents());
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/tests/Unit/EventSubscriber/AuthenticationFailureSubscriberTest.php:
--------------------------------------------------------------------------------
1 |
7 | */
8 |
9 | namespace App\Tests\Unit\EventSubscriber;
10 |
11 | use App\EventSubscriber\AuthenticationFailureSubscriber;
12 | use Lexik\Bundle\JWTAuthenticationBundle\Event\AuthenticationFailureEvent;
13 | use PHPUnit\Framework\Attributes\TestDox;
14 | use Symfony\Bundle\FrameworkBundle\Test\KernelTestCase;
15 |
16 | /**
17 | * @package App\Tests\Unit\EventSubscriber
18 | * @author TLe, Tarmo Leppänen
19 | */
20 | class AuthenticationFailureSubscriberTest extends KernelTestCase
21 | {
22 | #[TestDox('Test that `getSubscribedEvents` method returns expected')]
23 | public function testThatGetSubscribedEventsReturnsExpected(): void
24 | {
25 | $expected = [
26 | AuthenticationFailureEvent::class => 'onAuthenticationFailure',
27 | 'lexik_jwt_authentication.on_authentication_failure' => 'onAuthenticationFailure',
28 | ];
29 |
30 | self::assertSame($expected, AuthenticationFailureSubscriber::getSubscribedEvents());
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/tests/Unit/EventSubscriber/AuthenticationSuccessSubscriberTest.php:
--------------------------------------------------------------------------------
1 |
7 | */
8 |
9 | namespace App\Tests\Unit\EventSubscriber;
10 |
11 | use App\EventSubscriber\AuthenticationSuccessSubscriber;
12 | use Lexik\Bundle\JWTAuthenticationBundle\Event\AuthenticationSuccessEvent;
13 | use PHPUnit\Framework\Attributes\TestDox;
14 | use Symfony\Bundle\FrameworkBundle\Test\KernelTestCase;
15 |
16 | /**
17 | * @package App\Tests\Unit\EventSubscriber
18 | * @author TLe, Tarmo Leppänen
19 | */
20 | class AuthenticationSuccessSubscriberTest extends KernelTestCase
21 | {
22 | #[TestDox('Test that `getSubscribedEvents` method returns expected')]
23 | public function testThatGetSubscribedEventsReturnsExpected(): void
24 | {
25 | $expected = [
26 | AuthenticationSuccessEvent::class => 'onAuthenticationSuccess',
27 | 'lexik_jwt_authentication.on_authentication_success' => 'onAuthenticationSuccess',
28 | ];
29 |
30 | self::assertSame($expected, AuthenticationSuccessSubscriber::getSubscribedEvents());
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/tests/Unit/EventSubscriber/BodySubscriberTest.php:
--------------------------------------------------------------------------------
1 |
7 | */
8 |
9 | namespace App\Tests\Unit\EventSubscriber;
10 |
11 | use App\EventSubscriber\BodySubscriber;
12 | use PHPUnit\Framework\Attributes\TestDox;
13 | use Symfony\Bundle\FrameworkBundle\Test\KernelTestCase;
14 | use Symfony\Component\HttpKernel\Event\RequestEvent;
15 |
16 | /**
17 | * @package App\Tests\Unit\EventSubscriber
18 | * @author TLe, Tarmo Leppänen
19 | */
20 | class BodySubscriberTest extends KernelTestCase
21 | {
22 | #[TestDox('Test that `getSubscribedEvents` method returns expected')]
23 | public function testThatGetSubscribedEventsReturnsExpected(): void
24 | {
25 | $expected = [
26 | RequestEvent::class => [
27 | 'onKernelRequest',
28 | 10,
29 | ],
30 | ];
31 |
32 | self::assertSame($expected, BodySubscriber::getSubscribedEvents());
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/tests/Unit/EventSubscriber/DoctrineExtensionSubscriberTest.php:
--------------------------------------------------------------------------------
1 |
7 | */
8 |
9 | namespace App\Tests\Unit\EventSubscriber;
10 |
11 | use App\EventSubscriber\DoctrineExtensionSubscriber;
12 | use Symfony\Bundle\FrameworkBundle\Test\KernelTestCase;
13 | use Symfony\Component\HttpKernel\Event\RequestEvent;
14 |
15 | /**
16 | * @package App\Tests\Unit\EventSubscriber
17 | * @author TLe, Tarmo Leppänen
18 | */
19 | class DoctrineExtensionSubscriberTest extends KernelTestCase
20 | {
21 | public function testThatGetSubscribedEventsReturnsExpected(): void
22 | {
23 | $expected = [
24 | RequestEvent::class => 'onKernelRequest',
25 | ];
26 |
27 | self::assertSame($expected, DoctrineExtensionSubscriber::getSubscribedEvents());
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/tests/Unit/EventSubscriber/ExceptionSubscriberTest.php:
--------------------------------------------------------------------------------
1 |
7 | */
8 |
9 | namespace App\Tests\Unit\EventSubscriber;
10 |
11 | use App\EventSubscriber\ExceptionSubscriber;
12 | use PHPUnit\Framework\Attributes\TestDox;
13 | use Symfony\Bundle\FrameworkBundle\Test\KernelTestCase;
14 | use Symfony\Component\HttpKernel\Event\ExceptionEvent;
15 |
16 | /**
17 | * @package App\Tests\Unit\EventSubscriber
18 | * @author TLe, Tarmo Leppänen
19 | */
20 | class ExceptionSubscriberTest extends KernelTestCase
21 | {
22 | #[TestDox('Test that `getSubscribedEvents` method returns expected')]
23 | public function testThatGetSubscribedEventsReturnsExpected(): void
24 | {
25 | $expected = [
26 | ExceptionEvent::class => [
27 | 'onKernelException',
28 | -100,
29 | ],
30 | ];
31 |
32 | self::assertSame($expected, ExceptionSubscriber::getSubscribedEvents());
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/tests/Unit/EventSubscriber/JWTCreatedSubscriberTest.php:
--------------------------------------------------------------------------------
1 |
7 | */
8 |
9 | namespace App\Tests\Unit\EventSubscriber;
10 |
11 | use App\EventSubscriber\JWTCreatedSubscriber;
12 | use Lexik\Bundle\JWTAuthenticationBundle\Event\JWTCreatedEvent;
13 | use PHPUnit\Framework\Attributes\TestDox;
14 | use Symfony\Bundle\FrameworkBundle\Test\KernelTestCase;
15 |
16 | /**
17 | * @package App\Tests\Unit\EventSubscriber
18 | * @author TLe, Tarmo Leppänen
19 | */
20 | class JWTCreatedSubscriberTest extends KernelTestCase
21 | {
22 | #[TestDox('Test that `getSubscribedEvents` method returns expected')]
23 | public function testThatGetSubscribedEventsReturnsExpected(): void
24 | {
25 | $expected = [
26 | JWTCreatedEvent::class => 'onJWTCreated',
27 | 'lexik_jwt_authentication.on_jwt_created' => 'onJWTCreated',
28 | ];
29 |
30 | self::assertSame($expected, JWTCreatedSubscriber::getSubscribedEvents());
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/tests/Unit/EventSubscriber/JWTDecodedSubscriberTest.php:
--------------------------------------------------------------------------------
1 |
7 | */
8 |
9 | namespace App\Tests\Unit\EventSubscriber;
10 |
11 | use App\EventSubscriber\JWTDecodedSubscriber;
12 | use Lexik\Bundle\JWTAuthenticationBundle\Event\JWTDecodedEvent;
13 | use PHPUnit\Framework\Attributes\TestDox;
14 | use Symfony\Bundle\FrameworkBundle\Test\KernelTestCase;
15 |
16 | /**
17 | * @package App\Tests\Unit\EventSubscriber
18 | * @author TLe, Tarmo Leppänen
19 | */
20 | class JWTDecodedSubscriberTest extends KernelTestCase
21 | {
22 | #[TestDox('Test that `getSubscribedEvents` method returns expected')]
23 | public function testThatGetSubscribedEventsReturnsExpected(): void
24 | {
25 | $expected = [
26 | JWTDecodedEvent::class => 'onJWTDecoded',
27 | 'lexik_jwt_authentication.on_jwt_decoded' => 'onJWTDecoded',
28 | ];
29 |
30 | self::assertSame($expected, JWTDecodedSubscriber::getSubscribedEvents());
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/tests/Unit/EventSubscriber/RequestLogSubscriberTest.php:
--------------------------------------------------------------------------------
1 |
7 | */
8 |
9 | namespace App\Tests\Unit\EventSubscriber;
10 |
11 | use App\EventSubscriber\RequestLogSubscriber;
12 | use PHPUnit\Framework\Attributes\TestDox;
13 | use Symfony\Bundle\FrameworkBundle\Test\KernelTestCase;
14 | use Symfony\Component\HttpKernel\Event\TerminateEvent;
15 |
16 | /**
17 | * @package App\Tests\Unit\EventSubscriber
18 | * @author TLe, Tarmo Leppänen
19 | */
20 | class RequestLogSubscriberTest extends KernelTestCase
21 | {
22 | #[TestDox('Test that `getSubscribedEvents` method returns expected')]
23 | public function testThatGetSubscribedEventsReturnsExpected(): void
24 | {
25 | $expected = [
26 | TerminateEvent::class => [
27 | 'onTerminateEvent',
28 | 15,
29 | ],
30 | ];
31 |
32 | self::assertSame($expected, RequestLogSubscriber::getSubscribedEvents());
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/tests/Unit/EventSubscriber/ResponseSubscriberTest.php:
--------------------------------------------------------------------------------
1 |
7 | */
8 |
9 | namespace App\Tests\Unit\EventSubscriber;
10 |
11 | use App\EventSubscriber\ResponseSubscriber;
12 | use PHPUnit\Framework\Attributes\TestDox;
13 | use Symfony\Bundle\FrameworkBundle\Test\KernelTestCase;
14 | use Symfony\Component\HttpKernel\Event\ResponseEvent;
15 |
16 | /**
17 | * @package App\Tests\Unit\EventSubscriber
18 | * @author TLe, Tarmo Leppänen
19 | */
20 | class ResponseSubscriberTest extends KernelTestCase
21 | {
22 | #[TestDox('Test that `getSubscribedEvents` method returns expected')]
23 | public function testThatGetSubscribedEventsReturnsExpected(): void
24 | {
25 | $expected = [
26 | ResponseEvent::class => [
27 | 'onKernelResponse',
28 | 10,
29 | ],
30 | ];
31 |
32 | self::assertSame($expected, ResponseSubscriber::getSubscribedEvents());
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/tests/Unit/Validator/Constraints/EntityReferenceExistsTest.php:
--------------------------------------------------------------------------------
1 |
7 | */
8 |
9 | namespace App\Tests\Unit\Validator\Constraints;
10 |
11 | use App\Validator\Constraints\EntityReferenceExists;
12 | use PHPUnit\Framework\Attributes\TestDox;
13 | use Symfony\Bundle\FrameworkBundle\Test\KernelTestCase;
14 |
15 | /**
16 | * @package App\Tests\Unit\Validator\Constraints
17 | * @author TLe, Tarmo Leppänen
18 | */
19 | class EntityReferenceExistsTest extends KernelTestCase
20 | {
21 | #[TestDox('Test that `getTargets` method returns expected')]
22 | public function testThatGetTargetsReturnsExpected(): void
23 | {
24 | self::assertSame('property', (new EntityReferenceExists())->getTargets());
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/tests/Unit/Validator/Constraints/LanguageTest.php:
--------------------------------------------------------------------------------
1 |
7 | */
8 |
9 | namespace App\Tests\Unit\Validator\Constraints;
10 |
11 | use App\Validator\Constraints\Language;
12 | use PHPUnit\Framework\Attributes\TestDox;
13 | use Symfony\Bundle\FrameworkBundle\Test\KernelTestCase;
14 |
15 | /**
16 | * @package App\Tests\Unit\Validator\Constraints
17 | * @author TLe, Tarmo Leppänen
18 | */
19 | class LanguageTest extends KernelTestCase
20 | {
21 | #[TestDox('Test that `getTargets` method returns expected')]
22 | public function testThatGetTargetsReturnsExpected(): void
23 | {
24 | self::assertSame('property', (new Language())->getTargets());
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/tests/Unit/Validator/Constraints/LocaleTest.php:
--------------------------------------------------------------------------------
1 |
7 | */
8 |
9 | namespace App\Tests\Unit\Validator\Constraints;
10 |
11 | use App\Validator\Constraints\Locale;
12 | use PHPUnit\Framework\Attributes\TestDox;
13 | use Symfony\Bundle\FrameworkBundle\Test\KernelTestCase;
14 |
15 | /**
16 | * @package App\Tests\Unit\Validator\Constraints
17 | * @author TLe, Tarmo Leppänen
18 | */
19 | class LocaleTest extends KernelTestCase
20 | {
21 | #[TestDox('Test that `getTargets` method returns expected')]
22 | public function testThatGetTargetsReturnsExpected(): void
23 | {
24 | self::assertSame('property', (new Locale())->getTargets());
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/tests/Unit/Validator/Constraints/TimezoneTest.php:
--------------------------------------------------------------------------------
1 |
7 | */
8 |
9 | namespace App\Tests\Unit\Validator\Constraints;
10 |
11 | use App\Validator\Constraints\Timezone;
12 | use PHPUnit\Framework\Attributes\TestDox;
13 | use Symfony\Bundle\FrameworkBundle\Test\KernelTestCase;
14 |
15 | /**
16 | * @package App\Tests\Unit\Validator\Constraints
17 | * @author TLe, Tarmo Leppänen
18 | */
19 | class TimezoneTest extends KernelTestCase
20 | {
21 | #[TestDox('Test that `getTargets` method returns expected')]
22 | public function testThatGetTargetsReturnsExpected(): void
23 | {
24 | self::assertSame('property', (new Timezone())->getTargets());
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/tests/Unit/Validator/Constraints/UniqueEmailTest.php:
--------------------------------------------------------------------------------
1 |
7 | */
8 |
9 | namespace App\Tests\Unit\Validator\Constraints;
10 |
11 | use App\Validator\Constraints\UniqueEmail;
12 | use PHPUnit\Framework\Attributes\TestDox;
13 | use Symfony\Bundle\FrameworkBundle\Test\KernelTestCase;
14 |
15 | /**
16 | * @package App\Tests\Unit\Validator\Constraints
17 | * @author TLe, Tarmo Leppänen
18 | */
19 | class UniqueEmailTest extends KernelTestCase
20 | {
21 | #[TestDox('Test that `getTargets` method returns expected')]
22 | public function testThatGetTargetsReturnsExpected(): void
23 | {
24 | self::assertSame('class', (new UniqueEmail())->getTargets());
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/tests/Unit/Validator/Constraints/UniqueUsernameTest.php:
--------------------------------------------------------------------------------
1 |
7 | */
8 |
9 | namespace App\Tests\Unit\Validator\Constraints;
10 |
11 | use App\Validator\Constraints\UniqueUsername;
12 | use PHPUnit\Framework\Attributes\TestDox;
13 | use Symfony\Bundle\FrameworkBundle\Test\KernelTestCase;
14 |
15 | /**
16 | * @package App\Tests\Unit\Validator\Constraints
17 | * @author TLe, Tarmo Leppänen
18 | */
19 | class UniqueUsernameTest extends KernelTestCase
20 | {
21 | #[TestDox('Test that `getTargets` method returns expected')]
22 | public function testThatGetTargetsReturnsExpected(): void
23 | {
24 | self::assertSame('class', (new UniqueUsername())->getTargets());
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/tests/Utils/StringableArrayObject.php:
--------------------------------------------------------------------------------
1 |
7 | */
8 |
9 | namespace App\Tests\Utils;
10 |
11 | use App\Utils\JSON;
12 | use ArrayObject;
13 | use JsonException;
14 | use Override;
15 | use Stringable;
16 |
17 | /**
18 | * @psalm-suppress MissingTemplateParam
19 | *
20 | * @package App\Tests\Utils
21 | * @author TLe, Tarmo Leppänen
22 | */
23 | class StringableArrayObject extends ArrayObject implements Stringable
24 | {
25 | /**
26 | * @throws JsonException
27 | */
28 | #[Override]
29 | public function __toString(): string
30 | {
31 | $iterator = static fn (mixed $input): mixed => $input instanceof Stringable ? (string)$input : $input;
32 |
33 | return JSON::encode(array_map($iterator, $this->getArrayCopy()));
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/tests/bootstrap_fastest.php:
--------------------------------------------------------------------------------
1 |
8 | */
9 | $files = glob(sprintf('%s%stest_database_cache*', sys_get_temp_dir(), DIRECTORY_SEPARATOR));
10 |
11 | is_array($files) ? array_map('unlink', $files) : throw new RuntimeException('Cannot real cache files...');
12 |
--------------------------------------------------------------------------------
/tools/02_phpstan/.gitignore:
--------------------------------------------------------------------------------
1 | vendor
2 |
--------------------------------------------------------------------------------
/tools/02_phpstan/composer.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "tarlepp/symfony-flex-backend-tools",
3 | "description": "",
4 | "version": "1.0.0",
5 | "require": {
6 | "php": "^8.4.0"
7 | },
8 | "require-dev": {
9 | "phpstan/phpstan": "2.1.17",
10 | "phpstan/phpstan-deprecation-rules": "2.0.3",
11 | "phpstan/phpstan-phpunit": "2.0.6",
12 | "phpstan/phpstan-symfony": "2.0.6",
13 | "roave/security-advisories": "dev-latest"
14 | },
15 | "config": {
16 | "allow-plugins": true,
17 | "platform": {
18 | "php": "8.4.6"
19 | },
20 | "preferred-install": {
21 | "*": "dist"
22 | },
23 | "sort-packages": true
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/tools/03_psalm/.gitignore:
--------------------------------------------------------------------------------
1 | vendor
2 |
--------------------------------------------------------------------------------
/tools/03_psalm/composer.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "tarlepp/symfony-flex-backend-tools",
3 | "description": "",
4 | "version": "1.0.0",
5 | "require": {
6 | "php": "^8.3.0"
7 | },
8 | "require-dev": {
9 | "roave/security-advisories": "dev-latest",
10 | "psalm/plugin-phpunit": "0.19.5",
11 | "psalm/plugin-symfony": "5.2.7",
12 | "vimeo/psalm": "6.11.0",
13 | "weirdan/doctrine-psalm-plugin": "2.10.0"
14 | },
15 | "config": {
16 | "allow-plugins": true,
17 | "platform": {
18 | "php": "8.4.6"
19 | },
20 | "preferred-install": {
21 | "*": "dist"
22 | },
23 | "sort-packages": true
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/tools/04_symplify/.gitignore:
--------------------------------------------------------------------------------
1 | vendor
2 |
--------------------------------------------------------------------------------
/tools/04_symplify/composer.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "tarlepp/symfony-flex-backend-tools",
3 | "description": "",
4 | "version": "1.0.0",
5 | "require": {
6 | "php": "^8.4.0"
7 | },
8 | "require-dev": {
9 | "friendsofphp/php-cs-fixer": "3.75.0",
10 | "roave/security-advisories": "dev-latest",
11 | "symplify/config-transformer": "12.4.0",
12 | "symplify/easy-coding-standard": "12.5.18"
13 | },
14 | "config": {
15 | "allow-plugins": true,
16 | "platform": {
17 | "php": "8.4.6"
18 | },
19 | "preferred-install": {
20 | "*": "dist"
21 | },
22 | "sort-packages": true
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/tools/05_infection/.gitignore:
--------------------------------------------------------------------------------
1 | vendor
2 |
--------------------------------------------------------------------------------
/tools/05_infection/composer.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "tarlepp/symfony-flex-backend-tools",
3 | "description": "",
4 | "version": "1.0.0",
5 | "require": {
6 | "php": "^8.4.0"
7 | },
8 | "require-dev": {
9 | "infection/infection": "0.29.14",
10 | "roave/security-advisories": "dev-latest"
11 | },
12 | "config": {
13 | "allow-plugins": true,
14 | "platform": {
15 | "php": "8.4.6"
16 | },
17 | "preferred-install": {
18 | "*": "dist"
19 | },
20 | "sort-packages": true
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/tools/06_php-coveralls/.gitignore:
--------------------------------------------------------------------------------
1 | vendor
2 |
--------------------------------------------------------------------------------
/tools/06_php-coveralls/composer.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "tarlepp/symfony-flex-backend-tools",
3 | "description": "",
4 | "version": "1.0.0",
5 | "require": {
6 | "php": "^8.4.0"
7 | },
8 | "require-dev": {
9 | "php-coveralls/php-coveralls": "2.8.0",
10 | "roave/security-advisories": "dev-latest"
11 | },
12 | "config": {
13 | "allow-plugins": true,
14 | "platform": {
15 | "php": "8.4.6"
16 | },
17 | "preferred-install": {
18 | "*": "dist"
19 | },
20 | "sort-packages": true
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/tools/07_phpinsights/.gitignore:
--------------------------------------------------------------------------------
1 | vendor
2 |
--------------------------------------------------------------------------------
/tools/07_phpinsights/composer.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "tarlepp/symfony-flex-backend-tools",
3 | "description": "",
4 | "version": "1.0.0",
5 | "require": {
6 | "php": "^8.4.0"
7 | },
8 | "require-dev": {
9 | "nunomaduro/phpinsights": "2.13.1",
10 | "roave/security-advisories": "dev-latest"
11 | },
12 | "config": {
13 | "allow-plugins": true,
14 | "platform": {
15 | "php": "8.4.6"
16 | },
17 | "preferred-install": {
18 | "*": "dist"
19 | },
20 | "sort-packages": true
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/tools/08_phpmetrics/.gitignore:
--------------------------------------------------------------------------------
1 | vendor
2 |
--------------------------------------------------------------------------------
/tools/08_phpmetrics/composer.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "tarlepp/symfony-flex-backend-tools",
3 | "description": "",
4 | "version": "1.0.0",
5 | "require": {
6 | "php": "^8.4.0"
7 | },
8 | "require-dev": {
9 | "phpmetrics/phpmetrics": "2.8.2",
10 | "roave/security-advisories": "dev-latest"
11 | },
12 | "config": {
13 | "allow-plugins": true,
14 | "platform": {
15 | "php": "8.4.6"
16 | },
17 | "preferred-install": {
18 | "*": "dist"
19 | },
20 | "sort-packages": true
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/tools/09_rector/.gitignore:
--------------------------------------------------------------------------------
1 | vendor
2 |
--------------------------------------------------------------------------------
/tools/09_rector/composer.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "tarlepp/symfony-flex-backend-tools",
3 | "description": "",
4 | "version": "1.0.0",
5 | "require": {
6 | "php": "^8.4.0"
7 | },
8 | "require-dev": {
9 | "rector/rector": "2.0.16",
10 | "roave/security-advisories": "dev-latest"
11 | },
12 | "config": {
13 | "allow-plugins": true,
14 | "platform": {
15 | "php": "8.4.6"
16 | },
17 | "preferred-install": {
18 | "*": "dist"
19 | },
20 | "sort-packages": true
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/tools/10_composer/.gitignore:
--------------------------------------------------------------------------------
1 | vendor
2 |
--------------------------------------------------------------------------------
/tools/10_composer/composer.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "tarlepp/symfony-flex-backend-tools",
3 | "description": "",
4 | "version": "1.0.0",
5 | "require": {
6 | "php": "^8.4.0"
7 | },
8 | "require-dev": {
9 | "ergebnis/composer-normalize": "2.47.0",
10 | "icanhazstring/composer-unused": "0.9.3",
11 | "maglnet/composer-require-checker": "4.16.1",
12 | "roave/security-advisories": "dev-latest"
13 | },
14 | "config": {
15 | "allow-plugins": true,
16 | "platform": {
17 | "php": "8.4.6"
18 | },
19 | "preferred-install": {
20 | "*": "dist"
21 | },
22 | "sort-packages": true
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/tools/11_phplint/.gitignore:
--------------------------------------------------------------------------------
1 | vendor
2 |
--------------------------------------------------------------------------------
/tools/11_phplint/composer.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "tarlepp/symfony-flex-backend-tools",
3 | "description": "",
4 | "version": "1.0.0",
5 | "require": {
6 | "php": "^8.4.0"
7 | },
8 | "require-dev": {
9 | "overtrue/phplint": "9.6.2",
10 | "roave/security-advisories": "dev-latest"
11 | },
12 | "config": {
13 | "allow-plugins": true,
14 | "platform": {
15 | "php": "8.4.6"
16 | },
17 | "preferred-install": {
18 | "*": "dist"
19 | },
20 | "sort-packages": true
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/tools/12_php-parallel-lint/.gitignore:
--------------------------------------------------------------------------------
1 | vendor
2 |
--------------------------------------------------------------------------------
/tools/12_php-parallel-lint/composer.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "tarlepp/symfony-flex-backend-tools",
3 | "description": "",
4 | "version": "1.0.0",
5 | "require": {
6 | "php": "^8.4.0"
7 | },
8 | "require-dev": {
9 | "php-parallel-lint/php-console-highlighter": "1.0.0",
10 | "php-parallel-lint/php-parallel-lint": "1.4.0",
11 | "roave/security-advisories": "dev-latest"
12 | },
13 | "config": {
14 | "allow-plugins": true,
15 | "platform": {
16 | "php": "8.4.6"
17 | },
18 | "preferred-install": {
19 | "*": "dist"
20 | },
21 | "sort-packages": true
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/translations/.gitignore:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tarlepp/symfony-flex-backend/ea11d123bc3a063ea0362fcf110d7cd50246b290/translations/.gitignore
--------------------------------------------------------------------------------
/translations/security+intl-icu.fi.xlf:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
7 |
8 |
9 | Invalid credentials.
10 | Virheelliset käyttäjätunnukset.
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------