diff --git a/composer.json b/composer.json index e7f6633..07d1cfb 100644 --- a/composer.json +++ b/composer.json @@ -27,10 +27,10 @@ "criteria", "xoops" ], - "require-dev": { - "phpunit/phpunit": "^9.5" - }, "scripts": { "test": "phpunit --testdox" + }, + "require-dev": { + "phpunit/phpunit": "^12" } } diff --git a/tests/CriteriaCompoTest.php b/tests/CriteriaCompoTest.php index 5cfe26e..165b6a2 100644 --- a/tests/CriteriaCompoTest.php +++ b/tests/CriteriaCompoTest.php @@ -9,6 +9,7 @@ use Imponeer\Database\Criteria\Enum\Condition; use Imponeer\Database\Criteria\Enum\Order; use JsonException; +use PHPUnit\Framework\Attributes\DataProvider; use PHPUnit\Framework\TestCase; use Random\RandomException; @@ -20,9 +21,8 @@ class CriteriaCompoTest extends TestCase * @return array * * @throws RandomException - * @throws JsonException */ - final public function provideCondition(): array + final public static function provideCondition(): array { $testsVariations = []; @@ -66,10 +66,9 @@ final public function provideCondition(): array * @param CriteriaCompo $compo Build criteria with such condition * @param string|Condition $condition join condition * - * @dataProvider provideCondition - * * @throws Exception */ + #[DataProvider('provideCondition')] final public function testCondition(CriteriaCompo $compo, string|Condition $condition): void { if (is_string($condition)) { @@ -114,7 +113,7 @@ final public function testEmptyRender(): void * * @return Generator */ - final public function provideOrder(): Generator + final public static function provideOrder(): Generator { foreach (Order::cases() as $order) { yield $order->name => [$order->value]; @@ -128,9 +127,8 @@ final public function provideOrder(): Generator * Tests order with enums * * @param string|Order $order - * - * @dataProvider provideOrder */ + #[DataProvider('provideOrder')] final public function testOrder(Order|string $order): void { $criteria = new CriteriaCompo(); diff --git a/tests/CriteriaItemTest.php b/tests/CriteriaItemTest.php index e103b4c..ed740e8 100644 --- a/tests/CriteriaItemTest.php +++ b/tests/CriteriaItemTest.php @@ -7,6 +7,7 @@ use Imponeer\Database\Criteria\Enum\ComparisonOperator; use Imponeer\Database\Criteria\Enum\Order; use JsonException; +use PHPUnit\Framework\Attributes\DataProvider; use PHPUnit\Framework\TestCase; use Random\RandomException; use stdClass; @@ -21,7 +22,7 @@ class CriteriaItemTest extends TestCase * @throws RandomException * @throws JsonException */ - final public function provideComparisonOperators(): array + final public static function provideComparisonOperators(): array { $column = sha1(random_int(PHP_INT_MIN, PHP_INT_MAX)); $specialOperators = [ @@ -92,10 +93,9 @@ final public function provideComparisonOperators(): array * @param mixed $value Value to use * @param string|ComparisonOperator $operator Comparison operator to be used for test * - * @dataProvider provideComparisonOperators - * * @throws JsonException */ + #[DataProvider('provideComparisonOperators')] final public function testIfOperatorRendersContent(string $column, mixed $value, ComparisonOperator|string $operator): void { $criteria = new CriteriaItem($column, $value, $operator); @@ -122,7 +122,7 @@ final public function testIfOperatorRendersContent(string $column, mixed $value, * * @return Generator */ - final public function provideOrder(): Generator + final public static function provideOrder(): Generator { foreach (Order::cases() as $order) { yield $order->value => [$order->value]; @@ -137,10 +137,9 @@ final public function provideOrder(): Generator * * @param string|Order $order * - * @dataProvider provideOrder - * * @throws RandomException */ + #[DataProvider('provideOrder')] final public function testOrder(Order|string $order): void { $criteria = new CriteriaItem(sha1(random_int(PHP_INT_MIN, PHP_INT_MAX)));