diff --git a/api/.gitignore b/api/.gitignore index 865aa880ea2..4946fa7cb5e 100644 --- a/api/.gitignore +++ b/api/.gitignore @@ -26,6 +26,5 @@ ###< lexik/jwt-authentication-bundle ### ###> phpunit/phpunit ### -/phpunit.xml -.phpunit.result.cache +.phpunit.cache ###< phpunit/phpunit ### diff --git a/api/composer.json b/api/composer.json index d7b21c46c49..b637c4afe14 100644 --- a/api/composer.json +++ b/api/composer.json @@ -53,9 +53,9 @@ "justinrainbow/json-schema": "5.2.13", "php-coveralls/php-coveralls": "2.7.0", "phpstan/phpstan": "1.10.46", - "phpunit/phpunit": "9.6.13", + "phpunit/phpunit": "10.4.2", "rector/rector": "0.18.10", - "spatie/phpunit-snapshot-assertions": "4.2.16", + "spatie/phpunit-snapshot-assertions": "5.1.3", "symfony/browser-kit": "6.4.0", "symfony/css-selector": "6.4.0", "symfony/debug-bundle": "6.4.0", diff --git a/api/composer.lock b/api/composer.lock index 5c0a539e57d..934bcbb4c6d 100644 --- a/api/composer.lock +++ b/api/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": "35e186a30006404b2ad14ce23d6ffd42", + "content-hash": "4f13b348a6fcd1a214034c7d2aaf2dcc", "packages": [ { "name": "api-platform/core", @@ -11796,16 +11796,16 @@ }, { "name": "phpunit/php-code-coverage", - "version": "9.2.29", + "version": "10.1.9", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "6a3a87ac2bbe33b25042753df8195ba4aa534c76" + "reference": "a56a9ab2f680246adcf3db43f38ddf1765774735" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/6a3a87ac2bbe33b25042753df8195ba4aa534c76", - "reference": "6a3a87ac2bbe33b25042753df8195ba4aa534c76", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/a56a9ab2f680246adcf3db43f38ddf1765774735", + "reference": "a56a9ab2f680246adcf3db43f38ddf1765774735", "shasum": "" }, "require": { @@ -11813,18 +11813,18 @@ "ext-libxml": "*", "ext-xmlwriter": "*", "nikic/php-parser": "^4.15", - "php": ">=7.3", - "phpunit/php-file-iterator": "^3.0.3", - "phpunit/php-text-template": "^2.0.2", - "sebastian/code-unit-reverse-lookup": "^2.0.2", - "sebastian/complexity": "^2.0", - "sebastian/environment": "^5.1.2", - "sebastian/lines-of-code": "^1.0.3", - "sebastian/version": "^3.0.1", + "php": ">=8.1", + "phpunit/php-file-iterator": "^4.0", + "phpunit/php-text-template": "^3.0", + "sebastian/code-unit-reverse-lookup": "^3.0", + "sebastian/complexity": "^3.0", + "sebastian/environment": "^6.0", + "sebastian/lines-of-code": "^2.0", + "sebastian/version": "^4.0", "theseer/tokenizer": "^1.2.0" }, "require-dev": { - "phpunit/phpunit": "^9.3" + "phpunit/phpunit": "^10.1" }, "suggest": { "ext-pcov": "PHP extension that provides line coverage", @@ -11833,7 +11833,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "9.2-dev" + "dev-main": "10.1-dev" } }, "autoload": { @@ -11862,7 +11862,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/9.2.29" + "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/10.1.9" }, "funding": [ { @@ -11870,32 +11870,32 @@ "type": "github" } ], - "time": "2023-09-19T04:57:46+00:00" + "time": "2023-11-23T12:23:20+00:00" }, { "name": "phpunit/php-file-iterator", - "version": "3.0.6", + "version": "4.1.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-file-iterator.git", - "reference": "cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf" + "reference": "a95037b6d9e608ba092da1b23931e537cadc3c3c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf", - "reference": "cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf", + "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/a95037b6d9e608ba092da1b23931e537cadc3c3c", + "reference": "a95037b6d9e608ba092da1b23931e537cadc3c3c", "shasum": "" }, "require": { - "php": ">=7.3" + "php": ">=8.1" }, "require-dev": { - "phpunit/phpunit": "^9.3" + "phpunit/phpunit": "^10.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.0-dev" + "dev-main": "4.0-dev" } }, "autoload": { @@ -11922,7 +11922,8 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/php-file-iterator/issues", - "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/3.0.6" + "security": "https://github.com/sebastianbergmann/php-file-iterator/security/policy", + "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/4.1.0" }, "funding": [ { @@ -11930,28 +11931,28 @@ "type": "github" } ], - "time": "2021-12-02T12:48:52+00:00" + "time": "2023-08-31T06:24:48+00:00" }, { "name": "phpunit/php-invoker", - "version": "3.1.1", + "version": "4.0.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-invoker.git", - "reference": "5a10147d0aaf65b58940a0b72f71c9ac0423cc67" + "reference": "f5e568ba02fa5ba0ddd0f618391d5a9ea50b06d7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/5a10147d0aaf65b58940a0b72f71c9ac0423cc67", - "reference": "5a10147d0aaf65b58940a0b72f71c9ac0423cc67", + "url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/f5e568ba02fa5ba0ddd0f618391d5a9ea50b06d7", + "reference": "f5e568ba02fa5ba0ddd0f618391d5a9ea50b06d7", "shasum": "" }, "require": { - "php": ">=7.3" + "php": ">=8.1" }, "require-dev": { "ext-pcntl": "*", - "phpunit/phpunit": "^9.3" + "phpunit/phpunit": "^10.0" }, "suggest": { "ext-pcntl": "*" @@ -11959,7 +11960,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "3.1-dev" + "dev-main": "4.0-dev" } }, "autoload": { @@ -11985,7 +11986,7 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/php-invoker/issues", - "source": "https://github.com/sebastianbergmann/php-invoker/tree/3.1.1" + "source": "https://github.com/sebastianbergmann/php-invoker/tree/4.0.0" }, "funding": [ { @@ -11993,32 +11994,32 @@ "type": "github" } ], - "time": "2020-09-28T05:58:55+00:00" + "time": "2023-02-03T06:56:09+00:00" }, { "name": "phpunit/php-text-template", - "version": "2.0.4", + "version": "3.0.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-text-template.git", - "reference": "5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28" + "reference": "0c7b06ff49e3d5072f057eb1fa59258bf287a748" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28", - "reference": "5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28", + "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/0c7b06ff49e3d5072f057eb1fa59258bf287a748", + "reference": "0c7b06ff49e3d5072f057eb1fa59258bf287a748", "shasum": "" }, "require": { - "php": ">=7.3" + "php": ">=8.1" }, "require-dev": { - "phpunit/phpunit": "^9.3" + "phpunit/phpunit": "^10.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.0-dev" + "dev-main": "3.0-dev" } }, "autoload": { @@ -12044,7 +12045,8 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/php-text-template/issues", - "source": "https://github.com/sebastianbergmann/php-text-template/tree/2.0.4" + "security": "https://github.com/sebastianbergmann/php-text-template/security/policy", + "source": "https://github.com/sebastianbergmann/php-text-template/tree/3.0.1" }, "funding": [ { @@ -12052,32 +12054,32 @@ "type": "github" } ], - "time": "2020-10-26T05:33:50+00:00" + "time": "2023-08-31T14:07:24+00:00" }, { "name": "phpunit/php-timer", - "version": "5.0.3", + "version": "6.0.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-timer.git", - "reference": "5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2" + "reference": "e2a2d67966e740530f4a3343fe2e030ffdc1161d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2", - "reference": "5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2", + "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/e2a2d67966e740530f4a3343fe2e030ffdc1161d", + "reference": "e2a2d67966e740530f4a3343fe2e030ffdc1161d", "shasum": "" }, "require": { - "php": ">=7.3" + "php": ">=8.1" }, "require-dev": { - "phpunit/phpunit": "^9.3" + "phpunit/phpunit": "^10.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "5.0-dev" + "dev-main": "6.0-dev" } }, "autoload": { @@ -12103,7 +12105,7 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/php-timer/issues", - "source": "https://github.com/sebastianbergmann/php-timer/tree/5.0.3" + "source": "https://github.com/sebastianbergmann/php-timer/tree/6.0.0" }, "funding": [ { @@ -12111,24 +12113,23 @@ "type": "github" } ], - "time": "2020-10-26T13:16:10+00:00" + "time": "2023-02-03T06:57:52+00:00" }, { "name": "phpunit/phpunit", - "version": "9.6.13", + "version": "10.4.2", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "f3d767f7f9e191eab4189abe41ab37797e30b1be" + "reference": "cacd8b9dd224efa8eb28beb69004126c7ca1a1a1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/f3d767f7f9e191eab4189abe41ab37797e30b1be", - "reference": "f3d767f7f9e191eab4189abe41ab37797e30b1be", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/cacd8b9dd224efa8eb28beb69004126c7ca1a1a1", + "reference": "cacd8b9dd224efa8eb28beb69004126c7ca1a1a1", "shasum": "" }, "require": { - "doctrine/instantiator": "^1.3.1 || ^2", "ext-dom": "*", "ext-json": "*", "ext-libxml": "*", @@ -12138,27 +12139,26 @@ "myclabs/deep-copy": "^1.10.1", "phar-io/manifest": "^2.0.3", "phar-io/version": "^3.0.2", - "php": ">=7.3", - "phpunit/php-code-coverage": "^9.2.28", - "phpunit/php-file-iterator": "^3.0.5", - "phpunit/php-invoker": "^3.1.1", - "phpunit/php-text-template": "^2.0.3", - "phpunit/php-timer": "^5.0.2", - "sebastian/cli-parser": "^1.0.1", - "sebastian/code-unit": "^1.0.6", - "sebastian/comparator": "^4.0.8", - "sebastian/diff": "^4.0.3", - "sebastian/environment": "^5.1.3", - "sebastian/exporter": "^4.0.5", - "sebastian/global-state": "^5.0.1", - "sebastian/object-enumerator": "^4.0.3", - "sebastian/resource-operations": "^3.0.3", - "sebastian/type": "^3.2", - "sebastian/version": "^3.0.2" + "php": ">=8.1", + "phpunit/php-code-coverage": "^10.1.5", + "phpunit/php-file-iterator": "^4.0", + "phpunit/php-invoker": "^4.0", + "phpunit/php-text-template": "^3.0", + "phpunit/php-timer": "^6.0", + "sebastian/cli-parser": "^2.0", + "sebastian/code-unit": "^2.0", + "sebastian/comparator": "^5.0", + "sebastian/diff": "^5.0", + "sebastian/environment": "^6.0", + "sebastian/exporter": "^5.1", + "sebastian/global-state": "^6.0.1", + "sebastian/object-enumerator": "^5.0", + "sebastian/recursion-context": "^5.0", + "sebastian/type": "^4.0", + "sebastian/version": "^4.0" }, "suggest": { - "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" + "ext-soap": "To be able to generate mocks based on WSDL files" }, "bin": [ "phpunit" @@ -12166,7 +12166,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "9.6-dev" + "dev-main": "10.4-dev" } }, "autoload": { @@ -12198,7 +12198,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/phpunit/issues", "security": "https://github.com/sebastianbergmann/phpunit/security/policy", - "source": "https://github.com/sebastianbergmann/phpunit/tree/9.6.13" + "source": "https://github.com/sebastianbergmann/phpunit/tree/10.4.2" }, "funding": [ { @@ -12214,7 +12214,7 @@ "type": "tidelift" } ], - "time": "2023-09-19T05:39:22+00:00" + "time": "2023-10-26T07:21:45+00:00" }, { "name": "rector/rector", @@ -12274,28 +12274,28 @@ }, { "name": "sebastian/cli-parser", - "version": "1.0.1", + "version": "2.0.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/cli-parser.git", - "reference": "442e7c7e687e42adc03470c7b668bc4b2402c0b2" + "reference": "efdc130dbbbb8ef0b545a994fd811725c5282cae" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/442e7c7e687e42adc03470c7b668bc4b2402c0b2", - "reference": "442e7c7e687e42adc03470c7b668bc4b2402c0b2", + "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/efdc130dbbbb8ef0b545a994fd811725c5282cae", + "reference": "efdc130dbbbb8ef0b545a994fd811725c5282cae", "shasum": "" }, "require": { - "php": ">=7.3" + "php": ">=8.1" }, "require-dev": { - "phpunit/phpunit": "^9.3" + "phpunit/phpunit": "^10.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0-dev" + "dev-main": "2.0-dev" } }, "autoload": { @@ -12318,7 +12318,7 @@ "homepage": "https://github.com/sebastianbergmann/cli-parser", "support": { "issues": "https://github.com/sebastianbergmann/cli-parser/issues", - "source": "https://github.com/sebastianbergmann/cli-parser/tree/1.0.1" + "source": "https://github.com/sebastianbergmann/cli-parser/tree/2.0.0" }, "funding": [ { @@ -12326,32 +12326,32 @@ "type": "github" } ], - "time": "2020-09-28T06:08:49+00:00" + "time": "2023-02-03T06:58:15+00:00" }, { "name": "sebastian/code-unit", - "version": "1.0.8", + "version": "2.0.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/code-unit.git", - "reference": "1fc9f64c0927627ef78ba436c9b17d967e68e120" + "reference": "a81fee9eef0b7a76af11d121767abc44c104e503" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/code-unit/zipball/1fc9f64c0927627ef78ba436c9b17d967e68e120", - "reference": "1fc9f64c0927627ef78ba436c9b17d967e68e120", + "url": "https://api.github.com/repos/sebastianbergmann/code-unit/zipball/a81fee9eef0b7a76af11d121767abc44c104e503", + "reference": "a81fee9eef0b7a76af11d121767abc44c104e503", "shasum": "" }, "require": { - "php": ">=7.3" + "php": ">=8.1" }, "require-dev": { - "phpunit/phpunit": "^9.3" + "phpunit/phpunit": "^10.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0-dev" + "dev-main": "2.0-dev" } }, "autoload": { @@ -12374,7 +12374,7 @@ "homepage": "https://github.com/sebastianbergmann/code-unit", "support": { "issues": "https://github.com/sebastianbergmann/code-unit/issues", - "source": "https://github.com/sebastianbergmann/code-unit/tree/1.0.8" + "source": "https://github.com/sebastianbergmann/code-unit/tree/2.0.0" }, "funding": [ { @@ -12382,32 +12382,32 @@ "type": "github" } ], - "time": "2020-10-26T13:08:54+00:00" + "time": "2023-02-03T06:58:43+00:00" }, { "name": "sebastian/code-unit-reverse-lookup", - "version": "2.0.3", + "version": "3.0.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git", - "reference": "ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5" + "reference": "5e3a687f7d8ae33fb362c5c0743794bbb2420a1d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5", - "reference": "ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5", + "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/5e3a687f7d8ae33fb362c5c0743794bbb2420a1d", + "reference": "5e3a687f7d8ae33fb362c5c0743794bbb2420a1d", "shasum": "" }, "require": { - "php": ">=7.3" + "php": ">=8.1" }, "require-dev": { - "phpunit/phpunit": "^9.3" + "phpunit/phpunit": "^10.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.0-dev" + "dev-main": "3.0-dev" } }, "autoload": { @@ -12429,7 +12429,7 @@ "homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/", "support": { "issues": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/issues", - "source": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/tree/2.0.3" + "source": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/tree/3.0.0" }, "funding": [ { @@ -12437,34 +12437,36 @@ "type": "github" } ], - "time": "2020-09-28T05:30:19+00:00" + "time": "2023-02-03T06:59:15+00:00" }, { "name": "sebastian/comparator", - "version": "4.0.8", + "version": "5.0.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/comparator.git", - "reference": "fa0f136dd2334583309d32b62544682ee972b51a" + "reference": "2db5010a484d53ebf536087a70b4a5423c102372" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/fa0f136dd2334583309d32b62544682ee972b51a", - "reference": "fa0f136dd2334583309d32b62544682ee972b51a", + "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/2db5010a484d53ebf536087a70b4a5423c102372", + "reference": "2db5010a484d53ebf536087a70b4a5423c102372", "shasum": "" }, "require": { - "php": ">=7.3", - "sebastian/diff": "^4.0", - "sebastian/exporter": "^4.0" + "ext-dom": "*", + "ext-mbstring": "*", + "php": ">=8.1", + "sebastian/diff": "^5.0", + "sebastian/exporter": "^5.0" }, "require-dev": { - "phpunit/phpunit": "^9.3" + "phpunit/phpunit": "^10.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "4.0-dev" + "dev-main": "5.0-dev" } }, "autoload": { @@ -12503,7 +12505,8 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/comparator/issues", - "source": "https://github.com/sebastianbergmann/comparator/tree/4.0.8" + "security": "https://github.com/sebastianbergmann/comparator/security/policy", + "source": "https://github.com/sebastianbergmann/comparator/tree/5.0.1" }, "funding": [ { @@ -12511,33 +12514,33 @@ "type": "github" } ], - "time": "2022-09-14T12:41:17+00:00" + "time": "2023-08-14T13:18:12+00:00" }, { "name": "sebastian/complexity", - "version": "2.0.2", + "version": "3.1.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/complexity.git", - "reference": "739b35e53379900cc9ac327b2147867b8b6efd88" + "reference": "68cfb347a44871f01e33ab0ef8215966432f6957" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/739b35e53379900cc9ac327b2147867b8b6efd88", - "reference": "739b35e53379900cc9ac327b2147867b8b6efd88", + "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/68cfb347a44871f01e33ab0ef8215966432f6957", + "reference": "68cfb347a44871f01e33ab0ef8215966432f6957", "shasum": "" }, "require": { - "nikic/php-parser": "^4.7", - "php": ">=7.3" + "nikic/php-parser": "^4.10", + "php": ">=8.1" }, "require-dev": { - "phpunit/phpunit": "^9.3" + "phpunit/phpunit": "^10.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.0-dev" + "dev-main": "3.1-dev" } }, "autoload": { @@ -12560,7 +12563,8 @@ "homepage": "https://github.com/sebastianbergmann/complexity", "support": { "issues": "https://github.com/sebastianbergmann/complexity/issues", - "source": "https://github.com/sebastianbergmann/complexity/tree/2.0.2" + "security": "https://github.com/sebastianbergmann/complexity/security/policy", + "source": "https://github.com/sebastianbergmann/complexity/tree/3.1.0" }, "funding": [ { @@ -12568,33 +12572,33 @@ "type": "github" } ], - "time": "2020-10-26T15:52:27+00:00" + "time": "2023-09-28T11:50:59+00:00" }, { "name": "sebastian/diff", - "version": "4.0.5", + "version": "5.0.3", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/diff.git", - "reference": "74be17022044ebaaecfdf0c5cd504fc9cd5a7131" + "reference": "912dc2fbe3e3c1e7873313cc801b100b6c68c87b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/74be17022044ebaaecfdf0c5cd504fc9cd5a7131", - "reference": "74be17022044ebaaecfdf0c5cd504fc9cd5a7131", + "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/912dc2fbe3e3c1e7873313cc801b100b6c68c87b", + "reference": "912dc2fbe3e3c1e7873313cc801b100b6c68c87b", "shasum": "" }, "require": { - "php": ">=7.3" + "php": ">=8.1" }, "require-dev": { - "phpunit/phpunit": "^9.3", + "phpunit/phpunit": "^10.0", "symfony/process": "^4.2 || ^5" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "4.0-dev" + "dev-main": "5.0-dev" } }, "autoload": { @@ -12626,7 +12630,8 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/diff/issues", - "source": "https://github.com/sebastianbergmann/diff/tree/4.0.5" + "security": "https://github.com/sebastianbergmann/diff/security/policy", + "source": "https://github.com/sebastianbergmann/diff/tree/5.0.3" }, "funding": [ { @@ -12634,27 +12639,27 @@ "type": "github" } ], - "time": "2023-05-07T05:35:17+00:00" + "time": "2023-05-01T07:48:21+00:00" }, { "name": "sebastian/environment", - "version": "5.1.5", + "version": "6.0.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/environment.git", - "reference": "830c43a844f1f8d5b7a1f6d6076b784454d8b7ed" + "reference": "43c751b41d74f96cbbd4e07b7aec9675651e2951" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/830c43a844f1f8d5b7a1f6d6076b784454d8b7ed", - "reference": "830c43a844f1f8d5b7a1f6d6076b784454d8b7ed", + "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/43c751b41d74f96cbbd4e07b7aec9675651e2951", + "reference": "43c751b41d74f96cbbd4e07b7aec9675651e2951", "shasum": "" }, "require": { - "php": ">=7.3" + "php": ">=8.1" }, "require-dev": { - "phpunit/phpunit": "^9.3" + "phpunit/phpunit": "^10.0" }, "suggest": { "ext-posix": "*" @@ -12662,7 +12667,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "5.1-dev" + "dev-main": "6.0-dev" } }, "autoload": { @@ -12681,7 +12686,7 @@ } ], "description": "Provides functionality to handle HHVM/PHP environments", - "homepage": "http://www.github.com/sebastianbergmann/environment", + "homepage": "https://github.com/sebastianbergmann/environment", "keywords": [ "Xdebug", "environment", @@ -12689,7 +12694,8 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/environment/issues", - "source": "https://github.com/sebastianbergmann/environment/tree/5.1.5" + "security": "https://github.com/sebastianbergmann/environment/security/policy", + "source": "https://github.com/sebastianbergmann/environment/tree/6.0.1" }, "funding": [ { @@ -12697,34 +12703,34 @@ "type": "github" } ], - "time": "2023-02-03T06:03:51+00:00" + "time": "2023-04-11T05:39:26+00:00" }, { "name": "sebastian/exporter", - "version": "4.0.5", + "version": "5.1.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/exporter.git", - "reference": "ac230ed27f0f98f597c8a2b6eb7ac563af5e5b9d" + "reference": "64f51654862e0f5e318db7e9dcc2292c63cdbddc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/ac230ed27f0f98f597c8a2b6eb7ac563af5e5b9d", - "reference": "ac230ed27f0f98f597c8a2b6eb7ac563af5e5b9d", + "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/64f51654862e0f5e318db7e9dcc2292c63cdbddc", + "reference": "64f51654862e0f5e318db7e9dcc2292c63cdbddc", "shasum": "" }, "require": { - "php": ">=7.3", - "sebastian/recursion-context": "^4.0" + "ext-mbstring": "*", + "php": ">=8.1", + "sebastian/recursion-context": "^5.0" }, "require-dev": { - "ext-mbstring": "*", - "phpunit/phpunit": "^9.3" + "phpunit/phpunit": "^10.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "4.0-dev" + "dev-main": "5.1-dev" } }, "autoload": { @@ -12766,7 +12772,8 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/exporter/issues", - "source": "https://github.com/sebastianbergmann/exporter/tree/4.0.5" + "security": "https://github.com/sebastianbergmann/exporter/security/policy", + "source": "https://github.com/sebastianbergmann/exporter/tree/5.1.1" }, "funding": [ { @@ -12774,38 +12781,35 @@ "type": "github" } ], - "time": "2022-09-14T06:03:37+00:00" + "time": "2023-09-24T13:22:09+00:00" }, { "name": "sebastian/global-state", - "version": "5.0.6", + "version": "6.0.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/global-state.git", - "reference": "bde739e7565280bda77be70044ac1047bc007e34" + "reference": "7ea9ead78f6d380d2a667864c132c2f7b83055e4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/bde739e7565280bda77be70044ac1047bc007e34", - "reference": "bde739e7565280bda77be70044ac1047bc007e34", + "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/7ea9ead78f6d380d2a667864c132c2f7b83055e4", + "reference": "7ea9ead78f6d380d2a667864c132c2f7b83055e4", "shasum": "" }, "require": { - "php": ">=7.3", - "sebastian/object-reflector": "^2.0", - "sebastian/recursion-context": "^4.0" + "php": ">=8.1", + "sebastian/object-reflector": "^3.0", + "sebastian/recursion-context": "^5.0" }, "require-dev": { "ext-dom": "*", - "phpunit/phpunit": "^9.3" - }, - "suggest": { - "ext-uopz": "*" + "phpunit/phpunit": "^10.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "5.0-dev" + "dev-main": "6.0-dev" } }, "autoload": { @@ -12830,7 +12834,8 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/global-state/issues", - "source": "https://github.com/sebastianbergmann/global-state/tree/5.0.6" + "security": "https://github.com/sebastianbergmann/global-state/security/policy", + "source": "https://github.com/sebastianbergmann/global-state/tree/6.0.1" }, "funding": [ { @@ -12838,33 +12843,33 @@ "type": "github" } ], - "time": "2023-08-02T09:26:13+00:00" + "time": "2023-07-19T07:19:23+00:00" }, { "name": "sebastian/lines-of-code", - "version": "1.0.3", + "version": "2.0.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/lines-of-code.git", - "reference": "c1c2e997aa3146983ed888ad08b15470a2e22ecc" + "reference": "649e40d279e243d985aa8fb6e74dd5bb28dc185d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/c1c2e997aa3146983ed888ad08b15470a2e22ecc", - "reference": "c1c2e997aa3146983ed888ad08b15470a2e22ecc", + "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/649e40d279e243d985aa8fb6e74dd5bb28dc185d", + "reference": "649e40d279e243d985aa8fb6e74dd5bb28dc185d", "shasum": "" }, "require": { - "nikic/php-parser": "^4.6", - "php": ">=7.3" + "nikic/php-parser": "^4.10", + "php": ">=8.1" }, "require-dev": { - "phpunit/phpunit": "^9.3" + "phpunit/phpunit": "^10.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0-dev" + "dev-main": "2.0-dev" } }, "autoload": { @@ -12887,7 +12892,8 @@ "homepage": "https://github.com/sebastianbergmann/lines-of-code", "support": { "issues": "https://github.com/sebastianbergmann/lines-of-code/issues", - "source": "https://github.com/sebastianbergmann/lines-of-code/tree/1.0.3" + "security": "https://github.com/sebastianbergmann/lines-of-code/security/policy", + "source": "https://github.com/sebastianbergmann/lines-of-code/tree/2.0.1" }, "funding": [ { @@ -12895,34 +12901,34 @@ "type": "github" } ], - "time": "2020-11-28T06:42:11+00:00" + "time": "2023-08-31T09:25:50+00:00" }, { "name": "sebastian/object-enumerator", - "version": "4.0.4", + "version": "5.0.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/object-enumerator.git", - "reference": "5c9eeac41b290a3712d88851518825ad78f45c71" + "reference": "202d0e344a580d7f7d04b3fafce6933e59dae906" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/5c9eeac41b290a3712d88851518825ad78f45c71", - "reference": "5c9eeac41b290a3712d88851518825ad78f45c71", + "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/202d0e344a580d7f7d04b3fafce6933e59dae906", + "reference": "202d0e344a580d7f7d04b3fafce6933e59dae906", "shasum": "" }, "require": { - "php": ">=7.3", - "sebastian/object-reflector": "^2.0", - "sebastian/recursion-context": "^4.0" + "php": ">=8.1", + "sebastian/object-reflector": "^3.0", + "sebastian/recursion-context": "^5.0" }, "require-dev": { - "phpunit/phpunit": "^9.3" + "phpunit/phpunit": "^10.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "4.0-dev" + "dev-main": "5.0-dev" } }, "autoload": { @@ -12944,7 +12950,7 @@ "homepage": "https://github.com/sebastianbergmann/object-enumerator/", "support": { "issues": "https://github.com/sebastianbergmann/object-enumerator/issues", - "source": "https://github.com/sebastianbergmann/object-enumerator/tree/4.0.4" + "source": "https://github.com/sebastianbergmann/object-enumerator/tree/5.0.0" }, "funding": [ { @@ -12952,32 +12958,32 @@ "type": "github" } ], - "time": "2020-10-26T13:12:34+00:00" + "time": "2023-02-03T07:08:32+00:00" }, { "name": "sebastian/object-reflector", - "version": "2.0.4", + "version": "3.0.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/object-reflector.git", - "reference": "b4f479ebdbf63ac605d183ece17d8d7fe49c15c7" + "reference": "24ed13d98130f0e7122df55d06c5c4942a577957" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/b4f479ebdbf63ac605d183ece17d8d7fe49c15c7", - "reference": "b4f479ebdbf63ac605d183ece17d8d7fe49c15c7", + "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/24ed13d98130f0e7122df55d06c5c4942a577957", + "reference": "24ed13d98130f0e7122df55d06c5c4942a577957", "shasum": "" }, "require": { - "php": ">=7.3" + "php": ">=8.1" }, "require-dev": { - "phpunit/phpunit": "^9.3" + "phpunit/phpunit": "^10.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.0-dev" + "dev-main": "3.0-dev" } }, "autoload": { @@ -12999,7 +13005,7 @@ "homepage": "https://github.com/sebastianbergmann/object-reflector/", "support": { "issues": "https://github.com/sebastianbergmann/object-reflector/issues", - "source": "https://github.com/sebastianbergmann/object-reflector/tree/2.0.4" + "source": "https://github.com/sebastianbergmann/object-reflector/tree/3.0.0" }, "funding": [ { @@ -13007,32 +13013,32 @@ "type": "github" } ], - "time": "2020-10-26T13:14:26+00:00" + "time": "2023-02-03T07:06:18+00:00" }, { "name": "sebastian/recursion-context", - "version": "4.0.5", + "version": "5.0.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/recursion-context.git", - "reference": "e75bd0f07204fec2a0af9b0f3cfe97d05f92efc1" + "reference": "05909fb5bc7df4c52992396d0116aed689f93712" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/e75bd0f07204fec2a0af9b0f3cfe97d05f92efc1", - "reference": "e75bd0f07204fec2a0af9b0f3cfe97d05f92efc1", + "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/05909fb5bc7df4c52992396d0116aed689f93712", + "reference": "05909fb5bc7df4c52992396d0116aed689f93712", "shasum": "" }, "require": { - "php": ">=7.3" + "php": ">=8.1" }, "require-dev": { - "phpunit/phpunit": "^9.3" + "phpunit/phpunit": "^10.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "4.0-dev" + "dev-main": "5.0-dev" } }, "autoload": { @@ -13062,62 +13068,7 @@ "homepage": "https://github.com/sebastianbergmann/recursion-context", "support": { "issues": "https://github.com/sebastianbergmann/recursion-context/issues", - "source": "https://github.com/sebastianbergmann/recursion-context/tree/4.0.5" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2023-02-03T06:07:39+00:00" - }, - { - "name": "sebastian/resource-operations", - "version": "3.0.3", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/resource-operations.git", - "reference": "0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8", - "reference": "0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8", - "shasum": "" - }, - "require": { - "php": ">=7.3" - }, - "require-dev": { - "phpunit/phpunit": "^9.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "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": { - "issues": "https://github.com/sebastianbergmann/resource-operations/issues", - "source": "https://github.com/sebastianbergmann/resource-operations/tree/3.0.3" + "source": "https://github.com/sebastianbergmann/recursion-context/tree/5.0.0" }, "funding": [ { @@ -13125,32 +13076,32 @@ "type": "github" } ], - "time": "2020-09-28T06:45:17+00:00" + "time": "2023-02-03T07:05:40+00:00" }, { "name": "sebastian/type", - "version": "3.2.1", + "version": "4.0.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/type.git", - "reference": "75e2c2a32f5e0b3aef905b9ed0b179b953b3d7c7" + "reference": "462699a16464c3944eefc02ebdd77882bd3925bf" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/75e2c2a32f5e0b3aef905b9ed0b179b953b3d7c7", - "reference": "75e2c2a32f5e0b3aef905b9ed0b179b953b3d7c7", + "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/462699a16464c3944eefc02ebdd77882bd3925bf", + "reference": "462699a16464c3944eefc02ebdd77882bd3925bf", "shasum": "" }, "require": { - "php": ">=7.3" + "php": ">=8.1" }, "require-dev": { - "phpunit/phpunit": "^9.5" + "phpunit/phpunit": "^10.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.2-dev" + "dev-main": "4.0-dev" } }, "autoload": { @@ -13173,7 +13124,7 @@ "homepage": "https://github.com/sebastianbergmann/type", "support": { "issues": "https://github.com/sebastianbergmann/type/issues", - "source": "https://github.com/sebastianbergmann/type/tree/3.2.1" + "source": "https://github.com/sebastianbergmann/type/tree/4.0.0" }, "funding": [ { @@ -13181,29 +13132,29 @@ "type": "github" } ], - "time": "2023-02-03T06:13:03+00:00" + "time": "2023-02-03T07:10:45+00:00" }, { "name": "sebastian/version", - "version": "3.0.2", + "version": "4.0.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/version.git", - "reference": "c6c1022351a901512170118436c764e473f6de8c" + "reference": "c51fa83a5d8f43f1402e3f32a005e6262244ef17" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/c6c1022351a901512170118436c764e473f6de8c", - "reference": "c6c1022351a901512170118436c764e473f6de8c", + "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/c51fa83a5d8f43f1402e3f32a005e6262244ef17", + "reference": "c51fa83a5d8f43f1402e3f32a005e6262244ef17", "shasum": "" }, "require": { - "php": ">=7.3" + "php": ">=8.1" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.0-dev" + "dev-main": "4.0-dev" } }, "autoload": { @@ -13226,7 +13177,7 @@ "homepage": "https://github.com/sebastianbergmann/version", "support": { "issues": "https://github.com/sebastianbergmann/version/issues", - "source": "https://github.com/sebastianbergmann/version/tree/3.0.2" + "source": "https://github.com/sebastianbergmann/version/tree/4.0.1" }, "funding": [ { @@ -13234,7 +13185,7 @@ "type": "github" } ], - "time": "2020-09-28T06:39:44+00:00" + "time": "2023-02-07T11:34:05+00:00" }, { "name": "spatie/array-to-xml", @@ -13301,16 +13252,16 @@ }, { "name": "spatie/phpunit-snapshot-assertions", - "version": "4.2.16", + "version": "5.1.3", "source": { "type": "git", "url": "https://github.com/spatie/phpunit-snapshot-assertions.git", - "reference": "4c325139313c06b656ba10d5b60306c0de728c1f" + "reference": "f97b95081da09a240bace95758ef4f6ac08f1457" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/phpunit-snapshot-assertions/zipball/4c325139313c06b656ba10d5b60306c0de728c1f", - "reference": "4c325139313c06b656ba10d5b60306c0de728c1f", + "url": "https://api.github.com/repos/spatie/phpunit-snapshot-assertions/zipball/f97b95081da09a240bace95758ef4f6ac08f1457", + "reference": "f97b95081da09a240bace95758ef4f6ac08f1457", "shasum": "" }, "require": { @@ -13318,16 +13269,25 @@ "ext-dom": "*", "ext-json": "*", "ext-libxml": "*", - "php": "^7.3|^7.4|^8.0", - "phpunit/phpunit": "^8.3|^9.0", - "symfony/property-access": "^4.0|^5.0|^6.0", - "symfony/serializer": "^4.0|^5.0|^6.0", - "symfony/yaml": "^4.0|^5.0|^6.0" + "php": "^8.1", + "phpunit/phpunit": "^10.0", + "symfony/property-access": "^5.2|^6.2|^7.0", + "symfony/serializer": "^5.2|^6.2|^7.0", + "symfony/yaml": "^5.2|^6.2|^7.0" }, "require-dev": { - "phpunit/phpunit": "^9.1.0" + "spatie/pixelmatch-php": "dev-main", + "spatie/ray": "^1.37" + }, + "suggest": { + "spatie/pixelmatch-php": "Required to use the image snapshot assertions" }, "type": "library", + "extra": { + "branch-alias": { + "dev-v5": "5.0-dev" + } + }, "autoload": { "psr-4": { "Spatie\\Snapshots\\": "src" @@ -13357,7 +13317,7 @@ ], "support": { "issues": "https://github.com/spatie/phpunit-snapshot-assertions/issues", - "source": "https://github.com/spatie/phpunit-snapshot-assertions/tree/4.2.16" + "source": "https://github.com/spatie/phpunit-snapshot-assertions/tree/5.1.3" }, "funding": [ { @@ -13365,7 +13325,7 @@ "type": "custom" } ], - "time": "2022-10-10T15:58:50+00:00" + "time": "2023-11-29T22:07:37+00:00" }, { "name": "symfony/browser-kit", diff --git a/api/phpunit.nodocker.xml b/api/phpunit.nodocker.xml index 18ef046e6f5..ac01d2a90ee 100644 --- a/api/phpunit.nodocker.xml +++ b/api/phpunit.nodocker.xml @@ -2,22 +2,25 @@ - - - - - - - + + + + + + + + @@ -26,25 +29,20 @@ - - - - - - - src - - + - - + + + + --> + + + src + + diff --git a/api/phpunit.xml.dist b/api/phpunit.xml.dist index ca9726ba5d0..ddab4769637 100644 --- a/api/phpunit.xml.dist +++ b/api/phpunit.xml.dist @@ -2,50 +2,45 @@ - - - - - - - - - - + - - - tests - - + + + tests + + - - - - - - - src - - - - - - - - - - + + + + src + + diff --git a/api/symfony.lock b/api/symfony.lock index b5962a10134..ec43bdc1cd0 100644 --- a/api/symfony.lock +++ b/api/symfony.lock @@ -449,9 +449,6 @@ "sebastian/recursion-context": { "version": "4.0.4" }, - "sebastian/resource-operations": { - "version": "3.0.3" - }, "sebastian/type": { "version": "2.3.4" }, diff --git a/api/tests/Api/CampCollaborations/UpdateCampCollaborationTest.php b/api/tests/Api/CampCollaborations/UpdateCampCollaborationTest.php index 0c621fa36a1..7daf1f783d4 100644 --- a/api/tests/Api/CampCollaborations/UpdateCampCollaborationTest.php +++ b/api/tests/Api/CampCollaborations/UpdateCampCollaborationTest.php @@ -5,6 +5,7 @@ use App\Entity\CampCollaboration; use App\Entity\User; use App\Tests\Api\ECampApiTestCase; +use PHPUnit\Framework\Attributes\DataProvider; /** * @internal @@ -264,9 +265,7 @@ public function testPatchStatusFromInactiveToInvitedSendsInviteEmail() { $this->assertEmailCount(1); } - /** - * @dataProvider usersWhichCanEditCampCollaborations - */ + #[DataProvider('usersWhichCanEditCampCollaborations')] public function testRejectsPatchStatusFromEstablishedToInactiveIfNoManagerWouldBeInCamp(string $userFixtureName) { $campCollaboration = static::$fixtures['campCollaboration1camp2manager']; @@ -295,9 +294,7 @@ public function testRejectsPatchStatusFromEstablishedToInactiveIfNoManagerWouldB ]); } - /** - * @dataProvider usersWhichCanEditCampCollaborations - */ + #[DataProvider('usersWhichCanEditCampCollaborations')] public function testRejectsPatchRoleToMemberIfNoManagerWouldBeInCamp(string $userFixtureName) { $campCollaboration = static::$fixtures['campCollaboration1camp2manager']; @@ -326,9 +323,7 @@ public function testRejectsPatchRoleToMemberIfNoManagerWouldBeInCamp(string $use ]); } - /** - * @dataProvider usersWhichCanEditCampCollaborations - */ + #[DataProvider('usersWhichCanEditCampCollaborations')] public function testRejectsPatchRoleToGuestIfNoManagerWouldBeInCamp(string $userFixtureName) { $campCollaboration = static::$fixtures['campCollaboration1camp2manager']; diff --git a/api/tests/Api/ContentNodes/CreateContentNodeTestCase.php b/api/tests/Api/ContentNodes/CreateContentNodeTestCase.php index d5d7fc1fbac..5e6de36f779 100644 --- a/api/tests/Api/ContentNodes/CreateContentNodeTestCase.php +++ b/api/tests/Api/ContentNodes/CreateContentNodeTestCase.php @@ -3,9 +3,11 @@ namespace App\Tests\Api\ContentNodes; use App\Entity\ContentNode; +use App\Entity\ContentNode\ColumnLayout; use App\Entity\ContentType; use App\Tests\Api\ECampApiTestCase; use App\Tests\Constraints\CompatibleHalResponse; +use PHPUnit\Framework\Attributes\DataProvider; use Symfony\Contracts\HttpClient\Exception\ClientExceptionInterface; use Symfony\Contracts\HttpClient\Exception\DecodingExceptionInterface; use Symfony\Contracts\HttpClient\Exception\RedirectionExceptionInterface; @@ -89,9 +91,7 @@ public function testCreateIsAllowedForManager() { $this->assertJsonContains($this->getExampleReadPayload($newContentNode), true); } - /** - * @dataProvider getContentNodesWhichCannotHaveChildren - */ + #[DataProvider('getContentNodesWhichCannotHaveChildren')] public function testCreateRejectsParentsWhichDontSupportChildren(string $idOfParentFixture) { $this->defaultParent = static::$fixtures[$idOfParentFixture]; @@ -110,7 +110,7 @@ public function testCreateRejectsParentsWhichDontSupportChildren(string $idOfPar public function testCreateValidatesIncompatibleContentType() { // given /** @var ContentType $contentType */ - $contentType = static::$fixtures[ContentNode\ColumnLayout::class === $this->entityClass ? 'contentTypeSafetyConcept' : 'contentTypeColumnLayout']; + $contentType = static::$fixtures[ColumnLayout::class === $this->entityClass ? 'contentTypeSafetyConcept' : 'contentTypeColumnLayout']; // when $this->create($this->getExampleWritePayload(['contentType' => $this->getIriFor($contentType)])); @@ -254,6 +254,23 @@ public function testCreateResponseStructureMatchesReadResponseStructure() { assertThat($createArray, CompatibleHalResponse::isHalCompatibleWith($getItemResponse->toArray())); } + public static function getContentNodesWhichCannotHaveChildren(): array { + return [ + ContentNode\MaterialNode::class => [ + 'materialNode1', + ], + ContentNode\MultiSelect::class => [ + 'multiSelect1', + ], + ContentNode\SingleText::class => [ + 'singleText1', + ], + ContentNode\StoryBoard::class => [ + 'storyboard1', + ], + ]; + } + protected function getExampleWritePayload($attributes = [], $except = []) { return parent::getExampleWritePayload( array_merge([ @@ -297,21 +314,4 @@ protected function getExampleReadPayload(ContentNode $self, array $attributes = ], ]; } - - private static function getContentNodesWhichCannotHaveChildren(): array { - return [ - ContentNode\MaterialNode::class => [ - 'materialNode1', - ], - ContentNode\MultiSelect::class => [ - 'multiSelect1', - ], - ContentNode\SingleText::class => [ - 'singleText1', - ], - ContentNode\StoryBoard::class => [ - 'storyboard1', - ], - ]; - } } diff --git a/api/tests/Api/ContentNodes/UpdateContentNodeTestCase.php b/api/tests/Api/ContentNodes/UpdateContentNodeTestCase.php index a6c7c82ad18..57d22302266 100644 --- a/api/tests/Api/ContentNodes/UpdateContentNodeTestCase.php +++ b/api/tests/Api/ContentNodes/UpdateContentNodeTestCase.php @@ -5,6 +5,7 @@ use App\Entity\ContentNode; use App\Entity\ContentNode\ColumnLayout; use App\Tests\Api\ECampApiTestCase; +use PHPUnit\Framework\Attributes\DataProvider; /** * Base UPDATE (patch) test case to be used for various ContentNode types. @@ -57,9 +58,7 @@ public function testPatchIsAllowedForManager() { $this->assertResponseStatusCodeSame(200); } - /** - * @dataProvider getContentNodesWhichCannotHaveChildren - */ + #[DataProvider('getContentNodesWhichCannotHaveChildren')] public function testPatchRejectsParentsWhichDontSupportChildren(string $idOfParentFixture) { $parentIri = static::getIriFor($idOfParentFixture); @@ -169,7 +168,7 @@ public function testPatchCleansTextOfInstanceName() { ]); } - private static function getContentNodesWhichCannotHaveChildren(): array { + public static function getContentNodesWhichCannotHaveChildren(): array { return [ ContentNode\MaterialNode::class => [ 'materialNode1', diff --git a/api/tests/Api/Invitations/AcceptInvitationTest.php b/api/tests/Api/Invitations/AcceptInvitationTest.php index 5b800d4c7f3..e8e27ff5c58 100644 --- a/api/tests/Api/Invitations/AcceptInvitationTest.php +++ b/api/tests/Api/Invitations/AcceptInvitationTest.php @@ -5,6 +5,7 @@ use App\DTO\Invitation; use App\Entity\CampCollaboration; use App\Tests\Api\ECampApiTestCase; +use PHPUnit\Framework\Attributes\DataProvider; use Symfony\Contracts\HttpClient\Exception\ClientExceptionInterface; use Symfony\Contracts\HttpClient\Exception\DecodingExceptionInterface; use Symfony\Contracts\HttpClient\Exception\RedirectionExceptionInterface; @@ -157,13 +158,12 @@ public function testAcceptInvitationFailsWhenUserAlreadyInCampAndUserIsAttachedT } /** - * @dataProvider invalidMethods - * * @throws ClientExceptionInterface * @throws RedirectionExceptionInterface * @throws ServerExceptionInterface * @throws TransportExceptionInterface */ + #[DataProvider('invalidMethods')] public function testInvalidRequestWhenWrongMethod(string $method) { /** @var CampCollaboration $campCollaboration */ $campCollaboration = static::$fixtures['campCollaboration2invitedCampUnrelated']; diff --git a/api/tests/Api/Invitations/RejectInvitationTest.php b/api/tests/Api/Invitations/RejectInvitationTest.php index f25188930e3..7b45e8fbc3c 100644 --- a/api/tests/Api/Invitations/RejectInvitationTest.php +++ b/api/tests/Api/Invitations/RejectInvitationTest.php @@ -5,6 +5,7 @@ use App\DTO\Invitation; use App\Entity\CampCollaboration; use App\Tests\Api\ECampApiTestCase; +use PHPUnit\Framework\Attributes\DataProvider; use Symfony\Contracts\HttpClient\Exception\ClientExceptionInterface; use Symfony\Contracts\HttpClient\Exception\DecodingExceptionInterface; use Symfony\Contracts\HttpClient\Exception\RedirectionExceptionInterface; @@ -162,13 +163,12 @@ public function testRejectInvitationSucceedsWhenUserAlreadyInCamp() { } /** - * @dataProvider invalidMethods - * * @throws ClientExceptionInterface * @throws RedirectionExceptionInterface * @throws ServerExceptionInterface * @throws TransportExceptionInterface */ + #[DataProvider('invalidMethods')] public function testInvalidRequestWhenWrongMethod(string $method) { /** @var CampCollaboration $campCollaboration */ $campCollaboration = static::$fixtures['campCollaboration2invitedCampUnrelated']; diff --git a/api/tests/Api/Profiles/UpdateProfileTest.php b/api/tests/Api/Profiles/UpdateProfileTest.php index 1dbe5be2bd8..94c754ef0ef 100644 --- a/api/tests/Api/Profiles/UpdateProfileTest.php +++ b/api/tests/Api/Profiles/UpdateProfileTest.php @@ -4,6 +4,7 @@ use App\Entity\Profile; use App\Tests\Api\ECampApiTestCase; +use PHPUnit\Framework\Attributes\DataProvider; /** * @internal @@ -240,9 +241,7 @@ public function testPatchProfileDoesNotAllowPatchingUser() { ]); } - /** - * @dataProvider notWriteableProfileProperties - */ + #[DataProvider('notWriteableProfileProperties')] public function testNotWriteableProperties(string $property) { $user = static::$fixtures['profile1manager']; static::createClientWithCredentials()->request( diff --git a/api/tests/Api/SnapshotTests/ResponseSnapshotTest.php b/api/tests/Api/SnapshotTests/ResponseSnapshotTest.php index a278536306f..5ef2e80a6e2 100644 --- a/api/tests/Api/SnapshotTests/ResponseSnapshotTest.php +++ b/api/tests/Api/SnapshotTests/ResponseSnapshotTest.php @@ -8,6 +8,7 @@ use App\Tests\Constraints\CompatibleHalResponse; use App\Tests\Spatie\Snapshots\Driver\ECampYamlSnapshotDriver; use App\Util\ArrayDeepSort; +use PHPUnit\Framework\Attributes\DataProvider; use Symfony\Component\Yaml\Yaml; use Symfony\Contracts\HttpClient\Exception\ClientExceptionInterface; use Symfony\Contracts\HttpClient\Exception\DecodingExceptionInterface; @@ -76,9 +77,8 @@ public function testOpenApiSpecMatchesSnapshot() { * @throws RedirectionExceptionInterface * @throws ServerExceptionInterface * @throws TransportExceptionInterface - * - * @dataProvider getCollectionEndpoints */ + #[DataProvider('getCollectionEndpoints')] public function testGetCollectionMatchesStructure(Client $client, string $endpoint) { $response = $client->request('GET', $endpoint); @@ -135,9 +135,8 @@ public static function getCollectionEndpoints() { * @throws RedirectionExceptionInterface * @throws ServerExceptionInterface * @throws TransportExceptionInterface - * - * @dataProvider getItemEndpoints */ + #[DataProvider('getItemEndpoints')] public function testGetItemMatchesStructure(Client $client, string $endpoint) { /** @var BaseEntity $fixtureFor */ $fixtureFor = $this->getFixtureFor($endpoint); @@ -170,9 +169,8 @@ public static function getItemEndpoints() { * @throws RedirectionExceptionInterface * @throws ServerExceptionInterface * @throws TransportExceptionInterface - * - * @dataProvider getPatchEndpoints */ + #[DataProvider('getPatchEndpoints')] public function testPatchResponseMatchesGetItemResponse(Client $client, string $endpoint) { /** @var BaseEntity $fixtureFor */ $fixtureFor = $this->getFixtureFor($endpoint); diff --git a/api/tests/Api/Users/CreateUserTest.php b/api/tests/Api/Users/CreateUserTest.php index 5de362f1be0..bc224736205 100644 --- a/api/tests/Api/Users/CreateUserTest.php +++ b/api/tests/Api/Users/CreateUserTest.php @@ -8,6 +8,7 @@ use App\Entity\User; use App\Tests\Api\ECampApiTestCase; use App\Tests\Constraints\CompatibleHalResponse; +use PHPUnit\Framework\Attributes\DataProvider; use Symfony\Contracts\HttpClient\Exception\ClientExceptionInterface; use Symfony\Contracts\HttpClient\Exception\DecodingExceptionInterface; use Symfony\Contracts\HttpClient\Exception\RedirectionExceptionInterface; @@ -730,9 +731,7 @@ public function testCreateUserValidatesUnreasonablyLongPassword() { ]); } - /** - * @dataProvider notWriteableUserProperties - */ + #[DataProvider('notWriteableUserProperties')] public function testNotWriteableUserProperties(string $property) { static::createClientWithCredentials()->request( 'POST', @@ -760,9 +759,7 @@ public static function notWriteableUserProperties(): array { ]; } - /** - * @dataProvider notWriteableProfileProperties - */ + #[DataProvider('notWriteableProfileProperties')] public function testNotWriteableProfileProperties(string $property) { static::createClientWithCredentials()->request( 'POST', diff --git a/api/tests/Api/Users/UpdateUserTest.php b/api/tests/Api/Users/UpdateUserTest.php index 50322cb501a..185778ca255 100644 --- a/api/tests/Api/Users/UpdateUserTest.php +++ b/api/tests/Api/Users/UpdateUserTest.php @@ -3,6 +3,7 @@ namespace App\Tests\Api\Users; use App\Tests\Api\ECampApiTestCase; +use PHPUnit\Framework\Attributes\DataProvider; /** * @internal @@ -80,9 +81,7 @@ public function testPatchUserDoesNotAllowPatchingProfile() { ]); } - /** - * @dataProvider notWriteableUserProperties - */ + #[DataProvider('notWriteableUserProperties')] public function testNotWriteableProperties(string $property) { $user = static::$fixtures['user1manager']; static::createClientWithCredentials()->request( diff --git a/api/tests/Constraints/CompatibleHalResponseTest.php b/api/tests/Constraints/CompatibleHalResponseTest.php index d6eb1e20ad8..e5aae6348fa 100644 --- a/api/tests/Constraints/CompatibleHalResponseTest.php +++ b/api/tests/Constraints/CompatibleHalResponseTest.php @@ -2,6 +2,7 @@ namespace App\Tests\Constraints; +use PHPUnit\Framework\Attributes\DataProvider; use PHPUnit\Framework\TestCase; use function PHPUnit\Framework\assertThat; @@ -11,16 +12,12 @@ * @internal */ class CompatibleHalResponseTest extends TestCase { - /** - * @dataProvider compatibleArrays - */ + #[DataProvider('compatibleArrays')] public function testCompatibleArrays(array $array1, array $array2) { assertThat($array1, CompatibleHalResponse::isHalCompatibleWith($array2)); } - /** - * @dataProvider compatibleArrays - */ + #[DataProvider('compatibleArrays')] public function testCompatibleArraysIsCommutative(array $array1, array $array2) { assertThat($array2, CompatibleHalResponse::isHalCompatibleWith($array1)); } @@ -116,16 +113,12 @@ public static function compatibleArrays() { ]; } - /** - * @dataProvider notCompatibleArrays - */ + #[DataProvider('notCompatibleArrays')] public function testNotCompatibleArrays(array $array1, array $array2) { assertThat($array1, logicalNot(CompatibleHalResponse::isHalCompatibleWith($array2))); } - /** - * @dataProvider notCompatibleArrays - */ + #[DataProvider('notCompatibleArrays')] public function testNotCompatibleArraysIsCommutative(array $array1, array $array2) { assertThat($array2, logicalNot(CompatibleHalResponse::isHalCompatibleWith($array1))); } diff --git a/api/tests/Doctrine/Filter/ExpressionDateTimeFilterTest.php b/api/tests/Doctrine/Filter/ExpressionDateTimeFilterTest.php index 97eff0518d4..420d28acd02 100644 --- a/api/tests/Doctrine/Filter/ExpressionDateTimeFilterTest.php +++ b/api/tests/Doctrine/Filter/ExpressionDateTimeFilterTest.php @@ -8,6 +8,7 @@ use Doctrine\ORM\QueryBuilder; use Doctrine\Persistence\ManagerRegistry; use Doctrine\Persistence\ObjectManager; +use PHPUnit\Framework\Attributes\DataProvider; use PHPUnit\Framework\MockObject\MockObject; use PHPUnit\Framework\TestCase; @@ -155,9 +156,7 @@ public function testApplyChecksForInvalidDate() { ]]); } - /** - * @dataProvider getOperators - */ + #[DataProvider('getOperators')] public function testApplyFiltersByExpression(string $filterOperator, string $operator) { // given $filter = new ExpressionDateTimeFilter($this->managerRegistryMock, null, ['incrementedSomething' => 'something + 1']); @@ -181,9 +180,7 @@ public function testApplyFiltersByExpression(string $filterOperator, string $ope ]]); } - /** - * @dataProvider getOperators - */ + #[DataProvider('getOperators')] public function testApplyReplacesSelfAlias(string $filterOperator, string $operator) { // given $filter = new ExpressionDateTimeFilter($this->managerRegistryMock, null, ['incrementedSomething' => '{}.something + 1']); @@ -207,9 +204,7 @@ public function testApplyReplacesSelfAlias(string $filterOperator, string $opera ]]); } - /** - * @dataProvider getOperators - */ + #[DataProvider('getOperators')] public function testApplyReplacesRelationAlias(string $filterOperator, string $operator) { // given $filter = new ExpressionDateTimeFilter($this->managerRegistryMock, null, ['incrementedSomething' => '{parent.something} + 1']); @@ -239,9 +234,7 @@ public function testApplyReplacesRelationAlias(string $filterOperator, string $o ]]); } - /** - * @dataProvider getOperators - */ + #[DataProvider('getOperators')] public function testApplyReplacesMultipleRelationAliases(string $filterOperator, string $operator) { // given $filter = new ExpressionDateTimeFilter($this->managerRegistryMock, null, ['incrementedSomething' => '{}.something + {parent.something} + {parent2.something}']); @@ -270,9 +263,7 @@ public function testApplyReplacesMultipleRelationAliases(string $filterOperator, ]]); } - /** - * @dataProvider getOperators - */ + #[DataProvider('getOperators')] public function testApplyReplacesMultipleInstancesOfTheSameRelationAlias(string $filterOperator, string $operator) { // given $filter = new ExpressionDateTimeFilter($this->managerRegistryMock, null, ['incrementedSomething' => '{parent.something} + {parent.something}']); @@ -302,7 +293,7 @@ public function testApplyReplacesMultipleInstancesOfTheSameRelationAlias(string ]]); } - public function getOperators() { + public static function getOperators() { return [ 'before' => ['before', '<='], 'strictly_before' => ['strictly_before', '<'], diff --git a/api/tests/EventListener/RequestTransactionListenerTest.php b/api/tests/EventListener/RequestTransactionListenerTest.php index cb28fc3593d..c1150d9c0eb 100644 --- a/api/tests/EventListener/RequestTransactionListenerTest.php +++ b/api/tests/EventListener/RequestTransactionListenerTest.php @@ -5,6 +5,7 @@ use App\EventListener\RequestTransactionListener; use Doctrine\DBAL\Connection; use Doctrine\ORM\EntityManagerInterface; +use PHPUnit\Framework\Attributes\DataProvider; use PHPUnit\Framework\MockObject\MockObject; use PHPUnit\Framework\TestCase; use Symfony\Component\HttpFoundation\Request; @@ -176,10 +177,9 @@ public function testThrowsOnCommitForUnexpectedTransactionNestingLevel() { } /** - * @dataProvider methodsWhichDontChangeState - * * @throws \Doctrine\DBAL\Exception */ + #[DataProvider('methodsWhichDontChangeState')] public function testIgnoresExceptionsForRequestsWhichDontChangeState(string $method) { $this->request->expects(once())->method('getMethod')->willReturn($method); $this->entityManager->expects(never())->method('getConnection'); @@ -201,10 +201,9 @@ public static function methodsWhichDontChangeState(): array { } /** - * @dataProvider methodsWhichChangeState - * * @throws \Doctrine\DBAL\Exception */ + #[DataProvider('methodsWhichChangeState')] public function testRollsBackTransactionForExceptionsForOtherMethods(string $method) { $this->request->expects(once())->method('getMethod')->willReturn($method); $this->entityManager->expects(exactly(4))->method('getConnection'); diff --git a/api/tests/InputFilter/CleanHTMLFilterTest.php b/api/tests/InputFilter/CleanHTMLFilterTest.php index 3cc558a3b49..6114c1cbe5c 100644 --- a/api/tests/InputFilter/CleanHTMLFilterTest.php +++ b/api/tests/InputFilter/CleanHTMLFilterTest.php @@ -5,6 +5,7 @@ use App\InputFilter\CleanHTMLFilter; use App\InputFilter\InputFilter; use App\InputFilter\UnexpectedValueException; +use PHPUnit\Framework\Attributes\DataProvider; use Symfony\Bundle\FrameworkBundle\Test\KernelTestCase; /** @@ -22,9 +23,7 @@ public function setUp(): void { $this->inputFilter = new CleanHTMLFilter($purifierMock); } - /** - * @dataProvider getExamples - */ + #[DataProvider('getExamples')] public function testInputFiltering(string $input, string $output) { // given $data = ['key' => $input]; @@ -42,7 +41,7 @@ public function testInputFiltering(string $input, string $output) { $this->assertEquals($outputData, $result); } - public function getExamples() { + public static function getExamples() { return [ ['', ''], ['abc', 'abc'], diff --git a/api/tests/InputFilter/CleanTextFilterTest.php b/api/tests/InputFilter/CleanTextFilterTest.php index b58005ee77a..f686d99b1e5 100644 --- a/api/tests/InputFilter/CleanTextFilterTest.php +++ b/api/tests/InputFilter/CleanTextFilterTest.php @@ -5,6 +5,7 @@ use App\InputFilter\CleanTextFilter; use App\InputFilter\InputFilter; use App\InputFilter\UnexpectedValueException; +use PHPUnit\Framework\Attributes\DataProvider; use Symfony\Bundle\FrameworkBundle\Test\KernelTestCase; /** @@ -19,9 +20,7 @@ public function setUp(): void { $this->inputFilter = new CleanTextFilter(); } - /** - * @dataProvider getExamples - */ + #[DataProvider('getExamples')] public function testInputFiltering(string $input, string $output) { // given $data = ['key' => $input]; @@ -34,7 +33,7 @@ public function testInputFiltering(string $input, string $output) { $this->assertEquals($outputData, $result); } - public function getExamples() { + public static function getExamples() { return [ ['', ''], ['abc', 'abc'], diff --git a/api/tests/InputFilter/TrimFilterTest.php b/api/tests/InputFilter/TrimFilterTest.php index 73bc85a9e34..3cf486b9b7a 100644 --- a/api/tests/InputFilter/TrimFilterTest.php +++ b/api/tests/InputFilter/TrimFilterTest.php @@ -4,15 +4,14 @@ use App\InputFilter\TrimFilter; use App\InputFilter\UnexpectedValueException; +use PHPUnit\Framework\Attributes\DataProvider; use PHPUnit\Framework\TestCase; /** * @internal */ class TrimFilterTest extends TestCase { - /** - * @dataProvider getExamples - */ + #[DataProvider('getExamples')] public function testInputFiltering(string $input, string $output) { // given $data = ['key' => $input]; @@ -26,7 +25,7 @@ public function testInputFiltering(string $input, string $output) { $this->assertEquals($outputData, $result); } - public function getExamples() { + public static function getExamples() { return [ ['', ''], ['abc', 'abc'], diff --git a/api/tests/Integration/Serializer/Normalizer/TranslationConstraintViolationListNormalizerIntegrationTest.php b/api/tests/Integration/Serializer/Normalizer/TranslationConstraintViolationListNormalizerIntegrationTest.php index cbb5b2afee3..32c5b2f7084 100644 --- a/api/tests/Integration/Serializer/Normalizer/TranslationConstraintViolationListNormalizerIntegrationTest.php +++ b/api/tests/Integration/Serializer/Normalizer/TranslationConstraintViolationListNormalizerIntegrationTest.php @@ -8,6 +8,7 @@ use App\Entity\CampCollaboration; use App\Serializer\Normalizer\TranslationConstraintViolationListNormalizer; use App\Validator\AllowTransition\AssertAllowTransitions; +use PHPUnit\Framework\Attributes\DataProvider; use Symfony\Bundle\FrameworkBundle\Test\KernelTestCase; use Symfony\Component\Serializer\Exception\ExceptionInterface; use Symfony\Component\Validator\Constraint; @@ -39,9 +40,8 @@ protected function setUp(): void { /** * @throws ExceptionInterface * @throws \Exception - * - * @dataProvider getFormats() */ + #[DataProvider('getFormats')] public function testAddsTranslationKeyAndParameters(string $format) { $constraintViolationList = new ConstraintViolationList(self::getConstraintViolations()); @@ -87,9 +87,8 @@ public function testAddsTranslationKeyAndParameters(string $format) { /** * @throws ExceptionInterface * @throws \Exception - * - * @dataProvider getFormats() */ + #[DataProvider('getFormats')] public function testAddsTranslations(string $format) { $constraintViolationList = new ConstraintViolationList(self::getConstraintViolations()); diff --git a/api/tests/Serializer/Normalizer/Error/TranslationInfoOfConstraintViolationTest.php b/api/tests/Serializer/Normalizer/Error/TranslationInfoOfConstraintViolationTest.php index 8be2107c47d..1f781485d3f 100644 --- a/api/tests/Serializer/Normalizer/Error/TranslationInfoOfConstraintViolationTest.php +++ b/api/tests/Serializer/Normalizer/Error/TranslationInfoOfConstraintViolationTest.php @@ -5,6 +5,7 @@ use App\Entity\CampCollaboration; use App\Serializer\Normalizer\Error\TranslationInfoOfConstraintViolation; use App\Validator\AllowTransition\AssertAllowTransitions; +use PHPUnit\Framework\Attributes\DataProvider; use PHPUnit\Framework\TestCase; use Symfony\Component\Validator\Constraints\NotBlank; use Symfony\Component\Validator\ConstraintViolation; @@ -22,9 +23,7 @@ protected function setUp(): void { $this->translationInfoOfConstraintViolation = new TranslationInfoOfConstraintViolation(); } - /** - * @dataProvider constraintViolations() - */ + #[DataProvider('constraintViolations')] public function testExtractsTranslationInfoFromConstraintViolation(ConstraintViolation $violation, string $key): void { $translationInfo = $this->translationInfoOfConstraintViolation->extract($violation); $parametersWithoutCurlyBraces = TranslationInfoOfConstraintViolation::removeCurlyBraces($violation->getParameters()); @@ -33,7 +32,7 @@ public function testExtractsTranslationInfoFromConstraintViolation(ConstraintVio assertThat($translationInfo->parameters, equalTo($parametersWithoutCurlyBraces)); } - public function constraintViolations(): array { + public static function constraintViolations(): array { return [ AssertAllowTransitions::class => [ 'violation' => new ConstraintViolation( diff --git a/api/tests/State/CampCollaborationCreateProcessorTest.php b/api/tests/State/CampCollaborationCreateProcessorTest.php index f059c351d89..3bc8ff899f9 100644 --- a/api/tests/State/CampCollaborationCreateProcessorTest.php +++ b/api/tests/State/CampCollaborationCreateProcessorTest.php @@ -14,6 +14,7 @@ use App\Service\MailService; use App\State\CampCollaborationCreateProcessor; use Doctrine\ORM\EntityManagerInterface; +use PHPUnit\Framework\Attributes\DataProvider; use PHPUnit\Framework\Constraint\Callback; use PHPUnit\Framework\MockObject\MockObject; use PHPUnit\Framework\TestCase; @@ -130,9 +131,7 @@ public function testAfterCreateDoesNotSendEmailIfNoInviteEmailSet() { $this->processor->onAfter($result, new Post()); } - /** - * @dataProvider notInvitedStatuses - */ + #[DataProvider('notInvitedStatuses')] public function testAfterCreateDoesNotSendEmailIfStatusNotInvited(string $status) { $this->campCollaboration->inviteEmail = 'e@mail.com'; $this->campCollaboration->status = $status; diff --git a/api/tests/State/CampCollaborationResendInvitationProcessorTest.php b/api/tests/State/CampCollaborationResendInvitationProcessorTest.php index 938410a20cf..ff2f1103b84 100644 --- a/api/tests/State/CampCollaborationResendInvitationProcessorTest.php +++ b/api/tests/State/CampCollaborationResendInvitationProcessorTest.php @@ -10,6 +10,7 @@ use App\Entity\User; use App\Service\MailService; use App\State\CampCollaborationResendInvitationProcessor; +use PHPUnit\Framework\Attributes\DataProvider; use PHPUnit\Framework\MockObject\MockObject; use PHPUnit\Framework\TestCase; use Symfony\Bundle\SecurityBundle\Security; @@ -81,9 +82,7 @@ public function testDoesNothingWhenNoInviteEmail() { self::assertThat($result->inviteKey, self::equalTo(self::INITIAL_INVITE_KEY)); } - /** - * @dataProvider notInvitedStatuses - */ + #[DataProvider('notInvitedStatuses')] public function testDoesNothingIfStatusIsNotInvited(string $status) { $this->campCollaboration->inviteEmail = 'e@mail.com'; $this->campCollaboration->status = $status; diff --git a/api/tests/State/CampCollaborationUpdateProcessorTest.php b/api/tests/State/CampCollaborationUpdateProcessorTest.php index 66c12daf309..3b2222bdade 100644 --- a/api/tests/State/CampCollaborationUpdateProcessorTest.php +++ b/api/tests/State/CampCollaborationUpdateProcessorTest.php @@ -9,6 +9,7 @@ use App\Entity\User; use App\Service\MailService; use App\State\CampCollaborationUpdateProcessor; +use PHPUnit\Framework\Attributes\DataProvider; use PHPUnit\Framework\MockObject\MockObject; use PHPUnit\Framework\TestCase; use Symfony\Bundle\SecurityBundle\Security; @@ -75,9 +76,7 @@ public function testDoesNothingOnStatusChangeWhenNoInviteEmail() { self::assertThat($result->inviteKey, self::equalTo(self::INITIAL_INVITE_KEY)); } - /** - * @dataProvider notInvitedStatuses - */ + #[DataProvider('notInvitedStatuses')] public function testOnStatusChangeDoesNothingIfStatusIsNotInvited(string $status) { $this->campCollaboration->inviteEmail = 'e@mail.com'; $this->campCollaboration->status = $status; diff --git a/api/tests/Types/Doctrine/BaseDateTypeTestCase.php b/api/tests/Types/Doctrine/BaseDateTypeTestCase.php index f096b40f111..be3e04af504 100644 --- a/api/tests/Types/Doctrine/BaseDateTypeTestCase.php +++ b/api/tests/Types/Doctrine/BaseDateTypeTestCase.php @@ -8,6 +8,7 @@ use Doctrine\DBAL\Platforms\AbstractPlatform; use Doctrine\DBAL\Types\ConversionException; use Doctrine\DBAL\Types\Type; +use PHPUnit\Framework\Attributes\DataProvider; use PHPUnit\Framework\MockObject\MockObject; use PHPUnit\Framework\TestCase; @@ -36,9 +37,7 @@ public function testDateConvertsToDatabaseValue(): void { self::assertIsString($this->type->convertToDatabaseValue(new \DateTime(), $this->platform)); } - /** - * @dataProvider invalidPHPValuesProvider - */ + #[DataProvider('invalidPHPValuesProvider')] public function testInvalidTypeConversionToDatabaseValue(mixed $value): void { $this->expectException(ConversionException::class); diff --git a/api/tests/Util/ArrayDeepSortTest.php b/api/tests/Util/ArrayDeepSortTest.php index 7d961a93188..e0de8fc78d1 100644 --- a/api/tests/Util/ArrayDeepSortTest.php +++ b/api/tests/Util/ArrayDeepSortTest.php @@ -3,6 +3,7 @@ namespace App\Tests\Util; use App\Util\ArrayDeepSort; +use PHPUnit\Framework\Attributes\DataProvider; use PHPUnit\Framework\TestCase; use Spatie\Snapshots\MatchesSnapshots; @@ -15,9 +16,7 @@ class ArrayDeepSortTest extends TestCase { use MatchesSnapshots; - /** - * @dataProvider getJsonFiles - */ + #[DataProvider('getJsonFiles')] public function testSortsJson1AlwaysTheSame(string $jsonFileName) { $json1 = file_get_contents(__DIR__."/Resource/{$jsonFileName}"); $array = json_decode($json1, true); diff --git a/api/tests/Util/CamelPascalNamingStrategyTest.php b/api/tests/Util/CamelPascalNamingStrategyTest.php index 0c2da001a42..84cb01a92cf 100644 --- a/api/tests/Util/CamelPascalNamingStrategyTest.php +++ b/api/tests/Util/CamelPascalNamingStrategyTest.php @@ -7,15 +7,14 @@ use App\Entity\DayResponsible; use App\Entity\User; use App\Util\CamelPascalNamingStrategy; +use PHPUnit\Framework\Attributes\DataProvider; use PHPUnit\Framework\TestCase; /** * @internal */ class CamelPascalNamingStrategyTest extends TestCase { - /** - * @dataProvider getTableNameExamples - */ + #[DataProvider('getTableNameExamples')] public function testClassToTableName(string $className, string $output) { // given $strategy = new CamelPascalNamingStrategy(); @@ -27,7 +26,7 @@ public function testClassToTableName(string $className, string $output) { $this->assertEquals($output, $result); } - public function getTableNameExamples() { + public static function getTableNameExamples() { return [ ['', ''], [User::class, 'user'], @@ -36,9 +35,7 @@ public function getTableNameExamples() { ]; } - /** - * @dataProvider getPropertyExamples - */ + #[DataProvider('getPropertyExamples')] public function testPropertyToColumnName(string $input, string $output) { // given $strategy = new CamelPascalNamingStrategy(); @@ -50,7 +47,7 @@ public function testPropertyToColumnName(string $input, string $output) { $this->assertEquals($output, $result); } - public function getPropertyExamples() { + public static function getPropertyExamples() { return [ ['', ''], ['camp', 'camp'], @@ -58,9 +55,7 @@ public function getPropertyExamples() { ]; } - /** - * @dataProvider getEmbeddedFieldExamples - */ + #[DataProvider('getEmbeddedFieldExamples')] public function testEmbeddedFieldToColumnName(string $propertyName, string $embeddedColumnName, string $output) { // given $strategy = new CamelPascalNamingStrategy(); @@ -72,16 +67,14 @@ public function testEmbeddedFieldToColumnName(string $propertyName, string $embe $this->assertEquals($output, $result); } - public function getEmbeddedFieldExamples() { + public static function getEmbeddedFieldExamples() { return [ ['', '', ''], ['address', 'street', 'addressStreet'], ]; } - /** - * @dataProvider getJoinColumnExamples - */ + #[DataProvider('getJoinColumnExamples')] public function testJoinColumnName(string $propertyName, string $output) { // given $strategy = new CamelPascalNamingStrategy(); @@ -93,7 +86,7 @@ public function testJoinColumnName(string $propertyName, string $output) { $this->assertEquals($output, $result); } - public function getJoinColumnExamples() { + public static function getJoinColumnExamples() { return [ ['', 'Id'], ['camp', 'campId'], @@ -101,9 +94,7 @@ public function getJoinColumnExamples() { ]; } - /** - * @dataProvider getJoinKeyColumnExamples - */ + #[DataProvider('getJoinKeyColumnExamples')] public function testJoinKeyColumnName(string $entityName, ?string $referencedColumnName, string $output) { // given $strategy = new CamelPascalNamingStrategy(); @@ -115,7 +106,7 @@ public function testJoinKeyColumnName(string $entityName, ?string $referencedCol $this->assertEquals($output, $result); } - public function getJoinKeyColumnExamples() { + public static function getJoinKeyColumnExamples() { return [ ['', null, 'Id'], ['', 'email', 'Email'],