diff --git a/.env.test b/.env.test
index 9e7162f..8c4453f 100644
--- a/.env.test
+++ b/.env.test
@@ -4,3 +4,4 @@ APP_SECRET='$ecretf0rt3st'
SYMFONY_DEPRECATIONS_HELPER=999999
PANTHER_APP_ENV=panther
PANTHER_ERROR_SCREENSHOT_DIR=./var/error-screenshots
+DATABASE_URL="sqlite:///%kernel.project_dir%/var/test-data.db"
diff --git a/.gitignore b/.gitignore
index 80c163f..feabc44 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,4 @@
+
###> symfony/framework-bundle ###
/.env.local
/.env.local.php
@@ -7,13 +8,17 @@
/var/
/vendor/
###< symfony/framework-bundle ###
+
+###> symfony/phpunit-bridge ###
+.phpunit.result.cache
+/phpunit.xml
+###< symfony/phpunit-bridge ###
+
+###> phpunit/phpunit ###
+/phpunit.xml
+.phpunit.result.cache
+###< phpunit/phpunit ###
+
.idea/
/deploy/var/
/deploy/app/
-
-###> phpunit/phpunit ###
-.phpunit.result.cache
-.phpunit.cache
-###< phpunit/phpunit ###
-
-.DS_Store
diff --git a/bin/phpunit b/bin/phpunit
new file mode 100755
index 0000000..692bacc
--- /dev/null
+++ b/bin/phpunit
@@ -0,0 +1,23 @@
+#!/usr/bin/env php
+= 80000) {
+ require dirname(__DIR__).'/vendor/phpunit/phpunit/phpunit';
+ } else {
+ define('PHPUNIT_COMPOSER_INSTALL', dirname(__DIR__).'/vendor/autoload.php');
+ require PHPUNIT_COMPOSER_INSTALL;
+ PHPUnit\TextUI\Command::main();
+ }
+} else {
+ if (!is_file(dirname(__DIR__).'/vendor/symfony/phpunit-bridge/bin/simple-phpunit.php')) {
+ echo "Unable to find the `simple-phpunit.php` script in `vendor/symfony/phpunit-bridge/bin/`.\n";
+ exit(1);
+ }
+
+ require dirname(__DIR__).'/vendor/symfony/phpunit-bridge/bin/simple-phpunit.php';
+}
diff --git a/composer.json b/composer.json
index cee8952..003b2b5 100644
--- a/composer.json
+++ b/composer.json
@@ -27,21 +27,21 @@
"require-dev": {
"doctrine/doctrine-fixtures-bundle": "^4.0",
"lubiana/code-quality": "^1.7.2",
- "pestphp/pest": "^3.6",
+ "phpunit/phpunit": "^9.6.20",
"symfony/browser-kit": "7.2.*",
"symfony/css-selector": "7.2.*",
"symfony/maker-bundle": "^1.60",
+ "symfony/phpunit-bridge": "7.2.*",
"symfony/stopwatch": "7.2.*",
"symfony/web-profiler-bundle": "7.2.*",
"symplify/config-transformer": "^12.3.4"
},
"config": {
"allow-plugins": {
- "dealerdirect/phpcodesniffer-composer-installer": true,
- "pestphp/pest-plugin": true,
"php-http/discovery": true,
"symfony/flex": true,
- "symfony/runtime": true
+ "symfony/runtime": true,
+ "dealerdirect/phpcodesniffer-composer-installer": true
},
"sort-packages": true,
"platform": {
@@ -85,7 +85,7 @@
"rector",
"ecs --fix || ecs --fix"
],
- "test": "pest"
+ "test": "bin/phpunit"
},
"conflict": {
"symfony/symfony": "*"
diff --git a/composer.lock b/composer.lock
index 010adbd..2d25c27 100644
--- a/composer.lock
+++ b/composer.lock
@@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
- "content-hash": "4fba1a1a5208d87d9e9070b4fb16ff3b",
+ "content-hash": "9914f982d0228ab4735cb683fe2cb7e4",
"packages": [
{
"name": "doctrine/cache",
@@ -458,16 +458,16 @@
},
{
"name": "doctrine/doctrine-migrations-bundle",
- "version": "3.4.1",
+ "version": "3.4.0",
"source": {
"type": "git",
"url": "https://github.com/doctrine/DoctrineMigrationsBundle.git",
- "reference": "e858ce0f5c12b266dce7dce24834448355155da7"
+ "reference": "a5c5fe0d2c6b911c03555046febb05a05a347078"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/doctrine/DoctrineMigrationsBundle/zipball/e858ce0f5c12b266dce7dce24834448355155da7",
- "reference": "e858ce0f5c12b266dce7dce24834448355155da7",
+ "url": "https://api.github.com/repos/doctrine/DoctrineMigrationsBundle/zipball/a5c5fe0d2c6b911c03555046febb05a05a347078",
+ "reference": "a5c5fe0d2c6b911c03555046febb05a05a347078",
"shasum": ""
},
"require": {
@@ -524,7 +524,7 @@
],
"support": {
"issues": "https://github.com/doctrine/DoctrineMigrationsBundle/issues",
- "source": "https://github.com/doctrine/DoctrineMigrationsBundle/tree/3.4.1"
+ "source": "https://github.com/doctrine/DoctrineMigrationsBundle/tree/3.4.0"
},
"funding": [
{
@@ -540,7 +540,7 @@
"type": "tidelift"
}
],
- "time": "2025-01-27T22:48:22+00:00"
+ "time": "2025-01-16T20:28:10+00:00"
},
{
"name": "doctrine/event-manager",
@@ -1467,16 +1467,16 @@
},
{
"name": "symfony/cache",
- "version": "v7.2.3",
+ "version": "v7.2.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/cache.git",
- "reference": "8d773a575e446de220dca03d600b2d8e1c1c10ec"
+ "reference": "e7e983596b744c4539f31e79b0350a6cf5878a20"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/cache/zipball/8d773a575e446de220dca03d600b2d8e1c1c10ec",
- "reference": "8d773a575e446de220dca03d600b2d8e1c1c10ec",
+ "url": "https://api.github.com/repos/symfony/cache/zipball/e7e983596b744c4539f31e79b0350a6cf5878a20",
+ "reference": "e7e983596b744c4539f31e79b0350a6cf5878a20",
"shasum": ""
},
"require": {
@@ -1545,7 +1545,7 @@
"psr6"
],
"support": {
- "source": "https://github.com/symfony/cache/tree/v7.2.3"
+ "source": "https://github.com/symfony/cache/tree/v7.2.1"
},
"funding": [
{
@@ -1561,7 +1561,7 @@
"type": "tidelift"
}
],
- "time": "2025-01-27T11:08:17+00:00"
+ "time": "2024-12-07T08:08:50+00:00"
},
{
"name": "symfony/cache-contracts",
@@ -1641,16 +1641,16 @@
},
{
"name": "symfony/config",
- "version": "v7.2.3",
+ "version": "v7.2.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/config.git",
- "reference": "7716594aaae91d9141be080240172a92ecca4d44"
+ "reference": "bcd3c4adf0144dee5011bb35454728c38adec055"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/config/zipball/7716594aaae91d9141be080240172a92ecca4d44",
- "reference": "7716594aaae91d9141be080240172a92ecca4d44",
+ "url": "https://api.github.com/repos/symfony/config/zipball/bcd3c4adf0144dee5011bb35454728c38adec055",
+ "reference": "bcd3c4adf0144dee5011bb35454728c38adec055",
"shasum": ""
},
"require": {
@@ -1696,7 +1696,7 @@
"description": "Helps you find, load, combine, autofill and validate configuration values of any kind",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/config/tree/v7.2.3"
+ "source": "https://github.com/symfony/config/tree/v7.2.0"
},
"funding": [
{
@@ -1712,7 +1712,7 @@
"type": "tidelift"
}
],
- "time": "2025-01-22T12:07:01+00:00"
+ "time": "2024-11-04T11:36:24+00:00"
},
{
"name": "symfony/console",
@@ -1809,16 +1809,16 @@
},
{
"name": "symfony/dependency-injection",
- "version": "v7.2.3",
+ "version": "v7.2.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/dependency-injection.git",
- "reference": "1d321c4bc3fe926fd4c38999a4c9af4f5d61ddfc"
+ "reference": "a475747af1a1c98272a5471abc35f3da81197c5d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/1d321c4bc3fe926fd4c38999a4c9af4f5d61ddfc",
- "reference": "1d321c4bc3fe926fd4c38999a4c9af4f5d61ddfc",
+ "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/a475747af1a1c98272a5471abc35f3da81197c5d",
+ "reference": "a475747af1a1c98272a5471abc35f3da81197c5d",
"shasum": ""
},
"require": {
@@ -1869,7 +1869,7 @@
"description": "Allows you to standardize and centralize the way objects are constructed in your application",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/dependency-injection/tree/v7.2.3"
+ "source": "https://github.com/symfony/dependency-injection/tree/v7.2.0"
},
"funding": [
{
@@ -1885,7 +1885,7 @@
"type": "tidelift"
}
],
- "time": "2025-01-17T10:56:55+00:00"
+ "time": "2024-11-25T15:45:00+00:00"
},
{
"name": "symfony/deprecation-contracts",
@@ -1956,21 +1956,21 @@
},
{
"name": "symfony/doctrine-bridge",
- "version": "v7.2.3",
+ "version": "v7.2.2",
"source": {
"type": "git",
"url": "https://github.com/symfony/doctrine-bridge.git",
- "reference": "7a183fdfb472c5487480baa128a41ed47367723e"
+ "reference": "f12195479a55b77bc8427b48443b966622f4a18b"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/doctrine-bridge/zipball/7a183fdfb472c5487480baa128a41ed47367723e",
- "reference": "7a183fdfb472c5487480baa128a41ed47367723e",
+ "url": "https://api.github.com/repos/symfony/doctrine-bridge/zipball/f12195479a55b77bc8427b48443b966622f4a18b",
+ "reference": "f12195479a55b77bc8427b48443b966622f4a18b",
"shasum": ""
},
"require": {
"doctrine/event-manager": "^2",
- "doctrine/persistence": "^3.1|^4",
+ "doctrine/persistence": "^3.1",
"php": ">=8.2",
"symfony/deprecation-contracts": "^2.5|^3",
"symfony/polyfill-ctype": "~1.8",
@@ -2045,7 +2045,7 @@
"description": "Provides integration for Doctrine with various Symfony components",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/doctrine-bridge/tree/v7.2.3"
+ "source": "https://github.com/symfony/doctrine-bridge/tree/v7.2.2"
},
"funding": [
{
@@ -2061,7 +2061,7 @@
"type": "tidelift"
}
],
- "time": "2025-01-27T11:08:17+00:00"
+ "time": "2024-12-19T14:25:03+00:00"
},
{
"name": "symfony/dotenv",
@@ -2139,16 +2139,16 @@
},
{
"name": "symfony/error-handler",
- "version": "v7.2.3",
+ "version": "v7.2.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/error-handler.git",
- "reference": "959a74d044a6db21f4caa6d695648dcb5584cb49"
+ "reference": "6150b89186573046167796fa5f3f76601d5145f8"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/error-handler/zipball/959a74d044a6db21f4caa6d695648dcb5584cb49",
- "reference": "959a74d044a6db21f4caa6d695648dcb5584cb49",
+ "url": "https://api.github.com/repos/symfony/error-handler/zipball/6150b89186573046167796fa5f3f76601d5145f8",
+ "reference": "6150b89186573046167796fa5f3f76601d5145f8",
"shasum": ""
},
"require": {
@@ -2194,7 +2194,7 @@
"description": "Provides tools to manage errors and ease debugging PHP code",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/error-handler/tree/v7.2.3"
+ "source": "https://github.com/symfony/error-handler/tree/v7.2.1"
},
"funding": [
{
@@ -2210,7 +2210,7 @@
"type": "tidelift"
}
],
- "time": "2025-01-07T09:39:55+00:00"
+ "time": "2024-12-07T08:50:44+00:00"
},
{
"name": "symfony/event-dispatcher",
@@ -2665,16 +2665,16 @@
},
{
"name": "symfony/framework-bundle",
- "version": "v7.1.11",
+ "version": "v7.1.10",
"source": {
"type": "git",
"url": "https://github.com/symfony/framework-bundle.git",
- "reference": "1eae7a4e095a2a3851cb41ac2aea9aa60fba1df8"
+ "reference": "51b99e2307a79640b4c574a81b46ac918d13c89d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/framework-bundle/zipball/1eae7a4e095a2a3851cb41ac2aea9aa60fba1df8",
- "reference": "1eae7a4e095a2a3851cb41ac2aea9aa60fba1df8",
+ "url": "https://api.github.com/repos/symfony/framework-bundle/zipball/51b99e2307a79640b4c574a81b46ac918d13c89d",
+ "reference": "51b99e2307a79640b4c574a81b46ac918d13c89d",
"shasum": ""
},
"require": {
@@ -2793,7 +2793,7 @@
"description": "Provides a tight integration between Symfony components and the Symfony full-stack framework",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/framework-bundle/tree/v7.1.11"
+ "source": "https://github.com/symfony/framework-bundle/tree/v7.1.10"
},
"funding": [
{
@@ -2809,20 +2809,20 @@
"type": "tidelift"
}
],
- "time": "2025-01-29T07:13:42+00:00"
+ "time": "2024-12-19T14:23:39+00:00"
},
{
"name": "symfony/http-foundation",
- "version": "v7.2.3",
+ "version": "v7.2.2",
"source": {
"type": "git",
"url": "https://github.com/symfony/http-foundation.git",
- "reference": "ee1b504b8926198be89d05e5b6fc4c3810c090f0"
+ "reference": "62d1a43796ca3fea3f83a8470dfe63a4af3bc588"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/http-foundation/zipball/ee1b504b8926198be89d05e5b6fc4c3810c090f0",
- "reference": "ee1b504b8926198be89d05e5b6fc4c3810c090f0",
+ "url": "https://api.github.com/repos/symfony/http-foundation/zipball/62d1a43796ca3fea3f83a8470dfe63a4af3bc588",
+ "reference": "62d1a43796ca3fea3f83a8470dfe63a4af3bc588",
"shasum": ""
},
"require": {
@@ -2871,7 +2871,7 @@
"description": "Defines an object-oriented layer for the HTTP specification",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/http-foundation/tree/v7.2.3"
+ "source": "https://github.com/symfony/http-foundation/tree/v7.2.2"
},
"funding": [
{
@@ -2887,20 +2887,20 @@
"type": "tidelift"
}
],
- "time": "2025-01-17T10:56:55+00:00"
+ "time": "2024-12-30T19:00:17+00:00"
},
{
"name": "symfony/http-kernel",
- "version": "v7.2.3",
+ "version": "v7.2.2",
"source": {
"type": "git",
"url": "https://github.com/symfony/http-kernel.git",
- "reference": "caae9807f8e25a9b43ce8cc6fafab6cf91f0cc9b"
+ "reference": "3c432966bd8c7ec7429663105f5a02d7e75b4306"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/http-kernel/zipball/caae9807f8e25a9b43ce8cc6fafab6cf91f0cc9b",
- "reference": "caae9807f8e25a9b43ce8cc6fafab6cf91f0cc9b",
+ "url": "https://api.github.com/repos/symfony/http-kernel/zipball/3c432966bd8c7ec7429663105f5a02d7e75b4306",
+ "reference": "3c432966bd8c7ec7429663105f5a02d7e75b4306",
"shasum": ""
},
"require": {
@@ -2985,7 +2985,7 @@
"description": "Provides a structured process for converting a Request into a Response",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/http-kernel/tree/v7.2.3"
+ "source": "https://github.com/symfony/http-kernel/tree/v7.2.2"
},
"funding": [
{
@@ -3001,7 +3001,7 @@
"type": "tidelift"
}
],
- "time": "2025-01-29T07:40:13+00:00"
+ "time": "2024-12-31T14:59:40+00:00"
},
{
"name": "symfony/options-resolver",
@@ -3546,16 +3546,16 @@
},
{
"name": "symfony/property-access",
- "version": "v7.2.3",
+ "version": "v7.2.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/property-access.git",
- "reference": "b28732e315d81fbec787f838034de7d6c9b2b902"
+ "reference": "3ae42efba01e45aaedecf5c93c8d6a3ab3a82276"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/property-access/zipball/b28732e315d81fbec787f838034de7d6c9b2b902",
- "reference": "b28732e315d81fbec787f838034de7d6c9b2b902",
+ "url": "https://api.github.com/repos/symfony/property-access/zipball/3ae42efba01e45aaedecf5c93c8d6a3ab3a82276",
+ "reference": "3ae42efba01e45aaedecf5c93c8d6a3ab3a82276",
"shasum": ""
},
"require": {
@@ -3602,7 +3602,7 @@
"reflection"
],
"support": {
- "source": "https://github.com/symfony/property-access/tree/v7.2.3"
+ "source": "https://github.com/symfony/property-access/tree/v7.2.0"
},
"funding": [
{
@@ -3618,20 +3618,20 @@
"type": "tidelift"
}
],
- "time": "2025-01-17T10:56:55+00:00"
+ "time": "2024-09-26T12:28:35+00:00"
},
{
"name": "symfony/property-info",
- "version": "v7.2.3",
+ "version": "v7.2.2",
"source": {
"type": "git",
"url": "https://github.com/symfony/property-info.git",
- "reference": "dedb118fd588a92f226b390250b384d25f4192fe"
+ "reference": "1dfeb0dac7a99f7b3be42db9ccc299c5a6483fcf"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/property-info/zipball/dedb118fd588a92f226b390250b384d25f4192fe",
- "reference": "dedb118fd588a92f226b390250b384d25f4192fe",
+ "url": "https://api.github.com/repos/symfony/property-info/zipball/1dfeb0dac7a99f7b3be42db9ccc299c5a6483fcf",
+ "reference": "1dfeb0dac7a99f7b3be42db9ccc299c5a6483fcf",
"shasum": ""
},
"require": {
@@ -3642,9 +3642,7 @@
"conflict": {
"phpdocumentor/reflection-docblock": "<5.2",
"phpdocumentor/type-resolver": "<1.5.1",
- "symfony/cache": "<6.4",
- "symfony/dependency-injection": "<6.4",
- "symfony/serializer": "<6.4"
+ "symfony/dependency-injection": "<6.4"
},
"require-dev": {
"phpdocumentor/reflection-docblock": "^5.2",
@@ -3687,7 +3685,7 @@
"validator"
],
"support": {
- "source": "https://github.com/symfony/property-info/tree/v7.2.3"
+ "source": "https://github.com/symfony/property-info/tree/v7.2.2"
},
"funding": [
{
@@ -3703,20 +3701,20 @@
"type": "tidelift"
}
],
- "time": "2025-01-27T11:08:17+00:00"
+ "time": "2024-12-31T11:04:50+00:00"
},
{
"name": "symfony/routing",
- "version": "v7.2.3",
+ "version": "v7.2.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/routing.git",
- "reference": "ee9a67edc6baa33e5fae662f94f91fd262930996"
+ "reference": "e10a2450fa957af6c448b9b93c9010a4e4c0725e"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/routing/zipball/ee9a67edc6baa33e5fae662f94f91fd262930996",
- "reference": "ee9a67edc6baa33e5fae662f94f91fd262930996",
+ "url": "https://api.github.com/repos/symfony/routing/zipball/e10a2450fa957af6c448b9b93c9010a4e4c0725e",
+ "reference": "e10a2450fa957af6c448b9b93c9010a4e4c0725e",
"shasum": ""
},
"require": {
@@ -3768,7 +3766,7 @@
"url"
],
"support": {
- "source": "https://github.com/symfony/routing/tree/v7.2.3"
+ "source": "https://github.com/symfony/routing/tree/v7.2.0"
},
"funding": [
{
@@ -3784,7 +3782,7 @@
"type": "tidelift"
}
],
- "time": "2025-01-17T10:56:55+00:00"
+ "time": "2024-11-25T11:08:51+00:00"
},
{
"name": "symfony/runtime",
@@ -3867,16 +3865,16 @@
},
{
"name": "symfony/security-core",
- "version": "v7.2.3",
+ "version": "v7.2.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/security-core.git",
- "reference": "466784ffcd0b5a16e05394335897f790b17d07e4"
+ "reference": "fdbf318b939a86f89b0c071f60b9d551261d3cc1"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/security-core/zipball/466784ffcd0b5a16e05394335897f790b17d07e4",
- "reference": "466784ffcd0b5a16e05394335897f790b17d07e4",
+ "url": "https://api.github.com/repos/symfony/security-core/zipball/fdbf318b939a86f89b0c071f60b9d551261d3cc1",
+ "reference": "fdbf318b939a86f89b0c071f60b9d551261d3cc1",
"shasum": ""
},
"require": {
@@ -3934,7 +3932,7 @@
"description": "Symfony Security Component - Core Library",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/security-core/tree/v7.2.3"
+ "source": "https://github.com/symfony/security-core/tree/v7.2.0"
},
"funding": [
{
@@ -3950,7 +3948,7 @@
"type": "tidelift"
}
],
- "time": "2025-01-27T11:08:17+00:00"
+ "time": "2024-11-27T09:50:52+00:00"
},
{
"name": "symfony/security-csrf",
@@ -4675,16 +4673,16 @@
},
{
"name": "symfony/validator",
- "version": "v7.1.11",
+ "version": "v7.1.10",
"source": {
"type": "git",
"url": "https://github.com/symfony/validator.git",
- "reference": "bb226e43829a6554cf891bd7c176dc73d49bc6c1"
+ "reference": "216b0d1ccfedeb800cbc2f336ed6effaca7164de"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/validator/zipball/bb226e43829a6554cf891bd7c176dc73d49bc6c1",
- "reference": "bb226e43829a6554cf891bd7c176dc73d49bc6c1",
+ "url": "https://api.github.com/repos/symfony/validator/zipball/216b0d1ccfedeb800cbc2f336ed6effaca7164de",
+ "reference": "216b0d1ccfedeb800cbc2f336ed6effaca7164de",
"shasum": ""
},
"require": {
@@ -4752,7 +4750,7 @@
"description": "Provides tools to validate values",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/validator/tree/v7.1.11"
+ "source": "https://github.com/symfony/validator/tree/v7.1.10"
},
"funding": [
{
@@ -4768,20 +4766,20 @@
"type": "tidelift"
}
],
- "time": "2025-01-28T15:50:57+00:00"
+ "time": "2024-12-30T18:35:03+00:00"
},
{
"name": "symfony/var-dumper",
- "version": "v7.2.3",
+ "version": "v7.2.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/var-dumper.git",
- "reference": "82b478c69745d8878eb60f9a049a4d584996f73a"
+ "reference": "c6a22929407dec8765d6e2b6ff85b800b245879c"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/var-dumper/zipball/82b478c69745d8878eb60f9a049a4d584996f73a",
- "reference": "82b478c69745d8878eb60f9a049a4d584996f73a",
+ "url": "https://api.github.com/repos/symfony/var-dumper/zipball/c6a22929407dec8765d6e2b6ff85b800b245879c",
+ "reference": "c6a22929407dec8765d6e2b6ff85b800b245879c",
"shasum": ""
},
"require": {
@@ -4835,7 +4833,7 @@
"dump"
],
"support": {
- "source": "https://github.com/symfony/var-dumper/tree/v7.2.3"
+ "source": "https://github.com/symfony/var-dumper/tree/v7.2.0"
},
"funding": [
{
@@ -4851,7 +4849,7 @@
"type": "tidelift"
}
],
- "time": "2025-01-17T11:39:41+00:00"
+ "time": "2024-11-08T15:48:14+00:00"
},
{
"name": "symfony/var-exporter",
@@ -4931,16 +4929,16 @@
},
{
"name": "symfony/yaml",
- "version": "v7.1.11",
+ "version": "v7.1.6",
"source": {
"type": "git",
"url": "https://github.com/symfony/yaml.git",
- "reference": "4921b8c1db90c13ba2ee0520080ef6800912b018"
+ "reference": "3ced3f29e4f0d6bce2170ff26719f1fe9aacc671"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/yaml/zipball/4921b8c1db90c13ba2ee0520080ef6800912b018",
- "reference": "4921b8c1db90c13ba2ee0520080ef6800912b018",
+ "url": "https://api.github.com/repos/symfony/yaml/zipball/3ced3f29e4f0d6bce2170ff26719f1fe9aacc671",
+ "reference": "3ced3f29e4f0d6bce2170ff26719f1fe9aacc671",
"shasum": ""
},
"require": {
@@ -4982,7 +4980,7 @@
"description": "Loads and dumps YAML files",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/yaml/tree/v7.1.11"
+ "source": "https://github.com/symfony/yaml/tree/v7.1.6"
},
"funding": [
{
@@ -4998,20 +4996,20 @@
"type": "tidelift"
}
],
- "time": "2025-01-07T12:50:05+00:00"
+ "time": "2024-09-25T14:20:29+00:00"
},
{
"name": "twig/twig",
- "version": "v3.19.0",
+ "version": "v3.18.0",
"source": {
"type": "git",
"url": "https://github.com/twigphp/Twig.git",
- "reference": "d4f8c2b86374f08efc859323dbcd95c590f7124e"
+ "reference": "acffa88cc2b40dbe42eaf3a5025d6c0d4600cc50"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/twigphp/Twig/zipball/d4f8c2b86374f08efc859323dbcd95c590f7124e",
- "reference": "d4f8c2b86374f08efc859323dbcd95c590f7124e",
+ "url": "https://api.github.com/repos/twigphp/Twig/zipball/acffa88cc2b40dbe42eaf3a5025d6c0d4600cc50",
+ "reference": "acffa88cc2b40dbe42eaf3a5025d6c0d4600cc50",
"shasum": ""
},
"require": {
@@ -5066,7 +5064,7 @@
],
"support": {
"issues": "https://github.com/twigphp/Twig/issues",
- "source": "https://github.com/twigphp/Twig/tree/v3.19.0"
+ "source": "https://github.com/twigphp/Twig/tree/v3.18.0"
},
"funding": [
{
@@ -5078,103 +5076,10 @@
"type": "tidelift"
}
],
- "time": "2025-01-29T07:06:14+00:00"
+ "time": "2024-12-29T10:51:50+00:00"
}
],
"packages-dev": [
- {
- "name": "brianium/paratest",
- "version": "v7.6.1",
- "source": {
- "type": "git",
- "url": "https://github.com/paratestphp/paratest.git",
- "reference": "9ac8eda68f17acda4dad4aa02ecdcc327d7e6675"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/paratestphp/paratest/zipball/9ac8eda68f17acda4dad4aa02ecdcc327d7e6675",
- "reference": "9ac8eda68f17acda4dad4aa02ecdcc327d7e6675",
- "shasum": ""
- },
- "require": {
- "ext-dom": "*",
- "ext-pcre": "*",
- "ext-reflection": "*",
- "ext-simplexml": "*",
- "fidry/cpu-core-counter": "^1.2.0",
- "jean85/pretty-package-versions": "^2.1.0",
- "php": "~8.2.0 || ~8.3.0 || ~8.4.0",
- "phpunit/php-code-coverage": "^11.0.7",
- "phpunit/php-file-iterator": "^5.1.0",
- "phpunit/php-timer": "^7.0.1",
- "phpunit/phpunit": "^11.4.4",
- "sebastian/environment": "^7.2.0",
- "symfony/console": "^6.4.14 || ^7.1.7",
- "symfony/process": "^6.4.14 || ^7.1.7"
- },
- "require-dev": {
- "doctrine/coding-standard": "^12.0.0",
- "ext-pcov": "*",
- "ext-posix": "*",
- "phpstan/phpstan": "^2",
- "phpstan/phpstan-deprecation-rules": "^2",
- "phpstan/phpstan-phpunit": "^2",
- "phpstan/phpstan-strict-rules": "^2",
- "squizlabs/php_codesniffer": "^3.11.1",
- "symfony/filesystem": "^6.4.13 || ^7.1.6"
- },
- "bin": [
- "bin/paratest",
- "bin/paratest_for_phpstorm"
- ],
- "type": "library",
- "autoload": {
- "psr-4": {
- "ParaTest\\": [
- "src/"
- ]
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Brian Scaturro",
- "email": "scaturrob@gmail.com",
- "role": "Developer"
- },
- {
- "name": "Filippo Tessarotto",
- "email": "zoeslam@gmail.com",
- "role": "Developer"
- }
- ],
- "description": "Parallel testing for PHP",
- "homepage": "https://github.com/paratestphp/paratest",
- "keywords": [
- "concurrent",
- "parallel",
- "phpunit",
- "testing"
- ],
- "support": {
- "issues": "https://github.com/paratestphp/paratest/issues",
- "source": "https://github.com/paratestphp/paratest/tree/v7.6.1"
- },
- "funding": [
- {
- "url": "https://github.com/sponsors/Slamdunk",
- "type": "github"
- },
- {
- "url": "https://paypal.me/filippotessarotto",
- "type": "paypal"
- }
- ],
- "time": "2024-12-05T10:55:39+00:00"
- },
{
"name": "dealerdirect/phpcodesniffer-composer-installer",
"version": "v1.0.0",
@@ -5422,197 +5327,6 @@
],
"time": "2024-12-05T18:35:55+00:00"
},
- {
- "name": "fidry/cpu-core-counter",
- "version": "1.2.0",
- "source": {
- "type": "git",
- "url": "https://github.com/theofidry/cpu-core-counter.git",
- "reference": "8520451a140d3f46ac33042715115e290cf5785f"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/theofidry/cpu-core-counter/zipball/8520451a140d3f46ac33042715115e290cf5785f",
- "reference": "8520451a140d3f46ac33042715115e290cf5785f",
- "shasum": ""
- },
- "require": {
- "php": "^7.2 || ^8.0"
- },
- "require-dev": {
- "fidry/makefile": "^0.2.0",
- "fidry/php-cs-fixer-config": "^1.1.2",
- "phpstan/extension-installer": "^1.2.0",
- "phpstan/phpstan": "^1.9.2",
- "phpstan/phpstan-deprecation-rules": "^1.0.0",
- "phpstan/phpstan-phpunit": "^1.2.2",
- "phpstan/phpstan-strict-rules": "^1.4.4",
- "phpunit/phpunit": "^8.5.31 || ^9.5.26",
- "webmozarts/strict-phpunit": "^7.5"
- },
- "type": "library",
- "autoload": {
- "psr-4": {
- "Fidry\\CpuCoreCounter\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Théo FIDRY",
- "email": "theo.fidry@gmail.com"
- }
- ],
- "description": "Tiny utility to get the number of CPU cores.",
- "keywords": [
- "CPU",
- "core"
- ],
- "support": {
- "issues": "https://github.com/theofidry/cpu-core-counter/issues",
- "source": "https://github.com/theofidry/cpu-core-counter/tree/1.2.0"
- },
- "funding": [
- {
- "url": "https://github.com/theofidry",
- "type": "github"
- }
- ],
- "time": "2024-08-06T10:04:20+00:00"
- },
- {
- "name": "filp/whoops",
- "version": "2.17.0",
- "source": {
- "type": "git",
- "url": "https://github.com/filp/whoops.git",
- "reference": "075bc0c26631110584175de6523ab3f1652eb28e"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/filp/whoops/zipball/075bc0c26631110584175de6523ab3f1652eb28e",
- "reference": "075bc0c26631110584175de6523ab3f1652eb28e",
- "shasum": ""
- },
- "require": {
- "php": "^7.1 || ^8.0",
- "psr/log": "^1.0.1 || ^2.0 || ^3.0"
- },
- "require-dev": {
- "mockery/mockery": "^1.0",
- "phpunit/phpunit": "^7.5.20 || ^8.5.8 || ^9.3.3",
- "symfony/var-dumper": "^4.0 || ^5.0"
- },
- "suggest": {
- "symfony/var-dumper": "Pretty print complex values better with var-dumper available",
- "whoops/soap": "Formats errors as SOAP responses"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "2.7-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Whoops\\": "src/Whoops/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Filipe Dobreira",
- "homepage": "https://github.com/filp",
- "role": "Developer"
- }
- ],
- "description": "php error handling for cool kids",
- "homepage": "https://filp.github.io/whoops/",
- "keywords": [
- "error",
- "exception",
- "handling",
- "library",
- "throwable",
- "whoops"
- ],
- "support": {
- "issues": "https://github.com/filp/whoops/issues",
- "source": "https://github.com/filp/whoops/tree/2.17.0"
- },
- "funding": [
- {
- "url": "https://github.com/denis-sokolov",
- "type": "github"
- }
- ],
- "time": "2025-01-25T12:00:00+00:00"
- },
- {
- "name": "jean85/pretty-package-versions",
- "version": "2.1.0",
- "source": {
- "type": "git",
- "url": "https://github.com/Jean85/pretty-package-versions.git",
- "reference": "3c4e5f62ba8d7de1734312e4fff32f67a8daaf10"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/Jean85/pretty-package-versions/zipball/3c4e5f62ba8d7de1734312e4fff32f67a8daaf10",
- "reference": "3c4e5f62ba8d7de1734312e4fff32f67a8daaf10",
- "shasum": ""
- },
- "require": {
- "composer-runtime-api": "^2.1.0",
- "php": "^7.4|^8.0"
- },
- "require-dev": {
- "friendsofphp/php-cs-fixer": "^3.2",
- "jean85/composer-provided-replaced-stub-package": "^1.0",
- "phpstan/phpstan": "^1.4",
- "phpunit/phpunit": "^7.5|^8.5|^9.6",
- "vimeo/psalm": "^4.3 || ^5.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.x-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Jean85\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Alessandro Lai",
- "email": "alessandro.lai85@gmail.com"
- }
- ],
- "description": "A library to get pretty versions strings of installed dependencies",
- "keywords": [
- "composer",
- "package",
- "release",
- "versions"
- ],
- "support": {
- "issues": "https://github.com/Jean85/pretty-package-versions/issues",
- "source": "https://github.com/Jean85/pretty-package-versions/tree/2.1.0"
- },
- "time": "2024-11-18T16:19:46+00:00"
- },
{
"name": "lubiana/code-quality",
"version": "1.7.2",
@@ -5827,514 +5541,6 @@
},
"time": "2024-12-30T11:07:19+00:00"
},
- {
- "name": "nunomaduro/collision",
- "version": "v8.5.0",
- "source": {
- "type": "git",
- "url": "https://github.com/nunomaduro/collision.git",
- "reference": "f5c101b929c958e849a633283adff296ed5f38f5"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/nunomaduro/collision/zipball/f5c101b929c958e849a633283adff296ed5f38f5",
- "reference": "f5c101b929c958e849a633283adff296ed5f38f5",
- "shasum": ""
- },
- "require": {
- "filp/whoops": "^2.16.0",
- "nunomaduro/termwind": "^2.1.0",
- "php": "^8.2.0",
- "symfony/console": "^7.1.5"
- },
- "conflict": {
- "laravel/framework": "<11.0.0 || >=12.0.0",
- "phpunit/phpunit": "<10.5.1 || >=12.0.0"
- },
- "require-dev": {
- "larastan/larastan": "^2.9.8",
- "laravel/framework": "^11.28.0",
- "laravel/pint": "^1.18.1",
- "laravel/sail": "^1.36.0",
- "laravel/sanctum": "^4.0.3",
- "laravel/tinker": "^2.10.0",
- "orchestra/testbench-core": "^9.5.3",
- "pestphp/pest": "^2.36.0 || ^3.4.0",
- "sebastian/environment": "^6.1.0 || ^7.2.0"
- },
- "type": "library",
- "extra": {
- "laravel": {
- "providers": [
- "NunoMaduro\\Collision\\Adapters\\Laravel\\CollisionServiceProvider"
- ]
- },
- "branch-alias": {
- "dev-8.x": "8.x-dev"
- }
- },
- "autoload": {
- "files": [
- "./src/Adapters/Phpunit/Autoload.php"
- ],
- "psr-4": {
- "NunoMaduro\\Collision\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Nuno Maduro",
- "email": "enunomaduro@gmail.com"
- }
- ],
- "description": "Cli error handling for console/command-line PHP applications.",
- "keywords": [
- "artisan",
- "cli",
- "command-line",
- "console",
- "error",
- "handling",
- "laravel",
- "laravel-zero",
- "php",
- "symfony"
- ],
- "support": {
- "issues": "https://github.com/nunomaduro/collision/issues",
- "source": "https://github.com/nunomaduro/collision"
- },
- "funding": [
- {
- "url": "https://www.paypal.com/paypalme/enunomaduro",
- "type": "custom"
- },
- {
- "url": "https://github.com/nunomaduro",
- "type": "github"
- },
- {
- "url": "https://www.patreon.com/nunomaduro",
- "type": "patreon"
- }
- ],
- "time": "2024-10-15T16:06:32+00:00"
- },
- {
- "name": "nunomaduro/termwind",
- "version": "v2.3.0",
- "source": {
- "type": "git",
- "url": "https://github.com/nunomaduro/termwind.git",
- "reference": "52915afe6a1044e8b9cee1bcff836fb63acf9cda"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/nunomaduro/termwind/zipball/52915afe6a1044e8b9cee1bcff836fb63acf9cda",
- "reference": "52915afe6a1044e8b9cee1bcff836fb63acf9cda",
- "shasum": ""
- },
- "require": {
- "ext-mbstring": "*",
- "php": "^8.2",
- "symfony/console": "^7.1.8"
- },
- "require-dev": {
- "illuminate/console": "^11.33.2",
- "laravel/pint": "^1.18.2",
- "mockery/mockery": "^1.6.12",
- "pestphp/pest": "^2.36.0",
- "phpstan/phpstan": "^1.12.11",
- "phpstan/phpstan-strict-rules": "^1.6.1",
- "symfony/var-dumper": "^7.1.8",
- "thecodingmachine/phpstan-strict-rules": "^1.0.0"
- },
- "type": "library",
- "extra": {
- "laravel": {
- "providers": [
- "Termwind\\Laravel\\TermwindServiceProvider"
- ]
- },
- "branch-alias": {
- "dev-2.x": "2.x-dev"
- }
- },
- "autoload": {
- "files": [
- "src/Functions.php"
- ],
- "psr-4": {
- "Termwind\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Nuno Maduro",
- "email": "enunomaduro@gmail.com"
- }
- ],
- "description": "Its like Tailwind CSS, but for the console.",
- "keywords": [
- "cli",
- "console",
- "css",
- "package",
- "php",
- "style"
- ],
- "support": {
- "issues": "https://github.com/nunomaduro/termwind/issues",
- "source": "https://github.com/nunomaduro/termwind/tree/v2.3.0"
- },
- "funding": [
- {
- "url": "https://www.paypal.com/paypalme/enunomaduro",
- "type": "custom"
- },
- {
- "url": "https://github.com/nunomaduro",
- "type": "github"
- },
- {
- "url": "https://github.com/xiCO2k",
- "type": "github"
- }
- ],
- "time": "2024-11-21T10:39:51+00:00"
- },
- {
- "name": "pestphp/pest",
- "version": "v3.6.0",
- "source": {
- "type": "git",
- "url": "https://github.com/pestphp/pest.git",
- "reference": "918a8fc16996849937e281482bd34f236881ce96"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/pestphp/pest/zipball/918a8fc16996849937e281482bd34f236881ce96",
- "reference": "918a8fc16996849937e281482bd34f236881ce96",
- "shasum": ""
- },
- "require": {
- "brianium/paratest": "^7.6.0",
- "nunomaduro/collision": "^8.5.0",
- "nunomaduro/termwind": "^2.3.0",
- "pestphp/pest-plugin": "^3.0.0",
- "pestphp/pest-plugin-arch": "^3.0.0",
- "pestphp/pest-plugin-mutate": "^3.0.5",
- "php": "^8.2.0",
- "phpunit/phpunit": "^11.4.4"
- },
- "conflict": {
- "filp/whoops": "<2.16.0",
- "phpunit/phpunit": ">11.4.4",
- "sebastian/exporter": "<6.0.0",
- "webmozart/assert": "<1.11.0"
- },
- "require-dev": {
- "pestphp/pest-dev-tools": "^3.3.0",
- "pestphp/pest-plugin-type-coverage": "^3.2.0",
- "symfony/process": "^7.1.8"
- },
- "bin": [
- "bin/pest"
- ],
- "type": "library",
- "extra": {
- "pest": {
- "plugins": [
- "Pest\\Mutate\\Plugins\\Mutate",
- "Pest\\Plugins\\Configuration",
- "Pest\\Plugins\\Bail",
- "Pest\\Plugins\\Cache",
- "Pest\\Plugins\\Coverage",
- "Pest\\Plugins\\Init",
- "Pest\\Plugins\\Environment",
- "Pest\\Plugins\\Help",
- "Pest\\Plugins\\Memory",
- "Pest\\Plugins\\Only",
- "Pest\\Plugins\\Printer",
- "Pest\\Plugins\\ProcessIsolation",
- "Pest\\Plugins\\Profile",
- "Pest\\Plugins\\Retry",
- "Pest\\Plugins\\Snapshot",
- "Pest\\Plugins\\Verbose",
- "Pest\\Plugins\\Version",
- "Pest\\Plugins\\Parallel"
- ]
- },
- "phpstan": {
- "includes": [
- "extension.neon"
- ]
- }
- },
- "autoload": {
- "files": [
- "src/Functions.php",
- "src/Pest.php"
- ],
- "psr-4": {
- "Pest\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Nuno Maduro",
- "email": "enunomaduro@gmail.com"
- }
- ],
- "description": "The elegant PHP Testing Framework.",
- "keywords": [
- "framework",
- "pest",
- "php",
- "test",
- "testing",
- "unit"
- ],
- "support": {
- "issues": "https://github.com/pestphp/pest/issues",
- "source": "https://github.com/pestphp/pest/tree/v3.6.0"
- },
- "funding": [
- {
- "url": "https://www.paypal.com/paypalme/enunomaduro",
- "type": "custom"
- },
- {
- "url": "https://github.com/nunomaduro",
- "type": "github"
- }
- ],
- "time": "2024-12-01T22:46:00+00:00"
- },
- {
- "name": "pestphp/pest-plugin",
- "version": "v3.0.0",
- "source": {
- "type": "git",
- "url": "https://github.com/pestphp/pest-plugin.git",
- "reference": "e79b26c65bc11c41093b10150c1341cc5cdbea83"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/pestphp/pest-plugin/zipball/e79b26c65bc11c41093b10150c1341cc5cdbea83",
- "reference": "e79b26c65bc11c41093b10150c1341cc5cdbea83",
- "shasum": ""
- },
- "require": {
- "composer-plugin-api": "^2.0.0",
- "composer-runtime-api": "^2.2.2",
- "php": "^8.2"
- },
- "conflict": {
- "pestphp/pest": "<3.0.0"
- },
- "require-dev": {
- "composer/composer": "^2.7.9",
- "pestphp/pest": "^3.0.0",
- "pestphp/pest-dev-tools": "^3.0.0"
- },
- "type": "composer-plugin",
- "extra": {
- "class": "Pest\\Plugin\\Manager"
- },
- "autoload": {
- "psr-4": {
- "Pest\\Plugin\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "description": "The Pest plugin manager",
- "keywords": [
- "framework",
- "manager",
- "pest",
- "php",
- "plugin",
- "test",
- "testing",
- "unit"
- ],
- "support": {
- "source": "https://github.com/pestphp/pest-plugin/tree/v3.0.0"
- },
- "funding": [
- {
- "url": "https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=66BYDWAT92N6L",
- "type": "custom"
- },
- {
- "url": "https://github.com/nunomaduro",
- "type": "github"
- },
- {
- "url": "https://www.patreon.com/nunomaduro",
- "type": "patreon"
- }
- ],
- "time": "2024-09-08T23:21:41+00:00"
- },
- {
- "name": "pestphp/pest-plugin-arch",
- "version": "v3.0.0",
- "source": {
- "type": "git",
- "url": "https://github.com/pestphp/pest-plugin-arch.git",
- "reference": "0a27e55a270cfe73d8cb70551b91002ee2cb64b0"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/pestphp/pest-plugin-arch/zipball/0a27e55a270cfe73d8cb70551b91002ee2cb64b0",
- "reference": "0a27e55a270cfe73d8cb70551b91002ee2cb64b0",
- "shasum": ""
- },
- "require": {
- "pestphp/pest-plugin": "^3.0.0",
- "php": "^8.2",
- "ta-tikoma/phpunit-architecture-test": "^0.8.4"
- },
- "require-dev": {
- "pestphp/pest": "^3.0.0",
- "pestphp/pest-dev-tools": "^3.0.0"
- },
- "type": "library",
- "extra": {
- "pest": {
- "plugins": [
- "Pest\\Arch\\Plugin"
- ]
- }
- },
- "autoload": {
- "files": [
- "src/Autoload.php"
- ],
- "psr-4": {
- "Pest\\Arch\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "description": "The Arch plugin for Pest PHP.",
- "keywords": [
- "arch",
- "architecture",
- "framework",
- "pest",
- "php",
- "plugin",
- "test",
- "testing",
- "unit"
- ],
- "support": {
- "source": "https://github.com/pestphp/pest-plugin-arch/tree/v3.0.0"
- },
- "funding": [
- {
- "url": "https://www.paypal.com/paypalme/enunomaduro",
- "type": "custom"
- },
- {
- "url": "https://github.com/nunomaduro",
- "type": "github"
- }
- ],
- "time": "2024-09-08T23:23:55+00:00"
- },
- {
- "name": "pestphp/pest-plugin-mutate",
- "version": "v3.0.5",
- "source": {
- "type": "git",
- "url": "https://github.com/pestphp/pest-plugin-mutate.git",
- "reference": "e10dbdc98c9e2f3890095b4fe2144f63a5717e08"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/pestphp/pest-plugin-mutate/zipball/e10dbdc98c9e2f3890095b4fe2144f63a5717e08",
- "reference": "e10dbdc98c9e2f3890095b4fe2144f63a5717e08",
- "shasum": ""
- },
- "require": {
- "nikic/php-parser": "^5.2.0",
- "pestphp/pest-plugin": "^3.0.0",
- "php": "^8.2",
- "psr/simple-cache": "^3.0.0"
- },
- "require-dev": {
- "pestphp/pest": "^3.0.8",
- "pestphp/pest-dev-tools": "^3.0.0",
- "pestphp/pest-plugin-type-coverage": "^3.0.0"
- },
- "type": "library",
- "autoload": {
- "psr-4": {
- "Pest\\Mutate\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Sandro Gehri",
- "email": "sandrogehri@gmail.com"
- }
- ],
- "description": "Mutates your code to find untested cases",
- "keywords": [
- "framework",
- "mutate",
- "mutation",
- "pest",
- "php",
- "plugin",
- "test",
- "testing",
- "unit"
- ],
- "support": {
- "source": "https://github.com/pestphp/pest-plugin-mutate/tree/v3.0.5"
- },
- "funding": [
- {
- "url": "https://www.paypal.com/paypalme/enunomaduro",
- "type": "custom"
- },
- {
- "url": "https://github.com/gehrisandro",
- "type": "github"
- },
- {
- "url": "https://github.com/nunomaduro",
- "type": "github"
- }
- ],
- "time": "2024-09-22T07:54:40+00:00"
- },
{
"name": "phar-io/manifest",
"version": "2.0.4",
@@ -6453,181 +5659,6 @@
},
"time": "2022-02-21T01:04:05+00:00"
},
- {
- "name": "phpdocumentor/reflection-common",
- "version": "2.2.0",
- "source": {
- "type": "git",
- "url": "https://github.com/phpDocumentor/ReflectionCommon.git",
- "reference": "1d01c49d4ed62f25aa84a747ad35d5a16924662b"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/1d01c49d4ed62f25aa84a747ad35d5a16924662b",
- "reference": "1d01c49d4ed62f25aa84a747ad35d5a16924662b",
- "shasum": ""
- },
- "require": {
- "php": "^7.2 || ^8.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-2.x": "2.x-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "phpDocumentor\\Reflection\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Jaap van Otterdijk",
- "email": "opensource@ijaap.nl"
- }
- ],
- "description": "Common reflection classes used by phpdocumentor to reflect the code structure",
- "homepage": "http://www.phpdoc.org",
- "keywords": [
- "FQSEN",
- "phpDocumentor",
- "phpdoc",
- "reflection",
- "static analysis"
- ],
- "support": {
- "issues": "https://github.com/phpDocumentor/ReflectionCommon/issues",
- "source": "https://github.com/phpDocumentor/ReflectionCommon/tree/2.x"
- },
- "time": "2020-06-27T09:03:43+00:00"
- },
- {
- "name": "phpdocumentor/reflection-docblock",
- "version": "5.6.1",
- "source": {
- "type": "git",
- "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git",
- "reference": "e5e784149a09bd69d9a5e3b01c5cbd2e2bd653d8"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/e5e784149a09bd69d9a5e3b01c5cbd2e2bd653d8",
- "reference": "e5e784149a09bd69d9a5e3b01c5cbd2e2bd653d8",
- "shasum": ""
- },
- "require": {
- "doctrine/deprecations": "^1.1",
- "ext-filter": "*",
- "php": "^7.4 || ^8.0",
- "phpdocumentor/reflection-common": "^2.2",
- "phpdocumentor/type-resolver": "^1.7",
- "phpstan/phpdoc-parser": "^1.7|^2.0",
- "webmozart/assert": "^1.9.1"
- },
- "require-dev": {
- "mockery/mockery": "~1.3.5 || ~1.6.0",
- "phpstan/extension-installer": "^1.1",
- "phpstan/phpstan": "^1.8",
- "phpstan/phpstan-mockery": "^1.1",
- "phpstan/phpstan-webmozart-assert": "^1.2",
- "phpunit/phpunit": "^9.5",
- "psalm/phar": "^5.26"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "5.x-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "phpDocumentor\\Reflection\\": "src"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Mike van Riel",
- "email": "me@mikevanriel.com"
- },
- {
- "name": "Jaap van Otterdijk",
- "email": "opensource@ijaap.nl"
- }
- ],
- "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.",
- "support": {
- "issues": "https://github.com/phpDocumentor/ReflectionDocBlock/issues",
- "source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/5.6.1"
- },
- "time": "2024-12-07T09:39:29+00:00"
- },
- {
- "name": "phpdocumentor/type-resolver",
- "version": "1.10.0",
- "source": {
- "type": "git",
- "url": "https://github.com/phpDocumentor/TypeResolver.git",
- "reference": "679e3ce485b99e84c775d28e2e96fade9a7fb50a"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/679e3ce485b99e84c775d28e2e96fade9a7fb50a",
- "reference": "679e3ce485b99e84c775d28e2e96fade9a7fb50a",
- "shasum": ""
- },
- "require": {
- "doctrine/deprecations": "^1.0",
- "php": "^7.3 || ^8.0",
- "phpdocumentor/reflection-common": "^2.0",
- "phpstan/phpdoc-parser": "^1.18|^2.0"
- },
- "require-dev": {
- "ext-tokenizer": "*",
- "phpbench/phpbench": "^1.2",
- "phpstan/extension-installer": "^1.1",
- "phpstan/phpstan": "^1.8",
- "phpstan/phpstan-phpunit": "^1.1",
- "phpunit/phpunit": "^9.5",
- "rector/rector": "^0.13.9",
- "vimeo/psalm": "^4.25"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-1.x": "1.x-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "phpDocumentor\\Reflection\\": "src"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Mike van Riel",
- "email": "me@mikevanriel.com"
- }
- ],
- "description": "A PSR-5 based resolver of Class names, Types and Structural Element Names",
- "support": {
- "issues": "https://github.com/phpDocumentor/TypeResolver/issues",
- "source": "https://github.com/phpDocumentor/TypeResolver/tree/1.10.0"
- },
- "time": "2024-11-09T15:12:26+00:00"
- },
{
"name": "phpstan/phpdoc-parser",
"version": "1.33.0",
@@ -6735,35 +5766,35 @@
},
{
"name": "phpunit/php-code-coverage",
- "version": "11.0.8",
+ "version": "9.2.32",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-code-coverage.git",
- "reference": "418c59fd080954f8c4aa5631d9502ecda2387118"
+ "reference": "85402a822d1ecf1db1096959413d35e1c37cf1a5"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/418c59fd080954f8c4aa5631d9502ecda2387118",
- "reference": "418c59fd080954f8c4aa5631d9502ecda2387118",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/85402a822d1ecf1db1096959413d35e1c37cf1a5",
+ "reference": "85402a822d1ecf1db1096959413d35e1c37cf1a5",
"shasum": ""
},
"require": {
"ext-dom": "*",
"ext-libxml": "*",
"ext-xmlwriter": "*",
- "nikic/php-parser": "^5.3.1",
- "php": ">=8.2",
- "phpunit/php-file-iterator": "^5.1.0",
- "phpunit/php-text-template": "^4.0.1",
- "sebastian/code-unit-reverse-lookup": "^4.0.1",
- "sebastian/complexity": "^4.0.1",
- "sebastian/environment": "^7.2.0",
- "sebastian/lines-of-code": "^3.0.1",
- "sebastian/version": "^5.0.2",
+ "nikic/php-parser": "^4.19.1 || ^5.1.0",
+ "php": ">=7.3",
+ "phpunit/php-file-iterator": "^3.0.6",
+ "phpunit/php-text-template": "^2.0.4",
+ "sebastian/code-unit-reverse-lookup": "^2.0.3",
+ "sebastian/complexity": "^2.0.3",
+ "sebastian/environment": "^5.1.5",
+ "sebastian/lines-of-code": "^1.0.4",
+ "sebastian/version": "^3.0.2",
"theseer/tokenizer": "^1.2.3"
},
"require-dev": {
- "phpunit/phpunit": "^11.5.0"
+ "phpunit/phpunit": "^9.6"
},
"suggest": {
"ext-pcov": "PHP extension that provides line coverage",
@@ -6772,7 +5803,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "11.0.x-dev"
+ "dev-main": "9.2.x-dev"
}
},
"autoload": {
@@ -6801,7 +5832,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/php-code-coverage/issues",
"security": "https://github.com/sebastianbergmann/php-code-coverage/security/policy",
- "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/11.0.8"
+ "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.32"
},
"funding": [
{
@@ -6809,32 +5840,32 @@
"type": "github"
}
],
- "time": "2024-12-11T12:34:27+00:00"
+ "time": "2024-08-22T04:23:01+00:00"
},
{
"name": "phpunit/php-file-iterator",
- "version": "5.1.0",
+ "version": "3.0.6",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-file-iterator.git",
- "reference": "118cfaaa8bc5aef3287bf315b6060b1174754af6"
+ "reference": "cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/118cfaaa8bc5aef3287bf315b6060b1174754af6",
- "reference": "118cfaaa8bc5aef3287bf315b6060b1174754af6",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf",
+ "reference": "cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf",
"shasum": ""
},
"require": {
- "php": ">=8.2"
+ "php": ">=7.3"
},
"require-dev": {
- "phpunit/phpunit": "^11.0"
+ "phpunit/phpunit": "^9.3"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "5.0-dev"
+ "dev-master": "3.0-dev"
}
},
"autoload": {
@@ -6861,8 +5892,7 @@
],
"support": {
"issues": "https://github.com/sebastianbergmann/php-file-iterator/issues",
- "security": "https://github.com/sebastianbergmann/php-file-iterator/security/policy",
- "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/5.1.0"
+ "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/3.0.6"
},
"funding": [
{
@@ -6870,28 +5900,28 @@
"type": "github"
}
],
- "time": "2024-08-27T05:02:59+00:00"
+ "time": "2021-12-02T12:48:52+00:00"
},
{
"name": "phpunit/php-invoker",
- "version": "5.0.1",
+ "version": "3.1.1",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-invoker.git",
- "reference": "c1ca3814734c07492b3d4c5f794f4b0995333da2"
+ "reference": "5a10147d0aaf65b58940a0b72f71c9ac0423cc67"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/c1ca3814734c07492b3d4c5f794f4b0995333da2",
- "reference": "c1ca3814734c07492b3d4c5f794f4b0995333da2",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/5a10147d0aaf65b58940a0b72f71c9ac0423cc67",
+ "reference": "5a10147d0aaf65b58940a0b72f71c9ac0423cc67",
"shasum": ""
},
"require": {
- "php": ">=8.2"
+ "php": ">=7.3"
},
"require-dev": {
"ext-pcntl": "*",
- "phpunit/phpunit": "^11.0"
+ "phpunit/phpunit": "^9.3"
},
"suggest": {
"ext-pcntl": "*"
@@ -6899,7 +5929,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "5.0-dev"
+ "dev-master": "3.1-dev"
}
},
"autoload": {
@@ -6925,8 +5955,7 @@
],
"support": {
"issues": "https://github.com/sebastianbergmann/php-invoker/issues",
- "security": "https://github.com/sebastianbergmann/php-invoker/security/policy",
- "source": "https://github.com/sebastianbergmann/php-invoker/tree/5.0.1"
+ "source": "https://github.com/sebastianbergmann/php-invoker/tree/3.1.1"
},
"funding": [
{
@@ -6934,32 +5963,32 @@
"type": "github"
}
],
- "time": "2024-07-03T05:07:44+00:00"
+ "time": "2020-09-28T05:58:55+00:00"
},
{
"name": "phpunit/php-text-template",
- "version": "4.0.1",
+ "version": "2.0.4",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-text-template.git",
- "reference": "3e0404dc6b300e6bf56415467ebcb3fe4f33e964"
+ "reference": "5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/3e0404dc6b300e6bf56415467ebcb3fe4f33e964",
- "reference": "3e0404dc6b300e6bf56415467ebcb3fe4f33e964",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28",
+ "reference": "5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28",
"shasum": ""
},
"require": {
- "php": ">=8.2"
+ "php": ">=7.3"
},
"require-dev": {
- "phpunit/phpunit": "^11.0"
+ "phpunit/phpunit": "^9.3"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "4.0-dev"
+ "dev-master": "2.0-dev"
}
},
"autoload": {
@@ -6985,8 +6014,7 @@
],
"support": {
"issues": "https://github.com/sebastianbergmann/php-text-template/issues",
- "security": "https://github.com/sebastianbergmann/php-text-template/security/policy",
- "source": "https://github.com/sebastianbergmann/php-text-template/tree/4.0.1"
+ "source": "https://github.com/sebastianbergmann/php-text-template/tree/2.0.4"
},
"funding": [
{
@@ -6994,32 +6022,32 @@
"type": "github"
}
],
- "time": "2024-07-03T05:08:43+00:00"
+ "time": "2020-10-26T05:33:50+00:00"
},
{
"name": "phpunit/php-timer",
- "version": "7.0.1",
+ "version": "5.0.3",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-timer.git",
- "reference": "3b415def83fbcb41f991d9ebf16ae4ad8b7837b3"
+ "reference": "5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/3b415def83fbcb41f991d9ebf16ae4ad8b7837b3",
- "reference": "3b415def83fbcb41f991d9ebf16ae4ad8b7837b3",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2",
+ "reference": "5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2",
"shasum": ""
},
"require": {
- "php": ">=8.2"
+ "php": ">=7.3"
},
"require-dev": {
- "phpunit/phpunit": "^11.0"
+ "phpunit/phpunit": "^9.3"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "7.0-dev"
+ "dev-master": "5.0-dev"
}
},
"autoload": {
@@ -7045,8 +6073,7 @@
],
"support": {
"issues": "https://github.com/sebastianbergmann/php-timer/issues",
- "security": "https://github.com/sebastianbergmann/php-timer/security/policy",
- "source": "https://github.com/sebastianbergmann/php-timer/tree/7.0.1"
+ "source": "https://github.com/sebastianbergmann/php-timer/tree/5.0.3"
},
"funding": [
{
@@ -7054,23 +6081,24 @@
"type": "github"
}
],
- "time": "2024-07-03T05:09:35+00:00"
+ "time": "2020-10-26T13:16:10+00:00"
},
{
"name": "phpunit/phpunit",
- "version": "11.4.4",
+ "version": "9.6.22",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/phpunit.git",
- "reference": "f9ba7bd3c9f3ff54ec379d7a1c2e3f13fe0bbde4"
+ "reference": "f80235cb4d3caa59ae09be3adf1ded27521d1a9c"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/f9ba7bd3c9f3ff54ec379d7a1c2e3f13fe0bbde4",
- "reference": "f9ba7bd3c9f3ff54ec379d7a1c2e3f13fe0bbde4",
+ "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/f80235cb4d3caa59ae09be3adf1ded27521d1a9c",
+ "reference": "f80235cb4d3caa59ae09be3adf1ded27521d1a9c",
"shasum": ""
},
"require": {
+ "doctrine/instantiator": "^1.5.0 || ^2",
"ext-dom": "*",
"ext-json": "*",
"ext-libxml": "*",
@@ -7080,25 +6108,27 @@
"myclabs/deep-copy": "^1.12.1",
"phar-io/manifest": "^2.0.4",
"phar-io/version": "^3.2.1",
- "php": ">=8.2",
- "phpunit/php-code-coverage": "^11.0.7",
- "phpunit/php-file-iterator": "^5.1.0",
- "phpunit/php-invoker": "^5.0.1",
- "phpunit/php-text-template": "^4.0.1",
- "phpunit/php-timer": "^7.0.1",
- "sebastian/cli-parser": "^3.0.2",
- "sebastian/code-unit": "^3.0.1",
- "sebastian/comparator": "^6.2.1",
- "sebastian/diff": "^6.0.2",
- "sebastian/environment": "^7.2.0",
- "sebastian/exporter": "^6.1.3",
- "sebastian/global-state": "^7.0.2",
- "sebastian/object-enumerator": "^6.0.1",
- "sebastian/type": "^5.1.0",
- "sebastian/version": "^5.0.2"
+ "php": ">=7.3",
+ "phpunit/php-code-coverage": "^9.2.32",
+ "phpunit/php-file-iterator": "^3.0.6",
+ "phpunit/php-invoker": "^3.1.1",
+ "phpunit/php-text-template": "^2.0.4",
+ "phpunit/php-timer": "^5.0.3",
+ "sebastian/cli-parser": "^1.0.2",
+ "sebastian/code-unit": "^1.0.8",
+ "sebastian/comparator": "^4.0.8",
+ "sebastian/diff": "^4.0.6",
+ "sebastian/environment": "^5.1.5",
+ "sebastian/exporter": "^4.0.6",
+ "sebastian/global-state": "^5.0.7",
+ "sebastian/object-enumerator": "^4.0.4",
+ "sebastian/resource-operations": "^3.0.4",
+ "sebastian/type": "^3.2.1",
+ "sebastian/version": "^3.0.2"
},
"suggest": {
- "ext-soap": "To be able to generate mocks based on WSDL files"
+ "ext-soap": "To be able to generate mocks based on WSDL files",
+ "ext-xdebug": "PHP extension that provides line coverage as well as branch and path coverage"
},
"bin": [
"phpunit"
@@ -7106,7 +6136,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "11.4-dev"
+ "dev-master": "9.6-dev"
}
},
"autoload": {
@@ -7138,7 +6168,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/phpunit/issues",
"security": "https://github.com/sebastianbergmann/phpunit/security/policy",
- "source": "https://github.com/sebastianbergmann/phpunit/tree/11.4.4"
+ "source": "https://github.com/sebastianbergmann/phpunit/tree/9.6.22"
},
"funding": [
{
@@ -7154,58 +6184,7 @@
"type": "tidelift"
}
],
- "time": "2024-11-27T10:44:52+00:00"
- },
- {
- "name": "psr/simple-cache",
- "version": "3.0.0",
- "source": {
- "type": "git",
- "url": "https://github.com/php-fig/simple-cache.git",
- "reference": "764e0b3939f5ca87cb904f570ef9be2d78a07865"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/php-fig/simple-cache/zipball/764e0b3939f5ca87cb904f570ef9be2d78a07865",
- "reference": "764e0b3939f5ca87cb904f570ef9be2d78a07865",
- "shasum": ""
- },
- "require": {
- "php": ">=8.0.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "3.0.x-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Psr\\SimpleCache\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "PHP-FIG",
- "homepage": "https://www.php-fig.org/"
- }
- ],
- "description": "Common interfaces for simple caching",
- "keywords": [
- "cache",
- "caching",
- "psr",
- "psr-16",
- "simple-cache"
- ],
- "support": {
- "source": "https://github.com/php-fig/simple-cache/tree/3.0.0"
- },
- "time": "2021-10-29T13:26:27+00:00"
+ "time": "2024-12-05T13:48:26+00:00"
},
{
"name": "rector/rector",
@@ -7268,28 +6247,28 @@
},
{
"name": "sebastian/cli-parser",
- "version": "3.0.2",
+ "version": "1.0.2",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/cli-parser.git",
- "reference": "15c5dd40dc4f38794d383bb95465193f5e0ae180"
+ "reference": "2b56bea83a09de3ac06bb18b92f068e60cc6f50b"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/15c5dd40dc4f38794d383bb95465193f5e0ae180",
- "reference": "15c5dd40dc4f38794d383bb95465193f5e0ae180",
+ "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/2b56bea83a09de3ac06bb18b92f068e60cc6f50b",
+ "reference": "2b56bea83a09de3ac06bb18b92f068e60cc6f50b",
"shasum": ""
},
"require": {
- "php": ">=8.2"
+ "php": ">=7.3"
},
"require-dev": {
- "phpunit/phpunit": "^11.0"
+ "phpunit/phpunit": "^9.3"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "3.0-dev"
+ "dev-master": "1.0-dev"
}
},
"autoload": {
@@ -7312,8 +6291,7 @@
"homepage": "https://github.com/sebastianbergmann/cli-parser",
"support": {
"issues": "https://github.com/sebastianbergmann/cli-parser/issues",
- "security": "https://github.com/sebastianbergmann/cli-parser/security/policy",
- "source": "https://github.com/sebastianbergmann/cli-parser/tree/3.0.2"
+ "source": "https://github.com/sebastianbergmann/cli-parser/tree/1.0.2"
},
"funding": [
{
@@ -7321,32 +6299,32 @@
"type": "github"
}
],
- "time": "2024-07-03T04:41:36+00:00"
+ "time": "2024-03-02T06:27:43+00:00"
},
{
"name": "sebastian/code-unit",
- "version": "3.0.2",
+ "version": "1.0.8",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/code-unit.git",
- "reference": "ee88b0cdbe74cf8dd3b54940ff17643c0d6543ca"
+ "reference": "1fc9f64c0927627ef78ba436c9b17d967e68e120"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/code-unit/zipball/ee88b0cdbe74cf8dd3b54940ff17643c0d6543ca",
- "reference": "ee88b0cdbe74cf8dd3b54940ff17643c0d6543ca",
+ "url": "https://api.github.com/repos/sebastianbergmann/code-unit/zipball/1fc9f64c0927627ef78ba436c9b17d967e68e120",
+ "reference": "1fc9f64c0927627ef78ba436c9b17d967e68e120",
"shasum": ""
},
"require": {
- "php": ">=8.2"
+ "php": ">=7.3"
},
"require-dev": {
- "phpunit/phpunit": "^11.5"
+ "phpunit/phpunit": "^9.3"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "3.0-dev"
+ "dev-master": "1.0-dev"
}
},
"autoload": {
@@ -7369,8 +6347,7 @@
"homepage": "https://github.com/sebastianbergmann/code-unit",
"support": {
"issues": "https://github.com/sebastianbergmann/code-unit/issues",
- "security": "https://github.com/sebastianbergmann/code-unit/security/policy",
- "source": "https://github.com/sebastianbergmann/code-unit/tree/3.0.2"
+ "source": "https://github.com/sebastianbergmann/code-unit/tree/1.0.8"
},
"funding": [
{
@@ -7378,32 +6355,32 @@
"type": "github"
}
],
- "time": "2024-12-12T09:59:06+00:00"
+ "time": "2020-10-26T13:08:54+00:00"
},
{
"name": "sebastian/code-unit-reverse-lookup",
- "version": "4.0.1",
+ "version": "2.0.3",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git",
- "reference": "183a9b2632194febd219bb9246eee421dad8d45e"
+ "reference": "ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/183a9b2632194febd219bb9246eee421dad8d45e",
- "reference": "183a9b2632194febd219bb9246eee421dad8d45e",
+ "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5",
+ "reference": "ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5",
"shasum": ""
},
"require": {
- "php": ">=8.2"
+ "php": ">=7.3"
},
"require-dev": {
- "phpunit/phpunit": "^11.0"
+ "phpunit/phpunit": "^9.3"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "4.0-dev"
+ "dev-master": "2.0-dev"
}
},
"autoload": {
@@ -7425,8 +6402,7 @@
"homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/",
"support": {
"issues": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/issues",
- "security": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/security/policy",
- "source": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/tree/4.0.1"
+ "source": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/tree/2.0.3"
},
"funding": [
{
@@ -7434,39 +6410,34 @@
"type": "github"
}
],
- "time": "2024-07-03T04:45:54+00:00"
+ "time": "2020-09-28T05:30:19+00:00"
},
{
"name": "sebastian/comparator",
- "version": "6.3.0",
+ "version": "4.0.8",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/comparator.git",
- "reference": "d4e47a769525c4dd38cea90e5dcd435ddbbc7115"
+ "reference": "fa0f136dd2334583309d32b62544682ee972b51a"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/d4e47a769525c4dd38cea90e5dcd435ddbbc7115",
- "reference": "d4e47a769525c4dd38cea90e5dcd435ddbbc7115",
+ "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/fa0f136dd2334583309d32b62544682ee972b51a",
+ "reference": "fa0f136dd2334583309d32b62544682ee972b51a",
"shasum": ""
},
"require": {
- "ext-dom": "*",
- "ext-mbstring": "*",
- "php": ">=8.2",
- "sebastian/diff": "^6.0",
- "sebastian/exporter": "^6.0"
+ "php": ">=7.3",
+ "sebastian/diff": "^4.0",
+ "sebastian/exporter": "^4.0"
},
"require-dev": {
- "phpunit/phpunit": "^11.4"
- },
- "suggest": {
- "ext-bcmath": "For comparing BcMath\\Number objects"
+ "phpunit/phpunit": "^9.3"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "6.2-dev"
+ "dev-master": "4.0-dev"
}
},
"autoload": {
@@ -7505,8 +6476,7 @@
],
"support": {
"issues": "https://github.com/sebastianbergmann/comparator/issues",
- "security": "https://github.com/sebastianbergmann/comparator/security/policy",
- "source": "https://github.com/sebastianbergmann/comparator/tree/6.3.0"
+ "source": "https://github.com/sebastianbergmann/comparator/tree/4.0.8"
},
"funding": [
{
@@ -7514,33 +6484,33 @@
"type": "github"
}
],
- "time": "2025-01-06T10:28:19+00:00"
+ "time": "2022-09-14T12:41:17+00:00"
},
{
"name": "sebastian/complexity",
- "version": "4.0.1",
+ "version": "2.0.3",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/complexity.git",
- "reference": "ee41d384ab1906c68852636b6de493846e13e5a0"
+ "reference": "25f207c40d62b8b7aa32f5ab026c53561964053a"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/ee41d384ab1906c68852636b6de493846e13e5a0",
- "reference": "ee41d384ab1906c68852636b6de493846e13e5a0",
+ "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/25f207c40d62b8b7aa32f5ab026c53561964053a",
+ "reference": "25f207c40d62b8b7aa32f5ab026c53561964053a",
"shasum": ""
},
"require": {
- "nikic/php-parser": "^5.0",
- "php": ">=8.2"
+ "nikic/php-parser": "^4.18 || ^5.0",
+ "php": ">=7.3"
},
"require-dev": {
- "phpunit/phpunit": "^11.0"
+ "phpunit/phpunit": "^9.3"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "4.0-dev"
+ "dev-master": "2.0-dev"
}
},
"autoload": {
@@ -7563,8 +6533,7 @@
"homepage": "https://github.com/sebastianbergmann/complexity",
"support": {
"issues": "https://github.com/sebastianbergmann/complexity/issues",
- "security": "https://github.com/sebastianbergmann/complexity/security/policy",
- "source": "https://github.com/sebastianbergmann/complexity/tree/4.0.1"
+ "source": "https://github.com/sebastianbergmann/complexity/tree/2.0.3"
},
"funding": [
{
@@ -7572,33 +6541,33 @@
"type": "github"
}
],
- "time": "2024-07-03T04:49:50+00:00"
+ "time": "2023-12-22T06:19:30+00:00"
},
{
"name": "sebastian/diff",
- "version": "6.0.2",
+ "version": "4.0.6",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/diff.git",
- "reference": "b4ccd857127db5d41a5b676f24b51371d76d8544"
+ "reference": "ba01945089c3a293b01ba9badc29ad55b106b0bc"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/b4ccd857127db5d41a5b676f24b51371d76d8544",
- "reference": "b4ccd857127db5d41a5b676f24b51371d76d8544",
+ "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/ba01945089c3a293b01ba9badc29ad55b106b0bc",
+ "reference": "ba01945089c3a293b01ba9badc29ad55b106b0bc",
"shasum": ""
},
"require": {
- "php": ">=8.2"
+ "php": ">=7.3"
},
"require-dev": {
- "phpunit/phpunit": "^11.0",
+ "phpunit/phpunit": "^9.3",
"symfony/process": "^4.2 || ^5"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "6.0-dev"
+ "dev-master": "4.0-dev"
}
},
"autoload": {
@@ -7630,8 +6599,7 @@
],
"support": {
"issues": "https://github.com/sebastianbergmann/diff/issues",
- "security": "https://github.com/sebastianbergmann/diff/security/policy",
- "source": "https://github.com/sebastianbergmann/diff/tree/6.0.2"
+ "source": "https://github.com/sebastianbergmann/diff/tree/4.0.6"
},
"funding": [
{
@@ -7639,27 +6607,27 @@
"type": "github"
}
],
- "time": "2024-07-03T04:53:05+00:00"
+ "time": "2024-03-02T06:30:58+00:00"
},
{
"name": "sebastian/environment",
- "version": "7.2.0",
+ "version": "5.1.5",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/environment.git",
- "reference": "855f3ae0ab316bbafe1ba4e16e9f3c078d24a0c5"
+ "reference": "830c43a844f1f8d5b7a1f6d6076b784454d8b7ed"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/855f3ae0ab316bbafe1ba4e16e9f3c078d24a0c5",
- "reference": "855f3ae0ab316bbafe1ba4e16e9f3c078d24a0c5",
+ "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/830c43a844f1f8d5b7a1f6d6076b784454d8b7ed",
+ "reference": "830c43a844f1f8d5b7a1f6d6076b784454d8b7ed",
"shasum": ""
},
"require": {
- "php": ">=8.2"
+ "php": ">=7.3"
},
"require-dev": {
- "phpunit/phpunit": "^11.0"
+ "phpunit/phpunit": "^9.3"
},
"suggest": {
"ext-posix": "*"
@@ -7667,7 +6635,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "7.2-dev"
+ "dev-master": "5.1-dev"
}
},
"autoload": {
@@ -7686,7 +6654,7 @@
}
],
"description": "Provides functionality to handle HHVM/PHP environments",
- "homepage": "https://github.com/sebastianbergmann/environment",
+ "homepage": "http://www.github.com/sebastianbergmann/environment",
"keywords": [
"Xdebug",
"environment",
@@ -7694,8 +6662,7 @@
],
"support": {
"issues": "https://github.com/sebastianbergmann/environment/issues",
- "security": "https://github.com/sebastianbergmann/environment/security/policy",
- "source": "https://github.com/sebastianbergmann/environment/tree/7.2.0"
+ "source": "https://github.com/sebastianbergmann/environment/tree/5.1.5"
},
"funding": [
{
@@ -7703,34 +6670,34 @@
"type": "github"
}
],
- "time": "2024-07-03T04:54:44+00:00"
+ "time": "2023-02-03T06:03:51+00:00"
},
{
"name": "sebastian/exporter",
- "version": "6.3.0",
+ "version": "4.0.6",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/exporter.git",
- "reference": "3473f61172093b2da7de1fb5782e1f24cc036dc3"
+ "reference": "78c00df8f170e02473b682df15bfcdacc3d32d72"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/3473f61172093b2da7de1fb5782e1f24cc036dc3",
- "reference": "3473f61172093b2da7de1fb5782e1f24cc036dc3",
+ "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/78c00df8f170e02473b682df15bfcdacc3d32d72",
+ "reference": "78c00df8f170e02473b682df15bfcdacc3d32d72",
"shasum": ""
},
"require": {
- "ext-mbstring": "*",
- "php": ">=8.2",
- "sebastian/recursion-context": "^6.0"
+ "php": ">=7.3",
+ "sebastian/recursion-context": "^4.0"
},
"require-dev": {
- "phpunit/phpunit": "^11.3"
+ "ext-mbstring": "*",
+ "phpunit/phpunit": "^9.3"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "6.1-dev"
+ "dev-master": "4.0-dev"
}
},
"autoload": {
@@ -7772,8 +6739,7 @@
],
"support": {
"issues": "https://github.com/sebastianbergmann/exporter/issues",
- "security": "https://github.com/sebastianbergmann/exporter/security/policy",
- "source": "https://github.com/sebastianbergmann/exporter/tree/6.3.0"
+ "source": "https://github.com/sebastianbergmann/exporter/tree/4.0.6"
},
"funding": [
{
@@ -7781,35 +6747,38 @@
"type": "github"
}
],
- "time": "2024-12-05T09:17:50+00:00"
+ "time": "2024-03-02T06:33:00+00:00"
},
{
"name": "sebastian/global-state",
- "version": "7.0.2",
+ "version": "5.0.7",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/global-state.git",
- "reference": "3be331570a721f9a4b5917f4209773de17f747d7"
+ "reference": "bca7df1f32ee6fe93b4d4a9abbf69e13a4ada2c9"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/3be331570a721f9a4b5917f4209773de17f747d7",
- "reference": "3be331570a721f9a4b5917f4209773de17f747d7",
+ "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/bca7df1f32ee6fe93b4d4a9abbf69e13a4ada2c9",
+ "reference": "bca7df1f32ee6fe93b4d4a9abbf69e13a4ada2c9",
"shasum": ""
},
"require": {
- "php": ">=8.2",
- "sebastian/object-reflector": "^4.0",
- "sebastian/recursion-context": "^6.0"
+ "php": ">=7.3",
+ "sebastian/object-reflector": "^2.0",
+ "sebastian/recursion-context": "^4.0"
},
"require-dev": {
"ext-dom": "*",
- "phpunit/phpunit": "^11.0"
+ "phpunit/phpunit": "^9.3"
+ },
+ "suggest": {
+ "ext-uopz": "*"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "7.0-dev"
+ "dev-master": "5.0-dev"
}
},
"autoload": {
@@ -7828,14 +6797,13 @@
}
],
"description": "Snapshotting of global state",
- "homepage": "https://www.github.com/sebastianbergmann/global-state",
+ "homepage": "http://www.github.com/sebastianbergmann/global-state",
"keywords": [
"global state"
],
"support": {
"issues": "https://github.com/sebastianbergmann/global-state/issues",
- "security": "https://github.com/sebastianbergmann/global-state/security/policy",
- "source": "https://github.com/sebastianbergmann/global-state/tree/7.0.2"
+ "source": "https://github.com/sebastianbergmann/global-state/tree/5.0.7"
},
"funding": [
{
@@ -7843,33 +6811,33 @@
"type": "github"
}
],
- "time": "2024-07-03T04:57:36+00:00"
+ "time": "2024-03-02T06:35:11+00:00"
},
{
"name": "sebastian/lines-of-code",
- "version": "3.0.1",
+ "version": "1.0.4",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/lines-of-code.git",
- "reference": "d36ad0d782e5756913e42ad87cb2890f4ffe467a"
+ "reference": "e1e4a170560925c26d424b6a03aed157e7dcc5c5"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/d36ad0d782e5756913e42ad87cb2890f4ffe467a",
- "reference": "d36ad0d782e5756913e42ad87cb2890f4ffe467a",
+ "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/e1e4a170560925c26d424b6a03aed157e7dcc5c5",
+ "reference": "e1e4a170560925c26d424b6a03aed157e7dcc5c5",
"shasum": ""
},
"require": {
- "nikic/php-parser": "^5.0",
- "php": ">=8.2"
+ "nikic/php-parser": "^4.18 || ^5.0",
+ "php": ">=7.3"
},
"require-dev": {
- "phpunit/phpunit": "^11.0"
+ "phpunit/phpunit": "^9.3"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "3.0-dev"
+ "dev-master": "1.0-dev"
}
},
"autoload": {
@@ -7892,8 +6860,7 @@
"homepage": "https://github.com/sebastianbergmann/lines-of-code",
"support": {
"issues": "https://github.com/sebastianbergmann/lines-of-code/issues",
- "security": "https://github.com/sebastianbergmann/lines-of-code/security/policy",
- "source": "https://github.com/sebastianbergmann/lines-of-code/tree/3.0.1"
+ "source": "https://github.com/sebastianbergmann/lines-of-code/tree/1.0.4"
},
"funding": [
{
@@ -7901,34 +6868,34 @@
"type": "github"
}
],
- "time": "2024-07-03T04:58:38+00:00"
+ "time": "2023-12-22T06:20:34+00:00"
},
{
"name": "sebastian/object-enumerator",
- "version": "6.0.1",
+ "version": "4.0.4",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/object-enumerator.git",
- "reference": "f5b498e631a74204185071eb41f33f38d64608aa"
+ "reference": "5c9eeac41b290a3712d88851518825ad78f45c71"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/f5b498e631a74204185071eb41f33f38d64608aa",
- "reference": "f5b498e631a74204185071eb41f33f38d64608aa",
+ "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/5c9eeac41b290a3712d88851518825ad78f45c71",
+ "reference": "5c9eeac41b290a3712d88851518825ad78f45c71",
"shasum": ""
},
"require": {
- "php": ">=8.2",
- "sebastian/object-reflector": "^4.0",
- "sebastian/recursion-context": "^6.0"
+ "php": ">=7.3",
+ "sebastian/object-reflector": "^2.0",
+ "sebastian/recursion-context": "^4.0"
},
"require-dev": {
- "phpunit/phpunit": "^11.0"
+ "phpunit/phpunit": "^9.3"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "6.0-dev"
+ "dev-master": "4.0-dev"
}
},
"autoload": {
@@ -7950,8 +6917,7 @@
"homepage": "https://github.com/sebastianbergmann/object-enumerator/",
"support": {
"issues": "https://github.com/sebastianbergmann/object-enumerator/issues",
- "security": "https://github.com/sebastianbergmann/object-enumerator/security/policy",
- "source": "https://github.com/sebastianbergmann/object-enumerator/tree/6.0.1"
+ "source": "https://github.com/sebastianbergmann/object-enumerator/tree/4.0.4"
},
"funding": [
{
@@ -7959,32 +6925,32 @@
"type": "github"
}
],
- "time": "2024-07-03T05:00:13+00:00"
+ "time": "2020-10-26T13:12:34+00:00"
},
{
"name": "sebastian/object-reflector",
- "version": "4.0.1",
+ "version": "2.0.4",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/object-reflector.git",
- "reference": "6e1a43b411b2ad34146dee7524cb13a068bb35f9"
+ "reference": "b4f479ebdbf63ac605d183ece17d8d7fe49c15c7"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/6e1a43b411b2ad34146dee7524cb13a068bb35f9",
- "reference": "6e1a43b411b2ad34146dee7524cb13a068bb35f9",
+ "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/b4f479ebdbf63ac605d183ece17d8d7fe49c15c7",
+ "reference": "b4f479ebdbf63ac605d183ece17d8d7fe49c15c7",
"shasum": ""
},
"require": {
- "php": ">=8.2"
+ "php": ">=7.3"
},
"require-dev": {
- "phpunit/phpunit": "^11.0"
+ "phpunit/phpunit": "^9.3"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "4.0-dev"
+ "dev-master": "2.0-dev"
}
},
"autoload": {
@@ -8006,8 +6972,7 @@
"homepage": "https://github.com/sebastianbergmann/object-reflector/",
"support": {
"issues": "https://github.com/sebastianbergmann/object-reflector/issues",
- "security": "https://github.com/sebastianbergmann/object-reflector/security/policy",
- "source": "https://github.com/sebastianbergmann/object-reflector/tree/4.0.1"
+ "source": "https://github.com/sebastianbergmann/object-reflector/tree/2.0.4"
},
"funding": [
{
@@ -8015,32 +6980,32 @@
"type": "github"
}
],
- "time": "2024-07-03T05:01:32+00:00"
+ "time": "2020-10-26T13:14:26+00:00"
},
{
"name": "sebastian/recursion-context",
- "version": "6.0.2",
+ "version": "4.0.5",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/recursion-context.git",
- "reference": "694d156164372abbd149a4b85ccda2e4670c0e16"
+ "reference": "e75bd0f07204fec2a0af9b0f3cfe97d05f92efc1"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/694d156164372abbd149a4b85ccda2e4670c0e16",
- "reference": "694d156164372abbd149a4b85ccda2e4670c0e16",
+ "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/e75bd0f07204fec2a0af9b0f3cfe97d05f92efc1",
+ "reference": "e75bd0f07204fec2a0af9b0f3cfe97d05f92efc1",
"shasum": ""
},
"require": {
- "php": ">=8.2"
+ "php": ">=7.3"
},
"require-dev": {
- "phpunit/phpunit": "^11.0"
+ "phpunit/phpunit": "^9.3"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "6.0-dev"
+ "dev-master": "4.0-dev"
}
},
"autoload": {
@@ -8070,8 +7035,7 @@
"homepage": "https://github.com/sebastianbergmann/recursion-context",
"support": {
"issues": "https://github.com/sebastianbergmann/recursion-context/issues",
- "security": "https://github.com/sebastianbergmann/recursion-context/security/policy",
- "source": "https://github.com/sebastianbergmann/recursion-context/tree/6.0.2"
+ "source": "https://github.com/sebastianbergmann/recursion-context/tree/4.0.5"
},
"funding": [
{
@@ -8079,32 +7043,86 @@
"type": "github"
}
],
- "time": "2024-07-03T05:10:34+00:00"
+ "time": "2023-02-03T06:07:39+00:00"
},
{
- "name": "sebastian/type",
- "version": "5.1.0",
+ "name": "sebastian/resource-operations",
+ "version": "3.0.4",
"source": {
"type": "git",
- "url": "https://github.com/sebastianbergmann/type.git",
- "reference": "461b9c5da241511a2a0e8f240814fb23ce5c0aac"
+ "url": "https://github.com/sebastianbergmann/resource-operations.git",
+ "reference": "05d5692a7993ecccd56a03e40cd7e5b09b1d404e"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/461b9c5da241511a2a0e8f240814fb23ce5c0aac",
- "reference": "461b9c5da241511a2a0e8f240814fb23ce5c0aac",
+ "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/05d5692a7993ecccd56a03e40cd7e5b09b1d404e",
+ "reference": "05d5692a7993ecccd56a03e40cd7e5b09b1d404e",
"shasum": ""
},
"require": {
- "php": ">=8.2"
+ "php": ">=7.3"
},
"require-dev": {
- "phpunit/phpunit": "^11.3"
+ "phpunit/phpunit": "^9.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "5.1-dev"
+ "dev-main": "3.0-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de"
+ }
+ ],
+ "description": "Provides a list of PHP built-in functions that operate on resources",
+ "homepage": "https://www.github.com/sebastianbergmann/resource-operations",
+ "support": {
+ "source": "https://github.com/sebastianbergmann/resource-operations/tree/3.0.4"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2024-03-14T16:00:52+00:00"
+ },
+ {
+ "name": "sebastian/type",
+ "version": "3.2.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/type.git",
+ "reference": "75e2c2a32f5e0b3aef905b9ed0b179b953b3d7c7"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/75e2c2a32f5e0b3aef905b9ed0b179b953b3d7c7",
+ "reference": "75e2c2a32f5e0b3aef905b9ed0b179b953b3d7c7",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.3"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^9.5"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "3.2-dev"
}
},
"autoload": {
@@ -8127,8 +7145,7 @@
"homepage": "https://github.com/sebastianbergmann/type",
"support": {
"issues": "https://github.com/sebastianbergmann/type/issues",
- "security": "https://github.com/sebastianbergmann/type/security/policy",
- "source": "https://github.com/sebastianbergmann/type/tree/5.1.0"
+ "source": "https://github.com/sebastianbergmann/type/tree/3.2.1"
},
"funding": [
{
@@ -8136,29 +7153,29 @@
"type": "github"
}
],
- "time": "2024-09-17T13:12:04+00:00"
+ "time": "2023-02-03T06:13:03+00:00"
},
{
"name": "sebastian/version",
- "version": "5.0.2",
+ "version": "3.0.2",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/version.git",
- "reference": "c687e3387b99f5b03b6caa64c74b63e2936ff874"
+ "reference": "c6c1022351a901512170118436c764e473f6de8c"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/c687e3387b99f5b03b6caa64c74b63e2936ff874",
- "reference": "c687e3387b99f5b03b6caa64c74b63e2936ff874",
+ "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/c6c1022351a901512170118436c764e473f6de8c",
+ "reference": "c6c1022351a901512170118436c764e473f6de8c",
"shasum": ""
},
"require": {
- "php": ">=8.2"
+ "php": ">=7.3"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "5.0-dev"
+ "dev-master": "3.0-dev"
}
},
"autoload": {
@@ -8181,8 +7198,7 @@
"homepage": "https://github.com/sebastianbergmann/version",
"support": {
"issues": "https://github.com/sebastianbergmann/version/issues",
- "security": "https://github.com/sebastianbergmann/version/security/policy",
- "source": "https://github.com/sebastianbergmann/version/tree/5.0.2"
+ "source": "https://github.com/sebastianbergmann/version/tree/3.0.2"
},
"funding": [
{
@@ -8190,7 +7206,7 @@
"type": "github"
}
],
- "time": "2024-10-09T05:16:32+00:00"
+ "time": "2020-09-28T06:39:44+00:00"
},
{
"name": "slevomat/coding-standard",
@@ -8476,16 +7492,16 @@
},
{
"name": "symfony/dom-crawler",
- "version": "v7.2.3",
+ "version": "v7.2.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/dom-crawler.git",
- "reference": "700a880e5089280c7cf3ca1ccf9d9de6630f5d25"
+ "reference": "b176e1f1f550ef44c94eb971bf92488de08f7c6b"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/700a880e5089280c7cf3ca1ccf9d9de6630f5d25",
- "reference": "700a880e5089280c7cf3ca1ccf9d9de6630f5d25",
+ "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/b176e1f1f550ef44c94eb971bf92488de08f7c6b",
+ "reference": "b176e1f1f550ef44c94eb971bf92488de08f7c6b",
"shasum": ""
},
"require": {
@@ -8523,7 +7539,7 @@
"description": "Eases DOM navigation for HTML and XML documents",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/dom-crawler/tree/v7.2.3"
+ "source": "https://github.com/symfony/dom-crawler/tree/v7.2.0"
},
"funding": [
{
@@ -8539,7 +7555,7 @@
"type": "tidelift"
}
],
- "time": "2025-01-27T11:08:17+00:00"
+ "time": "2024-11-13T16:15:23+00:00"
},
{
"name": "symfony/maker-bundle",
@@ -8633,6 +7649,88 @@
],
"time": "2025-01-15T00:21:40+00:00"
},
+ {
+ "name": "symfony/phpunit-bridge",
+ "version": "v7.2.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/phpunit-bridge.git",
+ "reference": "2bbde92ab25a0e2c88160857af7be9db5da0d145"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/phpunit-bridge/zipball/2bbde92ab25a0e2c88160857af7be9db5da0d145",
+ "reference": "2bbde92ab25a0e2c88160857af7be9db5da0d145",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.2.5"
+ },
+ "conflict": {
+ "phpunit/phpunit": "<7.5|9.1.2"
+ },
+ "require-dev": {
+ "symfony/deprecation-contracts": "^2.5|^3.0",
+ "symfony/error-handler": "^5.4|^6.4|^7.0",
+ "symfony/polyfill-php81": "^1.27"
+ },
+ "bin": [
+ "bin/simple-phpunit"
+ ],
+ "type": "symfony-bridge",
+ "extra": {
+ "thanks": {
+ "url": "https://github.com/sebastianbergmann/phpunit",
+ "name": "phpunit/phpunit"
+ }
+ },
+ "autoload": {
+ "files": [
+ "bootstrap.php"
+ ],
+ "psr-4": {
+ "Symfony\\Bridge\\PhpUnit\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/",
+ "/bin/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Nicolas Grekas",
+ "email": "p@tchwork.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Provides utilities for PHPUnit, especially user deprecation notices management",
+ "homepage": "https://symfony.com",
+ "support": {
+ "source": "https://github.com/symfony/phpunit-bridge/tree/v7.2.0"
+ },
+ "funding": [
+ {
+ "url": "https://symfony.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2024-11-13T16:15:23+00:00"
+ },
{
"name": "symfony/process",
"version": "v7.2.0",
@@ -8696,16 +7794,16 @@
},
{
"name": "symfony/web-profiler-bundle",
- "version": "v7.2.3",
+ "version": "v7.2.2",
"source": {
"type": "git",
"url": "https://github.com/symfony/web-profiler-bundle.git",
- "reference": "cd60cb3664954a1593872f6f199bffac99e8c11e"
+ "reference": "5d37d9bd86ab49bd94c57e18e601e27fb6760f2c"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/web-profiler-bundle/zipball/cd60cb3664954a1593872f6f199bffac99e8c11e",
- "reference": "cd60cb3664954a1593872f6f199bffac99e8c11e",
+ "url": "https://api.github.com/repos/symfony/web-profiler-bundle/zipball/5d37d9bd86ab49bd94c57e18e601e27fb6760f2c",
+ "reference": "5d37d9bd86ab49bd94c57e18e601e27fb6760f2c",
"shasum": ""
},
"require": {
@@ -8758,7 +7856,7 @@
"dev"
],
"support": {
- "source": "https://github.com/symfony/web-profiler-bundle/tree/v7.2.3"
+ "source": "https://github.com/symfony/web-profiler-bundle/tree/v7.2.2"
},
"funding": [
{
@@ -8774,7 +7872,7 @@
"type": "tidelift"
}
],
- "time": "2025-01-07T09:39:55+00:00"
+ "time": "2024-12-11T15:34:14+00:00"
},
{
"name": "symplify/config-transformer",
@@ -8820,16 +7918,16 @@
},
{
"name": "symplify/easy-coding-standard",
- "version": "12.5.8",
+ "version": "12.5.5",
"source": {
"type": "git",
"url": "https://github.com/easy-coding-standard/easy-coding-standard.git",
- "reference": "2bf0e468dc9679f3835c835cd3fd4a25ff6e4e14"
+ "reference": "16a6ac7f452e230fdcc81f1b35b2366903fcecf3"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/easy-coding-standard/easy-coding-standard/zipball/2bf0e468dc9679f3835c835cd3fd4a25ff6e4e14",
- "reference": "2bf0e468dc9679f3835c835cd3fd4a25ff6e4e14",
+ "url": "https://api.github.com/repos/easy-coding-standard/easy-coding-standard/zipball/16a6ac7f452e230fdcc81f1b35b2366903fcecf3",
+ "reference": "16a6ac7f452e230fdcc81f1b35b2366903fcecf3",
"shasum": ""
},
"require": {
@@ -8865,7 +7963,7 @@
],
"support": {
"issues": "https://github.com/easy-coding-standard/easy-coding-standard/issues",
- "source": "https://github.com/easy-coding-standard/easy-coding-standard/tree/12.5.8"
+ "source": "https://github.com/easy-coding-standard/easy-coding-standard/tree/12.5.5"
},
"funding": [
{
@@ -8877,66 +7975,7 @@
"type": "github"
}
],
- "time": "2025-01-31T13:59:38+00:00"
- },
- {
- "name": "ta-tikoma/phpunit-architecture-test",
- "version": "0.8.4",
- "source": {
- "type": "git",
- "url": "https://github.com/ta-tikoma/phpunit-architecture-test.git",
- "reference": "89f0dea1cb0f0d5744d3ec1764a286af5e006636"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/ta-tikoma/phpunit-architecture-test/zipball/89f0dea1cb0f0d5744d3ec1764a286af5e006636",
- "reference": "89f0dea1cb0f0d5744d3ec1764a286af5e006636",
- "shasum": ""
- },
- "require": {
- "nikic/php-parser": "^4.18.0 || ^5.0.0",
- "php": "^8.1.0",
- "phpdocumentor/reflection-docblock": "^5.3.0",
- "phpunit/phpunit": "^10.5.5 || ^11.0.0",
- "symfony/finder": "^6.4.0 || ^7.0.0"
- },
- "require-dev": {
- "laravel/pint": "^1.13.7",
- "phpstan/phpstan": "^1.10.52"
- },
- "type": "library",
- "autoload": {
- "psr-4": {
- "PHPUnit\\Architecture\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Ni Shi",
- "email": "futik0ma011@gmail.com"
- },
- {
- "name": "Nuno Maduro",
- "email": "enunomaduro@gmail.com"
- }
- ],
- "description": "Methods for testing application architecture",
- "keywords": [
- "architecture",
- "phpunit",
- "stucture",
- "test",
- "testing"
- ],
- "support": {
- "issues": "https://github.com/ta-tikoma/phpunit-architecture-test/issues",
- "source": "https://github.com/ta-tikoma/phpunit-architecture-test/tree/0.8.4"
- },
- "time": "2024-01-05T14:10:56+00:00"
+ "time": "2025-01-02T08:43:03+00:00"
},
{
"name": "theseer/tokenizer",
@@ -8987,64 +8026,6 @@
}
],
"time": "2024-03-03T12:36:25+00:00"
- },
- {
- "name": "webmozart/assert",
- "version": "1.11.0",
- "source": {
- "type": "git",
- "url": "https://github.com/webmozarts/assert.git",
- "reference": "11cb2199493b2f8a3b53e7f19068fc6aac760991"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/webmozarts/assert/zipball/11cb2199493b2f8a3b53e7f19068fc6aac760991",
- "reference": "11cb2199493b2f8a3b53e7f19068fc6aac760991",
- "shasum": ""
- },
- "require": {
- "ext-ctype": "*",
- "php": "^7.2 || ^8.0"
- },
- "conflict": {
- "phpstan/phpstan": "<0.12.20",
- "vimeo/psalm": "<4.6.1 || 4.6.2"
- },
- "require-dev": {
- "phpunit/phpunit": "^8.5.13"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.10-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Webmozart\\Assert\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Bernhard Schussek",
- "email": "bschussek@gmail.com"
- }
- ],
- "description": "Assertions to validate method input/output with nice error messages.",
- "keywords": [
- "assert",
- "check",
- "validate"
- ],
- "support": {
- "issues": "https://github.com/webmozarts/assert/issues",
- "source": "https://github.com/webmozarts/assert/tree/1.11.0"
- },
- "time": "2022-06-03T18:03:27+00:00"
}
],
"aliases": [],
diff --git a/infection.json5 b/infection.json5
new file mode 100644
index 0000000..1a80eed
--- /dev/null
+++ b/infection.json5
@@ -0,0 +1,20 @@
+{
+ "$schema": "vendor/infection/infection/resources/schema.json",
+ "source": {
+ "directories": [
+ "src"
+ ]
+ },
+ "timeout": 30,
+ "logs": {
+ "text": "var/log/infection.txt",
+ "summary": "var/log/summary.log",
+ },
+ "mutators": {
+ "@default": true,
+ "global-ignore": [
+ "App\\Service\\Favicon::__toString",
+ "ORM\\Column.*"
+ ]
+ }
+}
\ No newline at end of file
diff --git a/phpunit.xml b/phpunit.xml
deleted file mode 100644
index 1da196e..0000000
--- a/phpunit.xml
+++ /dev/null
@@ -1,38 +0,0 @@
-
-
-
-
- tests/Feature
- tests/Unit
-
-
-
-
-
- src
-
-
- src/Kernel.php
- src/Service/Favicon.php
-
-
-
-
-
-
-
-
-
-
diff --git a/phpunit.xml.dist b/phpunit.xml.dist
index 6c4bfed..e0c28a4 100644
--- a/phpunit.xml.dist
+++ b/phpunit.xml.dist
@@ -6,7 +6,9 @@
backupGlobals="false"
colors="true"
bootstrap="tests/bootstrap.php"
- convertDeprecationsToExceptions="false"
+ convertDeprecationsToExceptions="true"
+ executionOrder="random"
+ resolveDependencies="true"
>
@@ -14,7 +16,8 @@
-
+
+
diff --git a/src/Form/MenuItemType.php b/src/Form/MenuItemType.php
index 7b89e52..6d94034 100644
--- a/src/Form/MenuItemType.php
+++ b/src/Form/MenuItemType.php
@@ -14,12 +14,15 @@ use Symfony\Component\OptionsResolver\OptionsResolver;
use Symfony\Component\Validator\Constraints\Length;
use Symfony\Component\Validator\Constraints\NotBlank;
+use function assert;
+
final class MenuItemType extends AbstractType
{
#[Override]
public function buildForm(FormBuilderInterface $builder, array $options): void
{
$item = $options['data'];
+ assert($item instanceof MenuItem);
$builder->add('name', TextType::class, [
'constraints' => [
diff --git a/src/Kernel.php b/src/Kernel.php
index 68a0d17..3a21183 100644
--- a/src/Kernel.php
+++ b/src/Kernel.php
@@ -8,15 +8,4 @@ use Symfony\Component\HttpKernel\Kernel as BaseKernel;
final class Kernel extends BaseKernel
{
use MicroKernelTrait;
-
- public function __construct(
- protected string $environment,
- protected bool $debug,
- ) {
- parent::__construct($environment, $debug);
- if ($environment === 'test') {
- $this->debug = false;
- }
-
- }
}
diff --git a/symfony.lock b/symfony.lock
index 1506c2a..9ad7de1 100644
--- a/symfony.lock
+++ b/symfony.lock
@@ -48,7 +48,7 @@
}
},
"phpunit/phpunit": {
- "version": "11.4",
+ "version": "9.6",
"recipe": {
"repo": "github.com/symfony/recipes",
"branch": "main",
@@ -122,6 +122,21 @@
"ref": "fadbfe33303a76e25cb63401050439aa9b1a9c7f"
}
},
+ "symfony/phpunit-bridge": {
+ "version": "7.1",
+ "recipe": {
+ "repo": "github.com/symfony/recipes",
+ "branch": "main",
+ "version": "6.3",
+ "ref": "a411a0480041243d97382cac7984f7dce7813c08"
+ },
+ "files": [
+ ".env.test",
+ "bin/phpunit",
+ "phpunit.xml.dist",
+ "tests/bootstrap.php"
+ ]
+ },
"symfony/routing": {
"version": "7.1",
"recipe": {
diff --git a/tests/Feature/Controller/FoodOrderControllerTest.php b/tests/Controller/FoodOrderControllerTest.php
similarity index 71%
rename from tests/Feature/Controller/FoodOrderControllerTest.php
rename to tests/Controller/FoodOrderControllerTest.php
index 322f619..3abd8a2 100644
--- a/tests/Feature/Controller/FoodOrderControllerTest.php
+++ b/tests/Controller/FoodOrderControllerTest.php
@@ -1,40 +1,45 @@
beforeEach(function (): void {
- $this->setEntityClass(FoodOrder::class);
- $this->setPath('/food/order/');
- $this->repository = $this->manager->getRepository($this->entityClass);
+final class FoodOrderControllerTest extends DbWebTest
+{
+ private string $path = '/food/order/';
+ private FoodVendor $vendor;
+
+ #[Override]
+ public function setUp(): void
+ {
+ parent::setUp();
$this->vendor = new FoodVendor;
$this->vendor->setName('Food Vendor');
$this->manager->persist($this->vendor);
$this->manager->flush();
- });
+ }
-describe(FoodOrderController::class, function (): void {
- test('index', function (): void {
+ #[Override]
+ public function getEntityClass(): string
+ {
+ return FoodOrder::class;
+ }
+
+ public function testIndex(): void
+ {
$order = new FoodOrder;
$order->setFoodVendor($this->vendor);
@@ -43,16 +48,17 @@ describe(FoodOrderController::class, function (): void {
$this->manager->flush();
$crawler = $this->client->request('GET', "{$this->path}list");
- $this->assertResponseStatusCodeSame(200);
- $this->assertPageTitleContains('FoodOrder index');
+ self::assertResponseStatusCodeSame(200);
+ self::assertPageTitleContains('FoodOrder index');
$this->assertCount(
1,
$crawler->filter('td')
->reduce(fn(Crawler $node, $i): bool => $node->text() === $this->vendor->getName()),
);
- });
+ }
- test('orderedItems', function (): void {
+ public function testOrderedItems(): void
+ {
$order = new FoodOrder;
$order->setFoodVendor($this->vendor);
@@ -98,7 +104,7 @@ describe(FoodOrderController::class, function (): void {
$this->manager->flush();
$crawler = $this->client->request('GET', "{$this->path}{$order->getId()}");
- $this->assertResponseIsSuccessful();
+ self::assertResponseIsSuccessful();
$tdContent = $crawler->filter(
'table.table:nth-child(6) > tbody:nth-child(2) > tr:nth-child(1) > td:nth-child(2)'
)->text();
@@ -111,20 +117,14 @@ describe(FoodOrderController::class, function (): void {
'table.table:nth-child(6) > tbody:nth-child(2) > tr:nth-child(3) > td:nth-child(2)'
)->text();
$this->assertEquals('C', $tdContent);
- });
+ }
- test('paginatedIndex', function (): void {
- foreach (range(1, 35) as $i) {
- $order = new FoodOrder($this->generateOldUlid());
- $order->setFoodVendor($this->vendor);
- $order->close();
- $this->manager->persist($order);
-
- }
- $this->manager->flush();
+ public function testPaginatedIndex(): void
+ {
+ $this->generatePaginatedOrders();
$crawler = $this->client->request('GET', "{$this->path}list");
- $this->assertResponseStatusCodeSame(200);
- $this->assertPageTitleContains('FoodOrder index');
+ self::assertResponseStatusCodeSame(200);
+ self::assertPageTitleContains('FoodOrder index');
$this->assertElementContainsCount(
$crawler,
'td',
@@ -137,20 +137,20 @@ describe(FoodOrderController::class, function (): void {
0,
'next page'
);
- });
+ }
- test('paginatedFirstPage', function (int $page, int $prevPage, int $nextPage, int $items = 10): void {
- foreach (range(1, 35) as $i) {
- $order = new FoodOrder($this->generateOldUlid());
- $order->setFoodVendor($this->vendor);
- $order->close();
- $this->manager->persist($order);
-
- }
- $this->manager->flush();
+ /**
+ * @testWith [1, 0, 2]
+ * [2, 1, 3]
+ * [3, 2, 4]
+ * [4, 3, 0, 5]
+ */
+ public function testPaginatedFirstPage(int $page, int $prevPage, int $nextPage, int $items = 10): void
+ {
+ $this->generatePaginatedOrders();
$crawler = $this->client->request('GET', "{$this->path}list/archive/{$page}");
- $this->assertResponseStatusCodeSame(200);
- $this->assertPageTitleContains('FoodOrder index');
+ self::assertResponseStatusCodeSame(200);
+ self::assertPageTitleContains('FoodOrder index');
$this->assertElementContainsCount(
$crawler,
'td',
@@ -172,36 +172,30 @@ describe(FoodOrderController::class, function (): void {
$target = $node->attr('href');
$this->assertTrue(str_ends_with((string) $target, "/{$nextPage}"));
}
- })
- ->with(
- [
- [1, 0, 2],
- [2, 1, 3],
- [3, 2, 4],
- [4, 3, 0, 5],
- ]
- );
+ }
- test('new', function (): void {
+ public function testNew(): void
+ {
$this->client->getCookieJar()
->set(new Cookie('username', 'Testing-1'));
$this->client->request('GET', sprintf('%snew', $this->path));
- $this->assertResponseStatusCodeSame(200);
+ self::assertResponseStatusCodeSame(200);
$this->client->submitForm('Save', [
'food_order[foodVendor]' => $this->vendor->getId(),
]);
- $this->assertResponseRedirects("{$this->path}list");
- $this->assertSame(1, $this->repository->count([]));
+ self::assertResponseRedirects("{$this->path}list");
+ self::assertSame(1, $this->repository->count([]));
$order = $this->repository->findOneBy([
'createdBy' => 'Testing-1',
]);
assert($order instanceof FoodOrder);
- });
+ }
- test('open', function (): void {
+ public function testOpen(): void
+ {
$order = new FoodOrder;
$order->setFoodVendor($this->vendor);
$order->close();
@@ -211,12 +205,13 @@ describe(FoodOrderController::class, function (): void {
$this->manager->flush();
$this->client->request('GET', sprintf('%s%s/open', $this->path, $order->getId()));
- $this->assertResponseRedirects("{$this->path}{$order->getId()}");
+ self::assertResponseRedirects("{$this->path}{$order->getId()}");
$openOrder = $this->repository->find($order->getId());
$this->assertFalse($openOrder->isClosed());
- });
+ }
- test('close', function (): void {
+ public function testClose(): void
+ {
$order = new FoodOrder;
$order->setClosedAt();
$order->setFoodVendor($this->vendor);
@@ -226,19 +221,20 @@ describe(FoodOrderController::class, function (): void {
$this->manager->flush();
$this->client->request('GET', sprintf('%s%s/close', $this->path, $order->getId()));
- $this->assertResponseRedirects("{$this->path}{$order->getId()}");
+ self::assertResponseRedirects("{$this->path}{$order->getId()}");
$openOrder = $this->repository->find($order->getId());
$this->assertTrue($openOrder->isClosed());
- });
+ }
-})
- ->covers(
- FoodOrderController::class,
- FoodOrder::class,
- FoodVendor::class,
- FoodOrderRepository::class,
- MenuItem::class,
- OrderItem::class,
- FoodOrderType::class,
- FoodVendorRepository::class
- );
+ private function generatePaginatedOrders(): void
+ {
+ foreach (range(1, 35) as $i) {
+ $order = new FoodOrder($this->generateOldUlid());
+ $order->setFoodVendor($this->vendor);
+ $order->close();
+ $this->manager->persist($order);
+
+ }
+ $this->manager->flush();
+ }
+}
diff --git a/tests/Feature/Controller/FoodVendorControllerTest.php b/tests/Controller/FoodVendorControllerTest.php
similarity index 69%
rename from tests/Feature/Controller/FoodVendorControllerTest.php
rename to tests/Controller/FoodVendorControllerTest.php
index d6d64cb..d7fa1b9 100644
--- a/tests/Feature/Controller/FoodVendorControllerTest.php
+++ b/tests/Controller/FoodVendorControllerTest.php
@@ -1,42 +1,32 @@
beforeEach(function (): void {
- $this->setEntityClass(FoodVendor::class);
- $this->setPath('/food/vendor/');
- $this->repository = $this->manager->getRepository($this->entityClass);
- });
+final class FoodVendorControllerTest extends DbWebTest
+{
+ private string $path = '/food/vendor/';
-describe(FoodVendorController::class, function (): void {
- test('index', function (): void {
+ public function testIndex(): void
+ {
$this->client->request('GET', $this->path);
- $this->assertResponseStatusCodeSame(200);
- $this->assertPageTitleContains('FoodVendor index');
- });
+ self::assertResponseStatusCodeSame(200);
+ self::assertPageTitleContains('FoodVendor index');
+ }
- test('new', function (): void {
- $this->assertSame(0, $this->repository->count([]));
+ public function testNew(): void
+ {
+ self::assertSame(0, $this->repository->count([]));
$this->client->request('GET', sprintf('%snew', $this->path));
- $this->assertResponseStatusCodeSame(200);
+ self::assertResponseStatusCodeSame(200);
$this->client->submitForm('Save', [
'food_vendor[name]' => 'TestingNew',
@@ -46,11 +36,12 @@ describe(FoodVendorController::class, function (): void {
'name' => 'TestingNew',
]);
$this->assertInstanceof(FoodVendor::class, $newVendor);
- $this->assertSame(1, $this->repository->count([]));
+ self::assertSame(1, $this->repository->count([]));
- });
+ }
- test('show', function (): void {
+ public function testShow(): void
+ {
$fixture = new FoodVendor;
$fixture->setName('My Title');
$fixture->setMenuLink('https://example.com/');
@@ -72,9 +63,10 @@ describe(FoodVendorController::class, function (): void {
)->text();
$this->assertSame('My Title', $nameNode);
$this->assertSame('https://example.com/', $menuLinkNode);
- });
+ }
- test('show with menu items', function (): void {
+ public function testShowMenuItems(): void
+ {
$fixture = new FoodVendor;
$fixture->setName('My Title');
@@ -122,9 +114,10 @@ describe(FoodVendorController::class, function (): void {
$itemNodes = $crawler->filter('li');
$this->assertCount(4, $itemNodes);
- });
+ }
- test('edit', function (): void {
+ public function testEdit(): void
+ {
$fixture = new FoodVendor;
$fixture->setName('Value');
$fixture->setMenuLink('Value');
@@ -159,26 +152,18 @@ describe(FoodVendorController::class, function (): void {
'food_vendor[phone]' => '1234567890',
]);
- $this->assertResponseRedirects('/food/vendor/');
+ self::assertResponseRedirects('/food/vendor/');
$fixture = $this->repository->findAll();
- $this->assertSame('Something New', $fixture[0]->getName());
- $this->assertSame('https://example.com/', $fixture[0]->getMenuLink());
- $this->assertSame('1234567890', $fixture[0]->getPhone());
- });
+ self::assertSame('Something New', $fixture[0]->getName());
+ self::assertSame('https://example.com/', $fixture[0]->getMenuLink());
+ self::assertSame('1234567890', $fixture[0]->getPhone());
+ }
-})
- ->covers(
- FoodOrder::class,
- FoodVendor::class,
- FoodOrderRepository::class,
- MenuItem::class,
- OrderItem::class,
- FoodOrderType::class,
- FoodVendorRepository::class,
- FoodVendorController::class,
- FoodVendorType::class
- )
-
-;
+ #[Override]
+ public function getEntityClass(): string
+ {
+ return FoodVendor::class;
+ }
+}
diff --git a/tests/Controller/HomeControllerTest.php b/tests/Controller/HomeControllerTest.php
new file mode 100644
index 0000000..cc6080c
--- /dev/null
+++ b/tests/Controller/HomeControllerTest.php
@@ -0,0 +1,76 @@
+client->request(
+ 'GET',
+ '/'
+ );
+
+ self::assertResponseStatusCodeSame(302);
+ self::assertResponseHeaderSame('Location', '/food/order/list');
+
+ }
+
+ public function testSetUsername(): void
+ {
+ $this->client->request(
+ 'GET',
+ '/username',
+ );
+
+ self::assertResponseStatusCodeSame(200);
+
+ $this->client->submitForm('Save', [
+ 'user_name_form[username]' => 'Testing-1',
+ ]);
+ self::assertResponseStatusCodeSame(302);
+ self::assertResponseHeaderSame('Location', '/food/order/list');
+ self::assertResponseCookieValueSame('username', 'Testing-1');
+
+ $crawler = $this->client->request(
+ 'GET',
+ '/username',
+ );
+
+ self::assertResponseStatusCodeSame(200);
+
+ $this->assertSame(
+ $crawler->filter('#user_name_form_username')
+ ->last()
+ ->attr('value', ''),
+ 'Testing-1'
+ );
+
+ }
+
+ public function testRemoveUsername(): void
+ {
+ $this->client->request(
+ 'GET',
+ '/username',
+ );
+
+ self::assertResponseStatusCodeSame(200);
+
+ $this->client->submitForm('Save', [
+ 'user_name_form[username]' => '',
+ ]);
+ self::assertResponseStatusCodeSame(302);
+ self::assertResponseHeaderSame('Location', '/food/order/list');
+ self::assertResponseCookieValueSame('username', '');
+ }
+
+ #[Override]
+ public function getEntityClass(): string
+ {
+ return '';
+ }
+}
diff --git a/tests/Feature/Controller/MenuItemControllerTest.php b/tests/Controller/MenuItemControllerTest.php
similarity index 75%
rename from tests/Feature/Controller/MenuItemControllerTest.php
rename to tests/Controller/MenuItemControllerTest.php
index fd63447..92cb1a0 100644
--- a/tests/Feature/Controller/MenuItemControllerTest.php
+++ b/tests/Controller/MenuItemControllerTest.php
@@ -1,34 +1,32 @@
beforeEach(function (): void {
- $this->setEntityClass(MenuItem::class);
- $this->setPath('/menu/item/');
-
- $this->repository = $this->manager->getRepository($this->entityClass);
+final class MenuItemControllerTest extends DbWebTest
+{
+ private string $path = '/menu/item/';
+ private FoodVendor $vendor;
+ private MenuItem $menuItem;
+ private MenuItem $aliasOne;
+ private MenuItem $aliasTwo;
+ #[Override]
+ public function setUp(): void
+ {
+ parent::setUp();
$this->vendor = new FoodVendor;
$this->vendor->setName('Food Vendor');
$this->manager->persist($this->vendor);
+
$this->menuItem = new MenuItem;
$this->menuItem->setName('Testing 1 2');
@@ -54,10 +52,16 @@ pest()
$this->manager->persist($this->menuItem);
$this->manager->flush();
- });
+ }
-describe(MenuItemController::class, function (): void {
- test('show', function (): void {
+ #[Override]
+ public function getEntityClass(): string
+ {
+ return MenuItem::class;
+ }
+
+ public function testShow(): void
+ {
$crawler = $this->client->request('GET', "{$this->path}{$this->menuItem->getId()}");
$idValue = $crawler->filter(
@@ -73,14 +77,15 @@ describe(MenuItemController::class, function (): void {
$aliasOneNameValue = $crawler->filter(
'.table > tbody:nth-child(1) > tr:nth-child(3) > td:nth-child(2) > ul:nth-child(1) > li:nth-child(2)'
)->text();
- $this->assertResponseStatusCodeSame(200);
+ self::assertResponseStatusCodeSame(200);
$this->assertEquals($idValue, $this->menuItem->getId());
$this->assertEquals($nameValue, $this->menuItem->getName());
$this->assertEquals($aliasTwoNameValue, $this->aliasOne->getName());
$this->assertEquals($aliasOneNameValue, $this->aliasTwo->getName());
- });
+ }
- test('edit', function (): void {
+ public function testEdit(): void
+ {
$crawler = $this->client->request('GET', sprintf('%s%s/edit', $this->path, $this->menuItem->getId()));
$nameElem = $crawler->filter('#menu_item_name');
$this->assertEquals(
@@ -95,15 +100,16 @@ describe(MenuItemController::class, function (): void {
$this->client->submit($form);
- $this->assertResponseRedirects(sprintf('/menu/item/%s', $this->menuItem->getId()));
+ self::assertResponseRedirects(sprintf('/menu/item/%s', $this->menuItem->getId()));
$menuItem = $this->repository->find($this->menuItem->getId());
$this->assertEquals('Testing-1', $menuItem->getName());
$this->assertEquals(1, $menuItem->getAliases()->count());
$aliasOne = $this->repository->find($this->aliasOne->getId());
$this->assertNull($aliasOne->getAliasOf());
- });
+ }
- test('edit invalid', function (): void {
+ public function testEditInvalid(): void
+ {
$crawler = $this->client->request('GET', sprintf('%s%s/edit', $this->path, $this->menuItem->getId()));
$nameElem = $crawler->filter('#menu_item_name');
$this->assertEquals(
@@ -117,10 +123,11 @@ describe(MenuItemController::class, function (): void {
$this->client->submit($form);
- $this->assertResponseStatusCodeSame(422);
- });
+ self::assertResponseStatusCodeSame(422);
+ }
- test('delete', function (): void {
+ public function testDelete(): void
+ {
$order = new FoodOrder;
$order->setFoodVendor($this->vendor);
@@ -143,17 +150,5 @@ describe(MenuItemController::class, function (): void {
$this->assertResponseIsSuccessful();
- });
-})
- ->covers(
- MenuItemController::class,
- OrderItemController::class,
- OrderItemType::class,
- MenuItemRepository::class,
- FoodOrder::class,
- FoodVendor::class,
- MenuItem::class,
- OrderItem::class,
- FoodOrderRepository::class,
- MenuItemType::class,
- );
+ }
+}
diff --git a/tests/Feature/Controller/OrderItemControllerTest.php b/tests/Controller/OrderItemControllerTest.php
similarity index 66%
rename from tests/Feature/Controller/OrderItemControllerTest.php
rename to tests/Controller/OrderItemControllerTest.php
index afbed56..2c9c9ad 100644
--- a/tests/Feature/Controller/OrderItemControllerTest.php
+++ b/tests/Controller/OrderItemControllerTest.php
@@ -1,29 +1,30 @@
beforeEach(function (): void {
- $this->setEntityClass(OrderItem::class);
- $this->setPath('/order/item/');
- $this->repository = $this->manager->getRepository($this->entityClass);
+final class OrderItemControllerTest extends DbWebTest
+{
+ public FoodVendor $vendor;
+ public FoodOrder $order;
+ public Menuitem $menuItem;
+ public MenuItemRepository $menuItemRepository;
+ private string $path = '/order/item/';
+ #[Override]
+ public function setUp(): void
+ {
+ parent::setUp();
$this->vendor = new FoodVendor;
$this->vendor->setName('Food Vendor');
@@ -50,11 +51,11 @@ pest()
$this->manager->persist($this->menuItem);
$this->manager->flush();
- $this->menuItemRepository = $this::getContainer()->get(MenuItemRepository::class);
- });
+ $this->menuItemRepository = static::getContainer()->get(MenuItemRepository::class);
+ }
-describe(OrderItemController::class, function (): void {
- test('new', function (): void {
+ public function testNew(): void
+ {
$crawler = $this->client->request(
'GET',
sprintf('%snew/%s', $this->path, $this->order->getId())
@@ -65,22 +66,23 @@ describe(OrderItemController::class, function (): void {
$this->assertCount(1, $children);
- $this->assertResponseStatusCodeSame(200);
+ self::assertResponseStatusCodeSame(200);
$this->client->submitForm('Save', [
'order_item[name]' => 'Testing',
'order_item[extras]' => 'Testing',
]);
- $this->assertResponseRedirects(sprintf('/food/order/%s', $this->order->getId()));
+ self::assertResponseRedirects(sprintf('/food/order/%s', $this->order->getId()));
- $this->assertSame(1, $this->repository->count([]));
- $this->assertSame(1, $this->menuItemRepository->count([
+ self::assertSame(1, $this->repository->count([]));
+ self::assertSame(1, $this->menuItemRepository->count([
'foodVendor' => $this->vendor->getId(),
]));
- });
+ }
- test('new order closed', function (): void {
+ public function testNewOrderClosed(): void
+ {
$this->order->setClosedAt(new DateTimeImmutable('-1 Hour'));
$this->manager->persist($this->order);
@@ -91,31 +93,33 @@ describe(OrderItemController::class, function (): void {
sprintf('%snew/%s', $this->path, $this->order->getId())
);
- $this->assertResponseRedirects(sprintf('/food/order/%s', $this->order->getId()));
+ self::assertResponseRedirects(sprintf('/food/order/%s', $this->order->getId()));
- $this->assertSame(0, $this->repository->count([]));
- });
+ self::assertSame(0, $this->repository->count([]));
+ }
- test('new create menu item', function (): void {
+ public function testNewCreateMenuItem(): void
+ {
$this->client->request(
'GET',
sprintf('%snew/%s', $this->path, $this->order->getId())
);
- $this->assertResponseStatusCodeSame(200);
+ self::assertResponseStatusCodeSame(200);
$this->client->submitForm('Save', [
'order_item[name]' => 'Testing-1',
'order_item[extras]' => 'Testing-1',
]);
- $this->assertResponseRedirects(sprintf('/food/order/%s', $this->order->getId()));
+ self::assertResponseRedirects(sprintf('/food/order/%s', $this->order->getId()));
- $this->assertSame(1, $this->repository->count([]));
- $this->assertSame(3, $this->menuItemRepository->count([]));
- });
+ self::assertSame(1, $this->repository->count([]));
+ self::assertSame(3, $this->menuItemRepository->count([]));
+ }
- test('remove', function (): void {
+ public function testRemove(): void
+ {
$fixture = new OrderItem;
$fixture->setName('Testing');
$fixture->setExtras('Value');
@@ -128,11 +132,12 @@ describe(OrderItemController::class, function (): void {
$this->client->request('GET', sprintf('%sdelete/%s', $this->path, $fixture->getId()));
- $this->assertResponseRedirects(sprintf('/food/order/%s', $this->order->getId()));
- $this->assertSame(0, $this->repository->count([]));
- });
+ self::assertResponseRedirects(sprintf('/food/order/%s', $this->order->getId()));
+ self::assertSame(0, $this->repository->count([]));
+ }
- test('order closed', function (): void {
+ public function testOrderClosed(): void
+ {
$fixture = new OrderItem;
$fixture->setName('Testing');
$fixture->setExtras('Value');
@@ -147,11 +152,12 @@ describe(OrderItemController::class, function (): void {
$this->client->request('GET', sprintf('%sdelete/%s', $this->path, $fixture->getId()));
- $this->assertResponseRedirects(sprintf('/food/order/%s', $this->order->getId()));
- $this->assertSame(1, $this->repository->count([]));
- });
+ self::assertResponseRedirects(sprintf('/food/order/%s', $this->order->getId()));
+ self::assertSame(1, $this->repository->count([]));
+ }
- test('edit', function (): void {
+ public function testEdit(): void
+ {
$orderItem = new OrderItem;
$orderItem->setName('Testing');
$orderItem->setExtras('My Extra');
@@ -179,14 +185,15 @@ describe(OrderItemController::class, function (): void {
'order_item[extras]' => 'Testing-1',
]);
- $this->assertResponseRedirects(sprintf('/food/order/%s', $this->order->getId()));
+ self::assertResponseRedirects(sprintf('/food/order/%s', $this->order->getId()));
- $this->assertSame(1, $this->repository->count([]));
- $this->assertSame(3, $this->menuItemRepository->count([]));
+ self::assertSame(1, $this->repository->count([]));
+ self::assertSame(3, $this->menuItemRepository->count([]));
- });
+ }
- test('edit order closed', function (): void {
+ public function testEditOrderClosed(): void
+ {
$orderItem = new OrderItem;
$orderItem->setName('Testing');
$orderItem->setExtras('My Extra');
@@ -200,10 +207,11 @@ describe(OrderItemController::class, function (): void {
$this->manager->flush();
$this->client->request('GET', sprintf('%s%s/edit', $this->path, $orderItem->getId()));
- $this->assertResponseRedirects(sprintf('/food/order/%s', $this->order->getId()));
- });
+ self::assertResponseRedirects(sprintf('/food/order/%s', $this->order->getId()));
+ }
- test('copy', function (): void {
+ public function testCopy(): void
+ {
$orderItem = new OrderItem;
$orderItem->setName('My Title');
$orderItem->setExtras('My Title');
@@ -214,7 +222,7 @@ describe(OrderItemController::class, function (): void {
$this->manager->flush();
$this->client->request('GET', sprintf('%s%s/copy', $this->path, $orderItem->getId()));
- $this->assertResponseRedirects(sprintf('/food/order/%s', $this->order->getId()));
+ self::assertResponseRedirects(sprintf('/food/order/%s', $this->order->getId()));
$result = $this->repository->findBy([
'foodOrder' => $this->order->getId(),
@@ -224,9 +232,10 @@ describe(OrderItemController::class, function (): void {
$this->assertSame($orderItem->getName(), $item->getName());
$this->assertSame($orderItem->getExtras(), $item->getExtras());
}
- });
+ }
- test('copy order closed', function (): void {
+ public function testCopyOrderClosed(): void
+ {
$orderItem = new OrderItem;
$orderItem->setName('My Title');
$orderItem->setExtras('My Title');
@@ -239,23 +248,17 @@ describe(OrderItemController::class, function (): void {
$this->manager->flush();
$this->client->request('GET', sprintf('%s%s/copy', $this->path, $orderItem->getId()));
- $this->assertResponseRedirects(sprintf('/food/order/%s', $this->order->getId()));
+ self::assertResponseRedirects(sprintf('/food/order/%s', $this->order->getId()));
$result = $this->repository->findBy([
'foodOrder' => $this->order->getId(),
]);
$this->assertCount(1, $result);
- });
+ }
-})
- ->covers(
- OrderItemController::class,
- MenuItemRepository::class,
- OrderItemRepository::class,
- OrderItemType::class,
- FoodOrder::class,
- FoodVendor::class,
- MenuItem::class,
- OrderItem::class,
- FoodOrderRepository::class,
- );
+ #[Override]
+ public function getEntityClass(): string
+ {
+ return OrderItem::class;
+ }
+}
diff --git a/tests/DbWebTest.php b/tests/DbWebTest.php
index 181dce1..c7a22f8 100644
--- a/tests/DbWebTest.php
+++ b/tests/DbWebTest.php
@@ -17,11 +17,11 @@ use function str_contains;
abstract class DbWebTest extends WebTestCase
{
+ abstract public function getEntityClass(): string;
+
protected KernelBrowser $client;
protected EntityManagerInterface $manager;
protected EntityRepository $repository;
- protected string $entityClass = '';
- protected string $path = '';
#[Override]
protected function setUp(): void
@@ -33,6 +33,10 @@ abstract class DbWebTest extends WebTestCase
->getAllMetadata();
$schemaTool->dropDatabase();
$schemaTool->updateSchema($metadata);
+
+ if ($this->getEntityClass() !== '') {
+ $this->repository = $this->manager->getRepository($this->getEntityClass());
+ }
}
protected function generateOldUlid(int $daysToSubtract = 10): Ulid
@@ -52,15 +56,4 @@ abstract class DbWebTest extends WebTestCase
)
);
}
-
- protected function setEntityClass(string $entityClass): void
- {
- $this->entityClass = $entityClass;
- $this->repository = $this->manager->getRepository($this->entityClass);
- }
-
- protected function setPath(string $path): void
- {
- $this->path = $path;
- }
}
diff --git a/tests/Entity/FoodOrderTest.php b/tests/Entity/FoodOrderTest.php
new file mode 100644
index 0000000..5ed5ca7
--- /dev/null
+++ b/tests/Entity/FoodOrderTest.php
@@ -0,0 +1,24 @@
+assertCount(0, $order->getOrderItems());
+ $order->addOrderItem($orderItem);
+ $order->addOrderItem($orderItem);
+ $this->assertCount(1, $order->getOrderItems());
+ $this->assertSame($order, $orderItem->getFoodOrder());
+ $order->removeOrderItem($orderItem);
+ $this->assertCount(0, $order->getOrderItems());
+ $this->assertNull($orderItem->getFoodOrder());
+ }
+}
diff --git a/tests/Unit/Entity/FoodVendorTest.php b/tests/Entity/FoodVendorTest.php
similarity index 84%
rename from tests/Unit/Entity/FoodVendorTest.php
rename to tests/Entity/FoodVendorTest.php
index 88ab094..7fcd698 100644
--- a/tests/Unit/Entity/FoodVendorTest.php
+++ b/tests/Entity/FoodVendorTest.php
@@ -1,17 +1,17 @@
setName('Test');
$this->assertEquals('Test', $vendor->getName());
@@ -29,9 +29,11 @@ describe(FoodVendor::class, function (): void {
$vendor->removeFoodOrder($order1);
$this->assertCount(0, $vendor->getFoodOrders());
$this->assertNull($order1->getFoodVendor());
- });
- test('MenutItem entity', function (): void {
+ }
+
+ public function testMenuItem(): void
+ {
$vendor = new FoodVendor;
$menuItem1 = new MenuItem;
$menuItem2 = new MenuItem;
@@ -47,9 +49,10 @@ describe(FoodVendor::class, function (): void {
$vendor->addMenuItem($menuItem2);
$this->assertCount(1, $vendor->getMenuItems());
$this->assertCount(2, $vendor->getMenuItems(true));
- });
+ }
- test('remove foreign menu item', function (): void {
+ public function testRemoveForeignMenuItem(): void
+ {
$vendor1 = new FoodVendor;
$vendor2 = new FoodVendor;
$item1 = new MenuItem;
@@ -59,6 +62,5 @@ describe(FoodVendor::class, function (): void {
$vendor2->removeMenuItem($item1);
$this->assertCount(1, $vendor1->getMenuItems());
$this->assertSame($vendor1, $item1->getFoodVendor());
- });
-
-})->covers(FoodVendor::class, FoodOrder::class, MenuItem::class);
+ }
+}
diff --git a/tests/Unit/Entity/MenuItemTest.php b/tests/Entity/MenuItemTest.php
similarity index 81%
rename from tests/Unit/Entity/MenuItemTest.php
rename to tests/Entity/MenuItemTest.php
index 5e01b05..a56c81d 100644
--- a/tests/Unit/Entity/MenuItemTest.php
+++ b/tests/Entity/MenuItemTest.php
@@ -1,16 +1,16 @@
setName('Test');
$this->assertEquals('Test', $item->getName());
@@ -26,8 +26,10 @@ describe(MenuItem::class, function (): void {
$item->delete();
$this->assertTrue($item->isDeleted());
$this->assertInstanceOf(DateTimeImmutable::class, $item->getDeletedAt());
- });
- test('MenuItem alias', function (): void {
+ }
+
+ public function testMenuItemAlias(): void
+ {
$item = new MenuItem;
$item->setName('Test');
$this->assertEquals('Test', $item->getName());
@@ -49,5 +51,6 @@ describe(MenuItem::class, function (): void {
$item->removeAlias($item2);
$this->assertCount(0, $item->getAliases());
$this->assertNull($item2->getAliasOf());
- });
-})->covers(MenuItem::class, FoodVendor::class);
+
+ }
+}
diff --git a/tests/Feature/Controller/HomeControllerTest.php b/tests/Feature/Controller/HomeControllerTest.php
deleted file mode 100644
index 76152b6..0000000
--- a/tests/Feature/Controller/HomeControllerTest.php
+++ /dev/null
@@ -1,71 +0,0 @@
-client->request(
- 'GET',
- '/'
- );
-
- $this->assertResponseStatusCodeSame(302);
- $this->assertResponseHeaderSame('Location', '/food/order/list');
-
- });
-
- test('username', function (): void {
- $this->client->request(
- 'GET',
- '/username',
- );
-
- $this->assertResponseStatusCodeSame(200);
-
- $this->client->submitForm('Save', [
- 'user_name_form[username]' => 'Testing-1',
- ]);
- $this->assertResponseStatusCodeSame(302);
- $this->assertResponseHeaderSame('Location', '/food/order/list');
- $this->assertResponseCookieValueSame('username', 'Testing-1');
-
- $crawler = $this->client->request(
- 'GET',
- '/username',
- );
-
- $this->assertResponseStatusCodeSame(200);
-
- $this->assertSame(
- $crawler->filter('#user_name_form_username')
- ->last()
- ->attr('value', ''),
- 'Testing-1'
- );
-
- });
-
- test('username empty', function (): void {
- $this->client->request(
- 'GET',
- '/username',
- );
-
- $this->assertResponseStatusCodeSame(200);
-
- $this->client->submitForm('Save', [
- 'user_name_form[username]' => '',
- ]);
- $this->assertResponseStatusCodeSame(302);
- $this->assertResponseHeaderSame('Location', '/food/order/list');
- $this->assertResponseCookieValueSame('username', '');
- });
-})
- ->covers(HomeController::class, UserNameFormType::class);
diff --git a/tests/Pest.php b/tests/Pest.php
deleted file mode 100644
index 846dfad..0000000
--- a/tests/Pest.php
+++ /dev/null
@@ -1,33 +0,0 @@
-extends(DbWebTest::class)->in('Feature/Controller/*.php');
-
-/*
-|--------------------------------------------------------------------------
-| Functions
-|--------------------------------------------------------------------------
-|
-| While Pest is very powerful out-of-the-box, you may have some testing code specific to your
-| project that you don't want to repeat in every file. Here you can also expose helpers as
-| global functions to help you to reduce the number of lines of code in your test files.
-|
-*/
-
-function something(): void
-{
- // ..
-}
diff --git a/tests/TestCase.php b/tests/TestCase.php
deleted file mode 100644
index 6265b96..0000000
--- a/tests/TestCase.php
+++ /dev/null
@@ -1,10 +0,0 @@
-getOrderItems())
- ->toBeEmpty();
- $order->addOrderItem($orderItem);
- $order->addOrderItem($orderItem);
-
- expect($order->getOrderItems())
- ->toHaveCount(1)
- ->and($orderItem->getFoodOrder())
- ->toBe($order);
-
- $order->removeOrderItem($orderItem);
-
- expect($order->getOrderItems())
- ->toBeEmpty()
- ->and($orderItem->getFoodOrder())
- ->toBeNull();
-
-})
- ->covers(FoodOrder::class, OrderItem::class);