diff --git a/composer.json b/composer.json index efc1b62..a48327c 100644 --- a/composer.json +++ b/composer.json @@ -11,7 +11,6 @@ "doctrine/doctrine-bundle": "^2.12", "doctrine/doctrine-migrations-bundle": "^3.3", "doctrine/orm": "^3.2", - "psr/clock": "^1.0", "symfony/console": "7.1.*", "symfony/dotenv": "7.1.*", "symfony/flex": "^2", @@ -26,7 +25,7 @@ }, "require-dev": { "lubiana/code-quality": "^1.7", - "phpunit/phpunit": "^9.6.19", + "phpunit/phpunit": "^9.5", "symfony/browser-kit": "7.1.*", "symfony/css-selector": "7.1.*", "symfony/maker-bundle": "^1.60", diff --git a/composer.lock b/composer.lock index 703a034..02edf36 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": "2196ad236d40a68b165bf39ce4543bfc", + "content-hash": "ab475528135d157af8dae9e8b967be1a", "packages": [ { "name": "doctrine/cache", @@ -883,21 +883,21 @@ }, { "name": "doctrine/migrations", - "version": "3.8.0", + "version": "3.7.4", "source": { "type": "git", "url": "https://github.com/doctrine/migrations.git", - "reference": "535a70dcbd88b8c6ba945be050977457f4f4c06c" + "reference": "954e0a314c2f0eb9fb418210445111747de254a6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/migrations/zipball/535a70dcbd88b8c6ba945be050977457f4f4c06c", - "reference": "535a70dcbd88b8c6ba945be050977457f4f4c06c", + "url": "https://api.github.com/repos/doctrine/migrations/zipball/954e0a314c2f0eb9fb418210445111747de254a6", + "reference": "954e0a314c2f0eb9fb418210445111747de254a6", "shasum": "" }, "require": { "composer-runtime-api": "^2", - "doctrine/dbal": "^3.6 || ^4", + "doctrine/dbal": "^3.5.1 || ^4", "doctrine/deprecations": "^0.5.3 || ^1", "doctrine/event-manager": "^1.2 || ^2.0", "php": "^8.1", @@ -935,7 +935,7 @@ "type": "library", "autoload": { "psr-4": { - "Doctrine\\Migrations\\": "src" + "Doctrine\\Migrations\\": "lib/Doctrine/Migrations" } }, "notification-url": "https://packagist.org/downloads/", @@ -965,7 +965,7 @@ ], "support": { "issues": "https://github.com/doctrine/migrations/issues", - "source": "https://github.com/doctrine/migrations/tree/3.8.0" + "source": "https://github.com/doctrine/migrations/tree/3.7.4" }, "funding": [ { @@ -981,20 +981,20 @@ "type": "tidelift" } ], - "time": "2024-06-26T14:12:46+00:00" + "time": "2024-03-06T13:41:11+00:00" }, { "name": "doctrine/orm", - "version": "3.2.1", + "version": "3.2.0", "source": { "type": "git", "url": "https://github.com/doctrine/orm.git", - "reference": "722cea6536775206e81744542b36fa7c9a4ea3e5" + "reference": "37946d3a21ddf837c0d84f8156ee60a92102e332" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/orm/zipball/722cea6536775206e81744542b36fa7c9a4ea3e5", - "reference": "722cea6536775206e81744542b36fa7c9a4ea3e5", + "url": "https://api.github.com/repos/doctrine/orm/zipball/37946d3a21ddf837c0d84f8156ee60a92102e332", + "reference": "37946d3a21ddf837c0d84f8156ee60a92102e332", "shasum": "" }, "require": { @@ -1067,9 +1067,9 @@ ], "support": { "issues": "https://github.com/doctrine/orm/issues", - "source": "https://github.com/doctrine/orm/tree/3.2.1" + "source": "https://github.com/doctrine/orm/tree/3.2.0" }, - "time": "2024-06-26T21:48:58+00:00" + "time": "2024-05-23T14:27:52+00:00" }, { "name": "doctrine/persistence", @@ -1272,54 +1272,6 @@ }, "time": "2021-02-03T23:26:27+00:00" }, - { - "name": "psr/clock", - "version": "1.0.0", - "source": { - "type": "git", - "url": "https://github.com/php-fig/clock.git", - "reference": "e41a24703d4560fd0acb709162f73b8adfc3aa0d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/clock/zipball/e41a24703d4560fd0acb709162f73b8adfc3aa0d", - "reference": "e41a24703d4560fd0acb709162f73b8adfc3aa0d", - "shasum": "" - }, - "require": { - "php": "^7.0 || ^8.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Psr\\Clock\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "https://www.php-fig.org/" - } - ], - "description": "Common interface for reading the clock.", - "homepage": "https://github.com/php-fig/clock", - "keywords": [ - "clock", - "now", - "psr", - "psr-20", - "time" - ], - "support": { - "issues": "https://github.com/php-fig/clock/issues", - "source": "https://github.com/php-fig/clock/tree/1.0.0" - }, - "time": "2022-11-25T14:36:26+00:00" - }, { "name": "psr/container", "version": "2.0.2", @@ -1475,16 +1427,16 @@ }, { "name": "symfony/cache", - "version": "v7.1.2", + "version": "v7.1.1", "source": { "type": "git", "url": "https://github.com/symfony/cache.git", - "reference": "e933e1d947ffb88efcdd34a2bd51561cab7deaae" + "reference": "760294dc7158372699dccd077965c16c328f8719" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/cache/zipball/e933e1d947ffb88efcdd34a2bd51561cab7deaae", - "reference": "e933e1d947ffb88efcdd34a2bd51561cab7deaae", + "url": "https://api.github.com/repos/symfony/cache/zipball/760294dc7158372699dccd077965c16c328f8719", + "reference": "760294dc7158372699dccd077965c16c328f8719", "shasum": "" }, "require": { @@ -1552,7 +1504,7 @@ "psr6" ], "support": { - "source": "https://github.com/symfony/cache/tree/v7.1.2" + "source": "https://github.com/symfony/cache/tree/v7.1.1" }, "funding": [ { @@ -1568,7 +1520,7 @@ "type": "tidelift" } ], - "time": "2024-06-11T13:32:38+00:00" + "time": "2024-05-31T14:57:53+00:00" }, { "name": "symfony/cache-contracts", @@ -1723,16 +1675,16 @@ }, { "name": "symfony/console", - "version": "v7.1.2", + "version": "v7.1.1", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "0aa29ca177f432ab68533432db0de059f39c92ae" + "reference": "9b008f2d7b21c74ef4d0c3de6077a642bc55ece3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/0aa29ca177f432ab68533432db0de059f39c92ae", - "reference": "0aa29ca177f432ab68533432db0de059f39c92ae", + "url": "https://api.github.com/repos/symfony/console/zipball/9b008f2d7b21c74ef4d0c3de6077a642bc55ece3", + "reference": "9b008f2d7b21c74ef4d0c3de6077a642bc55ece3", "shasum": "" }, "require": { @@ -1796,7 +1748,7 @@ "terminal" ], "support": { - "source": "https://github.com/symfony/console/tree/v7.1.2" + "source": "https://github.com/symfony/console/tree/v7.1.1" }, "funding": [ { @@ -1812,20 +1764,20 @@ "type": "tidelift" } ], - "time": "2024-06-28T10:03:55+00:00" + "time": "2024-05-31T14:57:53+00:00" }, { "name": "symfony/dependency-injection", - "version": "v7.1.2", + "version": "v7.1.1", "source": { "type": "git", "url": "https://github.com/symfony/dependency-injection.git", - "reference": "6e108cded928bdafaf1da3fabe30dd5af20e36b9" + "reference": "77c636dfd86c0b60c5d184b2fd2ddf8dd11c309c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/6e108cded928bdafaf1da3fabe30dd5af20e36b9", - "reference": "6e108cded928bdafaf1da3fabe30dd5af20e36b9", + "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/77c636dfd86c0b60c5d184b2fd2ddf8dd11c309c", + "reference": "77c636dfd86c0b60c5d184b2fd2ddf8dd11c309c", "shasum": "" }, "require": { @@ -1876,7 +1828,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.1.2" + "source": "https://github.com/symfony/dependency-injection/tree/v7.1.1" }, "funding": [ { @@ -1892,7 +1844,7 @@ "type": "tidelift" } ], - "time": "2024-06-28T10:03:55+00:00" + "time": "2024-05-31T14:57:53+00:00" }, { "name": "symfony/deprecation-contracts", @@ -1963,16 +1915,16 @@ }, { "name": "symfony/doctrine-bridge", - "version": "v7.1.2", + "version": "v7.1.1", "source": { "type": "git", "url": "https://github.com/symfony/doctrine-bridge.git", - "reference": "9fc4bebf69f00d4ebb12ee904d808b496035e2f6" + "reference": "2c36eca96f111ada35b648a4d6e8aa61f354e4d4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/doctrine-bridge/zipball/9fc4bebf69f00d4ebb12ee904d808b496035e2f6", - "reference": "9fc4bebf69f00d4ebb12ee904d808b496035e2f6", + "url": "https://api.github.com/repos/symfony/doctrine-bridge/zipball/2c36eca96f111ada35b648a4d6e8aa61f354e4d4", + "reference": "2c36eca96f111ada35b648a4d6e8aa61f354e4d4", "shasum": "" }, "require": { @@ -2051,7 +2003,7 @@ "description": "Provides integration for Doctrine with various Symfony components", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/doctrine-bridge/tree/v7.1.2" + "source": "https://github.com/symfony/doctrine-bridge/tree/v7.1.1" }, "funding": [ { @@ -2067,7 +2019,7 @@ "type": "tidelift" } ], - "time": "2024-06-28T09:27:18+00:00" + "time": "2024-05-31T14:57:53+00:00" }, { "name": "symfony/dotenv", @@ -2145,16 +2097,16 @@ }, { "name": "symfony/error-handler", - "version": "v7.1.2", + "version": "v7.1.1", "source": { "type": "git", "url": "https://github.com/symfony/error-handler.git", - "reference": "2412d3dddb5c9ea51a39cfbff1c565fc9844ca32" + "reference": "e9b8bbce0b4f322939332ab7b6b81d8c11da27dd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/error-handler/zipball/2412d3dddb5c9ea51a39cfbff1c565fc9844ca32", - "reference": "2412d3dddb5c9ea51a39cfbff1c565fc9844ca32", + "url": "https://api.github.com/repos/symfony/error-handler/zipball/e9b8bbce0b4f322939332ab7b6b81d8c11da27dd", + "reference": "e9b8bbce0b4f322939332ab7b6b81d8c11da27dd", "shasum": "" }, "require": { @@ -2200,7 +2152,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.1.2" + "source": "https://github.com/symfony/error-handler/tree/v7.1.1" }, "funding": [ { @@ -2216,7 +2168,7 @@ "type": "tidelift" } ], - "time": "2024-06-25T19:55:06+00:00" + "time": "2024-05-31T14:57:53+00:00" }, { "name": "symfony/event-dispatcher", @@ -2376,16 +2328,16 @@ }, { "name": "symfony/filesystem", - "version": "v7.1.2", + "version": "v7.1.1", "source": { "type": "git", "url": "https://github.com/symfony/filesystem.git", - "reference": "92a91985250c251de9b947a14bb2c9390b1a562c" + "reference": "802e87002f919296c9f606457d9fa327a0b3d6b2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/92a91985250c251de9b947a14bb2c9390b1a562c", - "reference": "92a91985250c251de9b947a14bb2c9390b1a562c", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/802e87002f919296c9f606457d9fa327a0b3d6b2", + "reference": "802e87002f919296c9f606457d9fa327a0b3d6b2", "shasum": "" }, "require": { @@ -2422,7 +2374,7 @@ "description": "Provides basic utilities for the filesystem", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/filesystem/tree/v7.1.2" + "source": "https://github.com/symfony/filesystem/tree/v7.1.1" }, "funding": [ { @@ -2438,7 +2390,7 @@ "type": "tidelift" } ], - "time": "2024-06-28T10:03:55+00:00" + "time": "2024-05-31T14:57:53+00:00" }, { "name": "symfony/finder", @@ -2668,16 +2620,16 @@ }, { "name": "symfony/framework-bundle", - "version": "v7.1.2", + "version": "v7.1.1", "source": { "type": "git", "url": "https://github.com/symfony/framework-bundle.git", - "reference": "54a84f49658e2e87167396b2259a55e55e11f4a2" + "reference": "79a20497022b8853416e20c836ee150b754c332a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/framework-bundle/zipball/54a84f49658e2e87167396b2259a55e55e11f4a2", - "reference": "54a84f49658e2e87167396b2259a55e55e11f4a2", + "url": "https://api.github.com/repos/symfony/framework-bundle/zipball/79a20497022b8853416e20c836ee150b754c332a", + "reference": "79a20497022b8853416e20c836ee150b754c332a", "shasum": "" }, "require": { @@ -2795,7 +2747,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.2" + "source": "https://github.com/symfony/framework-bundle/tree/v7.1.1" }, "funding": [ { @@ -2811,7 +2763,7 @@ "type": "tidelift" } ], - "time": "2024-06-28T08:00:31+00:00" + "time": "2024-06-04T06:40:14+00:00" }, { "name": "symfony/http-foundation", @@ -2892,16 +2844,16 @@ }, { "name": "symfony/http-kernel", - "version": "v7.1.2", + "version": "v7.1.1", "source": { "type": "git", "url": "https://github.com/symfony/http-kernel.git", - "reference": "ae3fa717db4d41a55d14c2bd92399e37cf5bc0f6" + "reference": "fa8d1c75b5f33b1302afccf81811f93976c6e26f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/ae3fa717db4d41a55d14c2bd92399e37cf5bc0f6", - "reference": "ae3fa717db4d41a55d14c2bd92399e37cf5bc0f6", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/fa8d1c75b5f33b1302afccf81811f93976c6e26f", + "reference": "fa8d1c75b5f33b1302afccf81811f93976c6e26f", "shasum": "" }, "require": { @@ -2986,7 +2938,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.1.2" + "source": "https://github.com/symfony/http-kernel/tree/v7.1.1" }, "funding": [ { @@ -3002,7 +2954,7 @@ "type": "tidelift" } ], - "time": "2024-06-28T13:13:31+00:00" + "time": "2024-06-04T06:52:15+00:00" }, { "name": "symfony/options-resolver", @@ -3699,16 +3651,16 @@ }, { "name": "symfony/property-info", - "version": "v7.1.2", + "version": "v7.1.1", "source": { "type": "git", "url": "https://github.com/symfony/property-info.git", - "reference": "d7b91e4aa07e822a9b935fc29a7254c12d502f16" + "reference": "0f80f818c6728f15de30a4f89866d68e4912ae84" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/property-info/zipball/d7b91e4aa07e822a9b935fc29a7254c12d502f16", - "reference": "d7b91e4aa07e822a9b935fc29a7254c12d502f16", + "url": "https://api.github.com/repos/symfony/property-info/zipball/0f80f818c6728f15de30a4f89866d68e4912ae84", + "reference": "0f80f818c6728f15de30a4f89866d68e4912ae84", "shasum": "" }, "require": { @@ -3763,7 +3715,7 @@ "validator" ], "support": { - "source": "https://github.com/symfony/property-info/tree/v7.1.2" + "source": "https://github.com/symfony/property-info/tree/v7.1.1" }, "funding": [ { @@ -3779,7 +3731,7 @@ "type": "tidelift" } ], - "time": "2024-06-26T07:21:35+00:00" + "time": "2024-05-31T14:57:53+00:00" }, { "name": "symfony/routing", @@ -3943,16 +3895,16 @@ }, { "name": "symfony/security-core", - "version": "v7.1.2", + "version": "v7.1.1", "source": { "type": "git", "url": "https://github.com/symfony/security-core.git", - "reference": "d615960211a11913e70f8576e5c38cd05d90ec3f" + "reference": "536399671a46b0e615d69583f067e30ad25ad038" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/security-core/zipball/d615960211a11913e70f8576e5c38cd05d90ec3f", - "reference": "d615960211a11913e70f8576e5c38cd05d90ec3f", + "url": "https://api.github.com/repos/symfony/security-core/zipball/536399671a46b0e615d69583f067e30ad25ad038", + "reference": "536399671a46b0e615d69583f067e30ad25ad038", "shasum": "" }, "require": { @@ -4009,7 +3961,7 @@ "description": "Symfony Security Component - Core Library", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/security-core/tree/v7.1.2" + "source": "https://github.com/symfony/security-core/tree/v7.1.1" }, "funding": [ { @@ -4025,7 +3977,7 @@ "type": "tidelift" } ], - "time": "2024-06-28T08:00:31+00:00" + "time": "2024-05-31T14:57:53+00:00" }, { "name": "symfony/security-csrf", @@ -4242,16 +4194,16 @@ }, { "name": "symfony/string", - "version": "v7.1.2", + "version": "v7.1.1", "source": { "type": "git", "url": "https://github.com/symfony/string.git", - "reference": "14221089ac66cf82e3cf3d1c1da65de305587ff8" + "reference": "60bc311c74e0af215101235aa6f471bcbc032df2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/14221089ac66cf82e3cf3d1c1da65de305587ff8", - "reference": "14221089ac66cf82e3cf3d1c1da65de305587ff8", + "url": "https://api.github.com/repos/symfony/string/zipball/60bc311c74e0af215101235aa6f471bcbc032df2", + "reference": "60bc311c74e0af215101235aa6f471bcbc032df2", "shasum": "" }, "require": { @@ -4309,7 +4261,7 @@ "utf8" ], "support": { - "source": "https://github.com/symfony/string/tree/v7.1.2" + "source": "https://github.com/symfony/string/tree/v7.1.1" }, "funding": [ { @@ -4325,7 +4277,7 @@ "type": "tidelift" } ], - "time": "2024-06-28T09:27:18+00:00" + "time": "2024-06-04T06:40:14+00:00" }, { "name": "symfony/translation-contracts", @@ -4756,16 +4708,16 @@ }, { "name": "symfony/validator", - "version": "v7.1.2", + "version": "v7.1.1", "source": { "type": "git", "url": "https://github.com/symfony/validator.git", - "reference": "bed12b7d5bd4dac452db5fa6203331c876b489e7" + "reference": "fcab7598968b21c361becc930fcae8846638c4c0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/validator/zipball/bed12b7d5bd4dac452db5fa6203331c876b489e7", - "reference": "bed12b7d5bd4dac452db5fa6203331c876b489e7", + "url": "https://api.github.com/repos/symfony/validator/zipball/fcab7598968b21c361becc930fcae8846638c4c0", + "reference": "fcab7598968b21c361becc930fcae8846638c4c0", "shasum": "" }, "require": { @@ -4833,7 +4785,7 @@ "description": "Provides tools to validate values", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/validator/tree/v7.1.2" + "source": "https://github.com/symfony/validator/tree/v7.1.1" }, "funding": [ { @@ -4849,20 +4801,20 @@ "type": "tidelift" } ], - "time": "2024-06-25T19:55:06+00:00" + "time": "2024-06-04T05:58:56+00:00" }, { "name": "symfony/var-dumper", - "version": "v7.1.2", + "version": "v7.1.1", "source": { "type": "git", "url": "https://github.com/symfony/var-dumper.git", - "reference": "5857c57c6b4b86524c08cf4f4bc95327270a816d" + "reference": "deb2c2b506ff6fdbb340e00b34e9901e1605f293" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/5857c57c6b4b86524c08cf4f4bc95327270a816d", - "reference": "5857c57c6b4b86524c08cf4f4bc95327270a816d", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/deb2c2b506ff6fdbb340e00b34e9901e1605f293", + "reference": "deb2c2b506ff6fdbb340e00b34e9901e1605f293", "shasum": "" }, "require": { @@ -4916,7 +4868,7 @@ "dump" ], "support": { - "source": "https://github.com/symfony/var-dumper/tree/v7.1.2" + "source": "https://github.com/symfony/var-dumper/tree/v7.1.1" }, "funding": [ { @@ -4932,20 +4884,20 @@ "type": "tidelift" } ], - "time": "2024-06-28T08:00:31+00:00" + "time": "2024-05-31T14:57:53+00:00" }, { "name": "symfony/var-exporter", - "version": "v7.1.2", + "version": "v7.1.1", "source": { "type": "git", "url": "https://github.com/symfony/var-exporter.git", - "reference": "b80a669a2264609f07f1667f891dbfca25eba44c" + "reference": "db82c2b73b88734557cfc30e3270d83fa651b712" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-exporter/zipball/b80a669a2264609f07f1667f891dbfca25eba44c", - "reference": "b80a669a2264609f07f1667f891dbfca25eba44c", + "url": "https://api.github.com/repos/symfony/var-exporter/zipball/db82c2b73b88734557cfc30e3270d83fa651b712", + "reference": "db82c2b73b88734557cfc30e3270d83fa651b712", "shasum": "" }, "require": { @@ -4992,7 +4944,7 @@ "serialize" ], "support": { - "source": "https://github.com/symfony/var-exporter/tree/v7.1.2" + "source": "https://github.com/symfony/var-exporter/tree/v7.1.1" }, "funding": [ { @@ -5008,7 +4960,7 @@ "type": "tidelift" } ], - "time": "2024-06-28T08:00:31+00:00" + "time": "2024-05-31T14:57:53+00:00" }, { "name": "symfony/yaml", @@ -5398,16 +5350,16 @@ }, { "name": "nikic/php-parser", - "version": "v5.1.0", + "version": "v5.0.2", "source": { "type": "git", "url": "https://github.com/nikic/PHP-Parser.git", - "reference": "683130c2ff8c2739f4822ff7ac5c873ec529abd1" + "reference": "139676794dc1e9231bf7bcd123cfc0c99182cb13" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/683130c2ff8c2739f4822ff7ac5c873ec529abd1", - "reference": "683130c2ff8c2739f4822ff7ac5c873ec529abd1", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/139676794dc1e9231bf7bcd123cfc0c99182cb13", + "reference": "139676794dc1e9231bf7bcd123cfc0c99182cb13", "shasum": "" }, "require": { @@ -5418,7 +5370,7 @@ }, "require-dev": { "ircmaxell/php-yacc": "^0.0.7", - "phpunit/phpunit": "^9.0" + "phpunit/phpunit": "^7.0 || ^8.0 || ^9.0" }, "bin": [ "bin/php-parse" @@ -5450,9 +5402,9 @@ ], "support": { "issues": "https://github.com/nikic/PHP-Parser/issues", - "source": "https://github.com/nikic/PHP-Parser/tree/v5.1.0" + "source": "https://github.com/nikic/PHP-Parser/tree/v5.0.2" }, - "time": "2024-07-01T20:03:41+00:00" + "time": "2024-03-05T20:51:40+00:00" }, { "name": "phar-io/manifest", @@ -5621,16 +5573,16 @@ }, { "name": "phpstan/phpstan", - "version": "1.11.7", + "version": "1.11.5", "source": { "type": "git", "url": "https://github.com/phpstan/phpstan.git", - "reference": "52d2bbfdcae7f895915629e4694e9497d0f8e28d" + "reference": "490f0ae1c92b082f154681d7849aee776a7c1443" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan/zipball/52d2bbfdcae7f895915629e4694e9497d0f8e28d", - "reference": "52d2bbfdcae7f895915629e4694e9497d0f8e28d", + "url": "https://api.github.com/repos/phpstan/phpstan/zipball/490f0ae1c92b082f154681d7849aee776a7c1443", + "reference": "490f0ae1c92b082f154681d7849aee776a7c1443", "shasum": "" }, "require": { @@ -5675,7 +5627,7 @@ "type": "github" } ], - "time": "2024-07-06T11:17:41+00:00" + "time": "2024-06-17T15:10:54+00:00" }, { "name": "phpunit/php-code-coverage", @@ -5998,45 +5950,45 @@ }, { "name": "phpunit/phpunit", - "version": "9.6.20", + "version": "9.6.19", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "49d7820565836236411f5dc002d16dd689cde42f" + "reference": "a1a54a473501ef4cdeaae4e06891674114d79db8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/49d7820565836236411f5dc002d16dd689cde42f", - "reference": "49d7820565836236411f5dc002d16dd689cde42f", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/a1a54a473501ef4cdeaae4e06891674114d79db8", + "reference": "a1a54a473501ef4cdeaae4e06891674114d79db8", "shasum": "" }, "require": { - "doctrine/instantiator": "^1.5.0 || ^2", + "doctrine/instantiator": "^1.3.1 || ^2", "ext-dom": "*", "ext-json": "*", "ext-libxml": "*", "ext-mbstring": "*", "ext-xml": "*", "ext-xmlwriter": "*", - "myclabs/deep-copy": "^1.12.0", - "phar-io/manifest": "^2.0.4", - "phar-io/version": "^3.2.1", + "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.31", - "phpunit/php-file-iterator": "^3.0.6", + "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.4", - "phpunit/php-timer": "^5.0.3", - "sebastian/cli-parser": "^1.0.2", - "sebastian/code-unit": "^1.0.8", + "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.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/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" }, "suggest": { @@ -6081,7 +6033,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.20" + "source": "https://github.com/sebastianbergmann/phpunit/tree/9.6.19" }, "funding": [ { @@ -6097,20 +6049,20 @@ "type": "tidelift" } ], - "time": "2024-07-10T11:45:39+00:00" + "time": "2024-04-05T04:35:58+00:00" }, { "name": "rector/rector", - "version": "1.2.0", + "version": "1.1.1", "source": { "type": "git", "url": "https://github.com/rectorphp/rector.git", - "reference": "2fa387553db22b6f9bcccf5ff16f2c2c18a52a65" + "reference": "c930cdb21294f10955ddfc31b720971e8333943d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/rectorphp/rector/zipball/2fa387553db22b6f9bcccf5ff16f2c2c18a52a65", - "reference": "2fa387553db22b6f9bcccf5ff16f2c2c18a52a65", + "url": "https://api.github.com/repos/rectorphp/rector/zipball/c930cdb21294f10955ddfc31b720971e8333943d", + "reference": "c930cdb21294f10955ddfc31b720971e8333943d", "shasum": "" }, "require": { @@ -6148,7 +6100,7 @@ ], "support": { "issues": "https://github.com/rectorphp/rector/issues", - "source": "https://github.com/rectorphp/rector/tree/1.2.0" + "source": "https://github.com/rectorphp/rector/tree/1.1.1" }, "funding": [ { @@ -6156,7 +6108,7 @@ "type": "github" } ], - "time": "2024-07-01T14:24:45+00:00" + "time": "2024-06-21T07:51:17+00:00" }, { "name": "sebastian/cli-parser", @@ -7560,16 +7512,16 @@ }, { "name": "symfony/phpunit-bridge", - "version": "v7.1.2", + "version": "v7.1.1", "source": { "type": "git", "url": "https://github.com/symfony/phpunit-bridge.git", - "reference": "8eb63f1c0e2001f97b3cd9ed550b18765cdeb1c8" + "reference": "3e1cb8c4dee341cfe96ae9fe29b1acda52a6bb16" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/phpunit-bridge/zipball/8eb63f1c0e2001f97b3cd9ed550b18765cdeb1c8", - "reference": "8eb63f1c0e2001f97b3cd9ed550b18765cdeb1c8", + "url": "https://api.github.com/repos/symfony/phpunit-bridge/zipball/3e1cb8c4dee341cfe96ae9fe29b1acda52a6bb16", + "reference": "3e1cb8c4dee341cfe96ae9fe29b1acda52a6bb16", "shasum": "" }, "require": { @@ -7622,7 +7574,7 @@ "description": "Provides utilities for PHPUnit, especially user deprecation notices management", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/phpunit-bridge/tree/v7.1.2" + "source": "https://github.com/symfony/phpunit-bridge/tree/v7.1.1" }, "funding": [ { @@ -7638,7 +7590,7 @@ "type": "tidelift" } ], - "time": "2024-06-25T19:55:06+00:00" + "time": "2024-06-04T06:50:37+00:00" }, { "name": "symfony/process", @@ -7745,16 +7697,16 @@ }, { "name": "symplify/easy-coding-standard", - "version": "12.3.1", + "version": "12.3.0", "source": { "type": "git", "url": "https://github.com/easy-coding-standard/easy-coding-standard.git", - "reference": "bd670feae8d0b6da891d29a3c549bd0f4aa48711" + "reference": "f919574aa566b4d00fd06700ca61168aafef66e1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/easy-coding-standard/easy-coding-standard/zipball/bd670feae8d0b6da891d29a3c549bd0f4aa48711", - "reference": "bd670feae8d0b6da891d29a3c549bd0f4aa48711", + "url": "https://api.github.com/repos/easy-coding-standard/easy-coding-standard/zipball/f919574aa566b4d00fd06700ca61168aafef66e1", + "reference": "f919574aa566b4d00fd06700ca61168aafef66e1", "shasum": "" }, "require": { @@ -7790,7 +7742,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.3.1" + "source": "https://github.com/easy-coding-standard/easy-coding-standard/tree/12.3.0" }, "funding": [ { @@ -7802,7 +7754,7 @@ "type": "github" } ], - "time": "2024-07-06T12:33:15+00:00" + "time": "2024-06-18T07:35:59+00:00" }, { "name": "theseer/tokenizer", diff --git a/src/Controller/FoodOrderController.php b/src/Controller/FoodOrderController.php index f78cd09..9fdb77d 100644 --- a/src/Controller/FoodOrderController.php +++ b/src/Controller/FoodOrderController.php @@ -15,45 +15,28 @@ use Symfony\Component\Routing\Attribute\Route; final class FoodOrderController extends AbstractController { #[Route( - path: '/list', + path: '/list/{page}', name: 'app_food_order_index', - methods: ['GET'] - )] - public function index(FoodOrderRepository $foodOrderRepository): Response - { - - return $this->render('food_order/index.html.twig', [ - 'food_orders' => $foodOrderRepository->findLatestEntries(days: 3), - 'current_page' => 0, - 'next_page' => 0, - 'prev_page' => 0, - ]); - } - - #[Route( - path: '/list/archive/{page}', - name: 'app_food_order_archive', requirements: [ 'page' => '\d+', ], methods: ['GET'] )] - public function archive(FoodOrderRepository $foodOrderRepository, int $page = 1): Response + public function index(FoodOrderRepository $foodOrderRepository, int $page = 1): Response { + $days = 4; + if ($page > 1) { + $days = 0; + } $nextPage = $page + 1; $prevPage = $page - 1; $itemsPerPage = 10; - $count = $foodOrderRepository->count(); - if($count < $page * $itemsPerPage) { + if($foodOrderRepository->count() < $page * $itemsPerPage) { $nextPage = $page; } return $this->render('food_order/index.html.twig', [ - 'food_orders' => $foodOrderRepository->findLatestEntries( - page: $page, - pagesize: $itemsPerPage, - days: 0 - ), + 'food_orders' => $foodOrderRepository->findLatestEntries(page: $page, pagesize: $itemsPerPage, days: $days), 'current_page' => $page, 'next_page' => $nextPage, 'prev_page' => $prevPage, diff --git a/src/Entity/FoodOrder.php b/src/Entity/FoodOrder.php index fe16eac..40d7db8 100644 --- a/src/Entity/FoodOrder.php +++ b/src/Entity/FoodOrder.php @@ -8,12 +8,19 @@ use DateTimeImmutable; use Doctrine\Common\Collections\ArrayCollection; use Doctrine\Common\Collections\Collection; use Doctrine\ORM\Mapping as ORM; +use Symfony\Bridge\Doctrine\IdGenerator\UlidGenerator; use Symfony\Bridge\Doctrine\Types\UlidType; use Symfony\Component\Uid\Ulid; #[ORM\Entity(repositoryClass: FoodOrderRepository::class)] class FoodOrder { + #[ORM\Id] + #[ORM\GeneratedValue(strategy: 'CUSTOM')] + #[ORM\Column(type: UlidType::NAME, unique: true)] + #[ORM\CustomIdGenerator(class: UlidGenerator::class)] + private Ulid|null $id = null; + #[ORM\Column(nullable: true)] private DateTimeImmutable|null $closedAt = null; @@ -32,11 +39,8 @@ class FoodOrder ])] private string|null $createdBy = 'nobody'; - public function __construct( - #[ORM\Id] - #[ORM\Column(type: UlidType::NAME, unique: true)] - private Ulid|null $id = new Ulid - ) { + public function __construct() + { $this->orderItems = new ArrayCollection; $this->open(); } diff --git a/templates/food_order/index.html.twig b/templates/food_order/index.html.twig index d974f87..cdd778b 100644 --- a/templates/food_order/index.html.twig +++ b/templates/food_order/index.html.twig @@ -25,21 +25,17 @@ {% for food_order in food_orders %} {{ include('food_order/table_row.html.twig') }} - {% endfor %} - {% if food_orders|length < 10 %} + {% else %} - - check the archive - for older orders - + no records found - {% endif %} + {% endfor %} {% if prev_page > 0 %} - previous page | + previous page | {% endif %} {% if next_page > current_page %} - next page + next page {% endif %} {% endblock %} diff --git a/tests/Controller/FoodOrderControllerTest.php b/tests/Controller/FoodOrderControllerTest.php index 6eda822..59eceff 100644 --- a/tests/Controller/FoodOrderControllerTest.php +++ b/tests/Controller/FoodOrderControllerTest.php @@ -8,7 +8,6 @@ use App\Tests\DbWebTest; use Override; use Symfony\Component\DomCrawler\Crawler; -use function range; use function sprintf; final class FoodOrderControllerTest extends DbWebTest @@ -52,58 +51,6 @@ final class FoodOrderControllerTest extends DbWebTest ); } - public function testPaginatedIndex(): void - { - $this->generatePaginatedOrders(); - $crawler = $this->client->request('GET', "{$this->path}list"); - self::assertResponseStatusCodeSame(200); - self::assertPageTitleContains('FoodOrder index'); - $this->assertElementContainsCount( - $crawler, - 'td', - 1, - 'older orders' - ); - $this->assertElementContainsCount( - $crawler, - 'td', - 0, - 'next page' - ); - } - - /** - * @testWith [1, 0, 1] - * [2, 1, 1] - * [3, 1, 1] - * [4, 1, 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}"); - self::assertResponseStatusCodeSame(200); - self::assertPageTitleContains('FoodOrder index'); - $this->assertElementContainsCount( - $crawler, - 'td', - $items, - 'nobody' - ); - $this->assertElementContainsCount( - $crawler, - 'a', - $nextPage, - 'next page' - ); - $this->assertElementContainsCount( - $crawler, - 'a', - $prevPage, - 'previous page' - ); - } - public function testNew(): void { $this->client->request('GET', sprintf('%snew', $this->path)); @@ -117,16 +64,4 @@ final class FoodOrderControllerTest extends DbWebTest self::assertResponseRedirects("{$this->path}list"); self::assertSame(1, $this->repository->count([])); } - - 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/Controller/HomeControllerTest.php b/tests/Controller/HomeControllerTest.php deleted file mode 100644 index 821e8f4..0000000 --- a/tests/Controller/HomeControllerTest.php +++ /dev/null @@ -1,61 +0,0 @@ -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'); - } - - 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/DbWebTest.php b/tests/DbWebTest.php index c7a22f8..18ef24a 100644 --- a/tests/DbWebTest.php +++ b/tests/DbWebTest.php @@ -2,18 +2,12 @@ namespace App\Tests; -use DateInterval; -use DateTimeImmutable; use Doctrine\ORM\EntityManagerInterface; use Doctrine\ORM\EntityRepository; use Doctrine\ORM\Tools\SchemaTool; use Override; use Symfony\Bundle\FrameworkBundle\KernelBrowser; use Symfony\Bundle\FrameworkBundle\Test\WebTestCase; -use Symfony\Component\DomCrawler\Crawler; -use Symfony\Component\Uid\Ulid; - -use function str_contains; abstract class DbWebTest extends WebTestCase { @@ -34,26 +28,6 @@ abstract class DbWebTest extends WebTestCase $schemaTool->dropDatabase(); $schemaTool->updateSchema($metadata); - if ($this->getEntityClass() !== '') { - $this->repository = $this->manager->getRepository($this->getEntityClass()); - } - } - - protected function generateOldUlid(int $daysToSubtract = 10): Ulid - { - $date = (new DateTimeImmutable)->sub(new DateInterval('P' . $daysToSubtract . 'D')); - $ulidString = Ulid::generate($date); - return Ulid::fromString($ulidString); - } - - protected function assertElementContainsCount(Crawler $crawler, string $element, int $count, string $text): void - { - $this->assertCount( - $count, - $crawler->filter($element) - ->reduce( - static fn(Crawler $node, $i): bool => str_contains($node->text(), $text), - ) - ); + $this->repository = $this->manager->getRepository($this->getEntityClass()); } }