diff --git a/composer.json b/composer.json index 84a57d2..e14ff97 100644 --- a/composer.json +++ b/composer.json @@ -20,7 +20,7 @@ "require-dev": { "doctrine/coding-standard": "^14.0", "doctrine/dbal": "^3.1 || ^4.0", - "phpunit/phpunit": "^9.6", + "phpunit/phpunit": "^12.0", "vimeo/psalm": "^6.13", "symfony/cache": "^5.3||^6.2", "php-parallel-lint/php-parallel-lint": "^1.3.2", diff --git a/phpunit.xml.dist b/phpunit.xml.dist index 04f6b00..0f91012 100644 --- a/phpunit.xml.dist +++ b/phpunit.xml.dist @@ -1,20 +1,21 @@ - - - - ./src - ./config - - - ./vendor - - + ./test + test/Entity/TypeTest.php + + + ./src + ./config + + + ./vendor + + diff --git a/test/Entity/TypeTest.php b/test/Entity/TypeTest.php index 3b7af42..c16a655 100644 --- a/test/Entity/TypeTest.php +++ b/test/Entity/TypeTest.php @@ -8,6 +8,7 @@ use ApiSkeletons\Doctrine\ORM\GraphQL\Filter\Filters; use ApiSkeletonsTest\Doctrine\ORM\GraphQL\Hydrator\Strategy\CsvString; use DateTime; +use DateTimeImmutable; use Doctrine\ORM\Mapping as ORM; /** @@ -21,6 +22,7 @@ #[GraphQL\Entity(group: 'BetweenTypeContainerTest')] #[GraphQL\Entity(group: 'CustomTypeArray')] #[ORM\Entity] +#[PHPUnit\Framework\Attributes\ExcludeFromCodeCoverage] class TypeTest { #[GraphQL\Field] diff --git a/test/Feature/ConfigTest.php b/test/Feature/ConfigTest.php index c34a601..156444a 100644 --- a/test/Feature/ConfigTest.php +++ b/test/Feature/ConfigTest.php @@ -5,10 +5,10 @@ namespace ApiSkeletonsTest\Doctrine\ORM\GraphQL\Feature; use ApiSkeletons\Doctrine\ORM\GraphQL\Config; -use ApiSkeletonsTest\Doctrine\ORM\GraphQL\AbstractTest; +use ApiSkeletonsTest\Doctrine\ORM\GraphQL\TestCase; use InvalidArgumentException; -class ConfigTest extends AbstractTest +class ConfigTest extends TestCase { public function testInvalidConfig(): void { diff --git a/test/Feature/DriverTest.php b/test/Feature/DriverTest.php index 1cb2ace..092f106 100644 --- a/test/Feature/DriverTest.php +++ b/test/Feature/DriverTest.php @@ -9,11 +9,11 @@ use ApiSkeletons\Doctrine\ORM\GraphQL\Type\Entity\Entity; use ApiSkeletons\Doctrine\ORM\GraphQL\Type\Entity\EntityTypeContainer; use ApiSkeletons\Doctrine\ORM\GraphQL\Type\TypeContainer; -use ApiSkeletonsTest\Doctrine\ORM\GraphQL\AbstractTest; use ApiSkeletonsTest\Doctrine\ORM\GraphQL\Entity\Artist; use ApiSkeletonsTest\Doctrine\ORM\GraphQL\Entity\Performance; use ApiSkeletonsTest\Doctrine\ORM\GraphQL\Entity\Recording; use ApiSkeletonsTest\Doctrine\ORM\GraphQL\Entity\User; +use ApiSkeletonsTest\Doctrine\ORM\GraphQL\TestCase; use ArrayObject; use GraphQL\Error\Error; use GraphQL\GraphQL; @@ -23,7 +23,7 @@ use GraphQL\Type\Schema; use Psr\Container\ContainerInterface; -class DriverTest extends AbstractTest +class DriverTest extends TestCase { public function testGetInvalidService(): void { @@ -49,7 +49,7 @@ public function testCreateDriverWithoutConfig(): void public function testCreateDriverWithConfig(): void { - $container = $this->createMock(ContainerInterface::class); + $container = $this->createStub(ContainerInterface::class); $config = new Config([ 'group' => 'default', 'useHydratorCache' => true, diff --git a/test/Feature/Event/BuildMetadataTest.php b/test/Feature/Event/BuildMetadataTest.php index 4b652b7..76ac633 100644 --- a/test/Feature/Event/BuildMetadataTest.php +++ b/test/Feature/Event/BuildMetadataTest.php @@ -7,7 +7,7 @@ use ApiSkeletons\Doctrine\ORM\GraphQL\Config; use ApiSkeletons\Doctrine\ORM\GraphQL\Driver; use ApiSkeletons\Doctrine\ORM\GraphQL\Event\Metadata; -use ApiSkeletonsTest\Doctrine\ORM\GraphQL\AbstractTest; +use ApiSkeletonsTest\Doctrine\ORM\GraphQL\TestCase; use ArrayObject; use League\Event\EventDispatcher; @@ -15,7 +15,7 @@ * This test uses both EventDefinition and QueryBuidlerTest to add a new * field to an entity type and filter it. */ -class BuildMetadataTest extends AbstractTest +class BuildMetadataTest extends TestCase { public function testEvent(): void { diff --git a/test/Feature/Event/CriteriaTest.php b/test/Feature/Event/CriteriaTest.php index 8413664..1fd9e2f 100644 --- a/test/Feature/Event/CriteriaTest.php +++ b/test/Feature/Event/CriteriaTest.php @@ -7,8 +7,8 @@ use ApiSkeletons\Doctrine\ORM\GraphQL\Config; use ApiSkeletons\Doctrine\ORM\GraphQL\Driver; use ApiSkeletons\Doctrine\ORM\GraphQL\Event\Criteria as CriteriaEvent; -use ApiSkeletonsTest\Doctrine\ORM\GraphQL\AbstractTest; use ApiSkeletonsTest\Doctrine\ORM\GraphQL\Entity\Artist; +use ApiSkeletonsTest\Doctrine\ORM\GraphQL\TestCase; use Doctrine\Common\Collections\Collection; use Doctrine\Common\Collections\Criteria; use GraphQL\GraphQL; @@ -19,7 +19,7 @@ use function count; -class CriteriaTest extends AbstractTest +class CriteriaTest extends TestCase { public function testEvent(): void { diff --git a/test/Feature/Event/CustomEventNameTest.php b/test/Feature/Event/CustomEventNameTest.php index 77fb463..bc251ce 100644 --- a/test/Feature/Event/CustomEventNameTest.php +++ b/test/Feature/Event/CustomEventNameTest.php @@ -6,15 +6,15 @@ use ApiSkeletons\Doctrine\ORM\GraphQL\Driver; use ApiSkeletons\Doctrine\ORM\GraphQL\Event\QueryBuilder as QueryBuilderEvent; -use ApiSkeletonsTest\Doctrine\ORM\GraphQL\AbstractTest; use ApiSkeletonsTest\Doctrine\ORM\GraphQL\Entity\Artist; +use ApiSkeletonsTest\Doctrine\ORM\GraphQL\TestCase; use Doctrine\ORM\QueryBuilder; use GraphQL\GraphQL; use GraphQL\Type\Definition\ObjectType; use GraphQL\Type\Schema; use League\Event\EventDispatcher; -class CustomEventNameTest extends AbstractTest +class CustomEventNameTest extends TestCase { public function testEvent(): void { diff --git a/test/Feature/Event/EntityEventNameTest.php b/test/Feature/Event/EntityEventNameTest.php index a3c37d5..2159dcd 100644 --- a/test/Feature/Event/EntityEventNameTest.php +++ b/test/Feature/Event/EntityEventNameTest.php @@ -7,8 +7,8 @@ use ApiSkeletons\Doctrine\ORM\GraphQL\Driver; use ApiSkeletons\Doctrine\ORM\GraphQL\Event\EntityDefinition; use ApiSkeletons\Doctrine\ORM\GraphQL\Event\QueryBuilder; -use ApiSkeletonsTest\Doctrine\ORM\GraphQL\AbstractTest; use ApiSkeletonsTest\Doctrine\ORM\GraphQL\Entity\Artist; +use ApiSkeletonsTest\Doctrine\ORM\GraphQL\TestCase; use GraphQL\GraphQL; use GraphQL\Type\Definition\InputObjectType; use GraphQL\Type\Definition\ObjectType; @@ -23,7 +23,7 @@ /** * This tests custom event names when creating entity types */ -class EntityEventNameTest extends AbstractTest +class EntityEventNameTest extends TestCase { public function testEvent(): void { diff --git a/test/Feature/Event/EntityFilterTest.php b/test/Feature/Event/EntityFilterTest.php index 159a75b..81bda6c 100644 --- a/test/Feature/Event/EntityFilterTest.php +++ b/test/Feature/Event/EntityFilterTest.php @@ -7,8 +7,8 @@ use ApiSkeletons\Doctrine\ORM\GraphQL\Driver; use ApiSkeletons\Doctrine\ORM\GraphQL\Event\EntityDefinition; use ApiSkeletons\Doctrine\ORM\GraphQL\Event\QueryBuilder; -use ApiSkeletonsTest\Doctrine\ORM\GraphQL\AbstractTest; use ApiSkeletonsTest\Doctrine\ORM\GraphQL\Entity\Artist; +use ApiSkeletonsTest\Doctrine\ORM\GraphQL\TestCase; use GraphQL\GraphQL; use GraphQL\Type\Definition\InputObjectType; use GraphQL\Type\Definition\ObjectType; @@ -24,7 +24,7 @@ * This test uses both EventDefinition and QueryBuilderTest to add a new * field to an entity type and filter it. */ -class EntityFilterTest extends AbstractTest +class EntityFilterTest extends TestCase { public function testEvent(): void { diff --git a/test/Feature/Event/EventDefinitionTest.php b/test/Feature/Event/EventDefinitionTest.php index a7e95d5..e7f021e 100644 --- a/test/Feature/Event/EventDefinitionTest.php +++ b/test/Feature/Event/EventDefinitionTest.php @@ -6,8 +6,8 @@ use ApiSkeletons\Doctrine\ORM\GraphQL\Driver; use ApiSkeletons\Doctrine\ORM\GraphQL\Event\EntityDefinition; -use ApiSkeletonsTest\Doctrine\ORM\GraphQL\AbstractTest; use ApiSkeletonsTest\Doctrine\ORM\GraphQL\Entity\Artist; +use ApiSkeletonsTest\Doctrine\ORM\GraphQL\TestCase; use GraphQL\GraphQL; use GraphQL\Type\Definition\ObjectType; use GraphQL\Type\Definition\ResolveInfo; @@ -18,7 +18,7 @@ use function str_replace; use function trim; -class EventDefinitionTest extends AbstractTest +class EventDefinitionTest extends TestCase { public function testEvent(): void { diff --git a/test/Feature/Event/FilterQueryBuilderTest.php b/test/Feature/Event/FilterQueryBuilderTest.php index 37e6372..0f83c20 100644 --- a/test/Feature/Event/FilterQueryBuilderTest.php +++ b/test/Feature/Event/FilterQueryBuilderTest.php @@ -7,15 +7,15 @@ use ApiSkeletons\Doctrine\ORM\GraphQL\Config; use ApiSkeletons\Doctrine\ORM\GraphQL\Driver; use ApiSkeletons\Doctrine\ORM\GraphQL\Event\QueryBuilder as QueryBuilderEvent; -use ApiSkeletonsTest\Doctrine\ORM\GraphQL\AbstractTest; use ApiSkeletonsTest\Doctrine\ORM\GraphQL\Entity\Artist; +use ApiSkeletonsTest\Doctrine\ORM\GraphQL\TestCase; use Doctrine\ORM\QueryBuilder; use GraphQL\GraphQL; use GraphQL\Type\Definition\ObjectType; use GraphQL\Type\Schema; use League\Event\EventDispatcher; -class FilterQueryBuilderTest extends AbstractTest +class FilterQueryBuilderTest extends TestCase { public function testEvent(): void { diff --git a/test/Feature/Event/FilterQueryBuilderWithAdditionalArgsTest.php b/test/Feature/Event/FilterQueryBuilderWithAdditionalArgsTest.php index f818606..f5e8622 100644 --- a/test/Feature/Event/FilterQueryBuilderWithAdditionalArgsTest.php +++ b/test/Feature/Event/FilterQueryBuilderWithAdditionalArgsTest.php @@ -6,8 +6,8 @@ use ApiSkeletons\Doctrine\ORM\GraphQL\Driver; use ApiSkeletons\Doctrine\ORM\GraphQL\Event\QueryBuilder; -use ApiSkeletonsTest\Doctrine\ORM\GraphQL\AbstractTest; use ApiSkeletonsTest\Doctrine\ORM\GraphQL\Entity\Artist; +use ApiSkeletonsTest\Doctrine\ORM\GraphQL\TestCase; use GraphQL\GraphQL; use GraphQL\Type\Definition\ObjectType; use GraphQL\Type\Definition\ResolveInfo; @@ -18,7 +18,7 @@ /** * Use the resolve argument of $args on the FilterQueryBuilder object to filter the query builder */ -class FilterQueryBuilderWithAdditionalArgsTest extends AbstractTest +class FilterQueryBuilderWithAdditionalArgsTest extends TestCase { public function testEvent(): void { diff --git a/test/Feature/Filter/CollectionFiltersTest.php b/test/Feature/Filter/CollectionFiltersTest.php index 1e1ac3a..587cd6a 100644 --- a/test/Feature/Filter/CollectionFiltersTest.php +++ b/test/Feature/Filter/CollectionFiltersTest.php @@ -6,8 +6,8 @@ use ApiSkeletons\Doctrine\ORM\GraphQL\Config; use ApiSkeletons\Doctrine\ORM\GraphQL\Driver; -use ApiSkeletonsTest\Doctrine\ORM\GraphQL\AbstractTest; use ApiSkeletonsTest\Doctrine\ORM\GraphQL\Entity\Artist; +use ApiSkeletonsTest\Doctrine\ORM\GraphQL\TestCase; use GraphQL\GraphQL; use GraphQL\Type\Definition\ObjectType; use GraphQL\Type\Schema; @@ -19,7 +19,7 @@ * * This test exists to test the filters for a collection */ -class CollectionFiltersTest extends AbstractTest +class CollectionFiltersTest extends TestCase { public function testLiteralFilterValues(): void { diff --git a/test/Feature/Filter/ConfigExcludeFiltersTest.php b/test/Feature/Filter/ConfigExcludeFiltersTest.php index 539be2d..8298942 100644 --- a/test/Feature/Filter/ConfigExcludeFiltersTest.php +++ b/test/Feature/Filter/ConfigExcludeFiltersTest.php @@ -7,13 +7,13 @@ use ApiSkeletons\Doctrine\ORM\GraphQL\Config; use ApiSkeletons\Doctrine\ORM\GraphQL\Driver; use ApiSkeletons\Doctrine\ORM\GraphQL\Filter\Filters; -use ApiSkeletonsTest\Doctrine\ORM\GraphQL\AbstractTest; use ApiSkeletonsTest\Doctrine\ORM\GraphQL\Entity\Artist; +use ApiSkeletonsTest\Doctrine\ORM\GraphQL\TestCase; use GraphQL\GraphQL; use GraphQL\Type\Definition\ObjectType; use GraphQL\Type\Schema; -class ConfigExcludeFiltersTest extends AbstractTest +class ConfigExcludeFiltersTest extends TestCase { public function testConfigExcludeFilters(): void { diff --git a/test/Feature/Filter/ExcludeFiltersTest.php b/test/Feature/Filter/ExcludeFiltersTest.php index dd21176..cf53256 100644 --- a/test/Feature/Filter/ExcludeFiltersTest.php +++ b/test/Feature/Filter/ExcludeFiltersTest.php @@ -6,13 +6,13 @@ use ApiSkeletons\Doctrine\ORM\GraphQL\Config; use ApiSkeletons\Doctrine\ORM\GraphQL\Driver; -use ApiSkeletonsTest\Doctrine\ORM\GraphQL\AbstractTest; use ApiSkeletonsTest\Doctrine\ORM\GraphQL\Entity\Artist; +use ApiSkeletonsTest\Doctrine\ORM\GraphQL\TestCase; use GraphQL\GraphQL; use GraphQL\Type\Definition\ObjectType; use GraphQL\Type\Schema; -class ExcludeFiltersTest extends AbstractTest +class ExcludeFiltersTest extends TestCase { public function testExcludeCriteria(): void { diff --git a/test/Feature/Filter/FilterFactoryTest.php b/test/Feature/Filter/FilterFactoryTest.php index db3de71..0a5fa6b 100644 --- a/test/Feature/Filter/FilterFactoryTest.php +++ b/test/Feature/Filter/FilterFactoryTest.php @@ -6,10 +6,10 @@ use ApiSkeletons\Doctrine\ORM\GraphQL\Config; use ApiSkeletons\Doctrine\ORM\GraphQL\Driver; -use ApiSkeletonsTest\Doctrine\ORM\GraphQL\AbstractTest; use ApiSkeletonsTest\Doctrine\ORM\GraphQL\Entity\Artist; +use ApiSkeletonsTest\Doctrine\ORM\GraphQL\TestCase; -class FilterFactoryTest extends AbstractTest +class FilterFactoryTest extends TestCase { public function testExcludeFilters(): void { diff --git a/test/Feature/Filter/FiltersTypeCollisionTest.php b/test/Feature/Filter/FiltersTypeCollisionTest.php index b965053..1c68df8 100644 --- a/test/Feature/Filter/FiltersTypeCollisionTest.php +++ b/test/Feature/Filter/FiltersTypeCollisionTest.php @@ -7,13 +7,13 @@ use ApiSkeletons\Doctrine\ORM\GraphQL\Config; use ApiSkeletons\Doctrine\ORM\GraphQL\Driver; use ApiSkeletons\Doctrine\ORM\GraphQL\Type\TypeContainer; -use ApiSkeletonsTest\Doctrine\ORM\GraphQL\AbstractTest; use ApiSkeletonsTest\Doctrine\ORM\GraphQL\Entity\Performance; +use ApiSkeletonsTest\Doctrine\ORM\GraphQL\TestCase; use GraphQL\GraphQL; use GraphQL\Type\Definition\ObjectType; use GraphQL\Type\Schema; -class FiltersTypeCollisionTest extends AbstractTest +class FiltersTypeCollisionTest extends TestCase { public function testFiltersTypeCollision(): void { diff --git a/test/Feature/Filter/IncludeExcludeFiltersTest.php b/test/Feature/Filter/IncludeExcludeFiltersTest.php index 4fe21a6..653e353 100644 --- a/test/Feature/Filter/IncludeExcludeFiltersTest.php +++ b/test/Feature/Filter/IncludeExcludeFiltersTest.php @@ -6,13 +6,13 @@ use ApiSkeletons\Doctrine\ORM\GraphQL\Config; use ApiSkeletons\Doctrine\ORM\GraphQL\Driver; -use ApiSkeletonsTest\Doctrine\ORM\GraphQL\AbstractTest; use ApiSkeletonsTest\Doctrine\ORM\GraphQL\Entity\Performance; +use ApiSkeletonsTest\Doctrine\ORM\GraphQL\TestCase; use GraphQL\Type\Definition\ObjectType; use GraphQL\Type\Schema; use Throwable; -class IncludeExcludeFiltersTest extends AbstractTest +class IncludeExcludeFiltersTest extends TestCase { public function testIncludeExcludeFilters(): void { diff --git a/test/Feature/Filter/IncludeFiltersTest.php b/test/Feature/Filter/IncludeFiltersTest.php index 831be16..86c4b17 100644 --- a/test/Feature/Filter/IncludeFiltersTest.php +++ b/test/Feature/Filter/IncludeFiltersTest.php @@ -6,13 +6,13 @@ use ApiSkeletons\Doctrine\ORM\GraphQL\Config; use ApiSkeletons\Doctrine\ORM\GraphQL\Driver; -use ApiSkeletonsTest\Doctrine\ORM\GraphQL\AbstractTest; use ApiSkeletonsTest\Doctrine\ORM\GraphQL\Entity\Performance; +use ApiSkeletonsTest\Doctrine\ORM\GraphQL\TestCase; use GraphQL\GraphQL; use GraphQL\Type\Definition\ObjectType; use GraphQL\Type\Schema; -class IncludeFiltersTest extends AbstractTest +class IncludeFiltersTest extends TestCase { public function testIncludeFilters(): void { diff --git a/test/Feature/Hydrator/DataTypesTest.php b/test/Feature/Hydrator/DataTypesTest.php index b556fa8..2e3bedd 100644 --- a/test/Feature/Hydrator/DataTypesTest.php +++ b/test/Feature/Hydrator/DataTypesTest.php @@ -6,15 +6,15 @@ use ApiSkeletons\Doctrine\ORM\GraphQL\Config; use ApiSkeletons\Doctrine\ORM\GraphQL\Driver; -use ApiSkeletonsTest\Doctrine\ORM\GraphQL\AbstractTest; use ApiSkeletonsTest\Doctrine\ORM\GraphQL\Entity\TypeTest; +use ApiSkeletonsTest\Doctrine\ORM\GraphQL\TestCase; use GraphQL\GraphQL; use GraphQL\Type\Definition\ObjectType; use GraphQL\Type\Schema; use function count; -class DataTypesTest extends AbstractTest +class DataTypesTest extends TestCase { public function testDataTypes(): void { diff --git a/test/Feature/Hydrator/ExtractionMapTest.php b/test/Feature/Hydrator/ExtractionMapTest.php index a89354d..38f6ee2 100644 --- a/test/Feature/Hydrator/ExtractionMapTest.php +++ b/test/Feature/Hydrator/ExtractionMapTest.php @@ -7,8 +7,8 @@ use ApiSkeletons\Doctrine\ORM\GraphQL\Config; use ApiSkeletons\Doctrine\ORM\GraphQL\Driver; use ApiSkeletons\Doctrine\ORM\GraphQL\Type\Entity\EntityTypeContainer; -use ApiSkeletonsTest\Doctrine\ORM\GraphQL\AbstractTest; use ApiSkeletonsTest\Doctrine\ORM\GraphQL\Entity\Artist; +use ApiSkeletonsTest\Doctrine\ORM\GraphQL\TestCase; use GraphQL\GraphQL; use GraphQL\Type\Definition\ObjectType; use GraphQL\Type\Schema; @@ -20,7 +20,7 @@ /** * This test uses aliases for fields and associations */ -class ExtractionMapTest extends AbstractTest +class ExtractionMapTest extends TestCase { public function testExtractionMap(): void { diff --git a/test/Feature/Input/InputFactoryTest.php b/test/Feature/Input/InputFactoryTest.php index 156f954..f05bb99 100644 --- a/test/Feature/Input/InputFactoryTest.php +++ b/test/Feature/Input/InputFactoryTest.php @@ -6,8 +6,8 @@ use ApiSkeletons\Doctrine\ORM\GraphQL\Config; use ApiSkeletons\Doctrine\ORM\GraphQL\Driver; -use ApiSkeletonsTest\Doctrine\ORM\GraphQL\AbstractTest; use ApiSkeletonsTest\Doctrine\ORM\GraphQL\Entity\User; +use ApiSkeletonsTest\Doctrine\ORM\GraphQL\TestCase; use Doctrine\ORM\EntityManager; use GraphQL\GraphQL; use GraphQL\Type\Definition\ObjectType; @@ -15,7 +15,7 @@ use GraphQL\Type\Schema; use Throwable; -class InputFactoryTest extends AbstractTest +class InputFactoryTest extends TestCase { /** * TypeNames for inputs was EntityType_Input but that has been changed to diff --git a/test/Feature/Metadata/CachingTest.php b/test/Feature/Metadata/CachingTest.php index bedbd6b..0561ac8 100644 --- a/test/Feature/Metadata/CachingTest.php +++ b/test/Feature/Metadata/CachingTest.php @@ -8,12 +8,12 @@ use ApiSkeletons\Doctrine\ORM\GraphQL\Driver; use ApiSkeletons\Doctrine\ORM\GraphQL\Type\Entity\Entity; use ApiSkeletons\Doctrine\ORM\GraphQL\Type\Entity\EntityTypeContainer; -use ApiSkeletonsTest\Doctrine\ORM\GraphQL\AbstractTest; use ApiSkeletonsTest\Doctrine\ORM\GraphQL\Entity\Artist; use ApiSkeletonsTest\Doctrine\ORM\GraphQL\Entity\User; +use ApiSkeletonsTest\Doctrine\ORM\GraphQL\TestCase; use GraphQL\Error\Error; -class CachingTest extends AbstractTest +class CachingTest extends TestCase { public function testCacheMetadata(): void { diff --git a/test/Feature/Metadata/DuplicateGroupTest.php b/test/Feature/Metadata/DuplicateGroupTest.php index 666fad4..fdd73bc 100644 --- a/test/Feature/Metadata/DuplicateGroupTest.php +++ b/test/Feature/Metadata/DuplicateGroupTest.php @@ -6,10 +6,10 @@ use ApiSkeletons\Doctrine\ORM\GraphQL\Config; use ApiSkeletons\Doctrine\ORM\GraphQL\Driver; -use ApiSkeletonsTest\Doctrine\ORM\GraphQL\AbstractTest; +use ApiSkeletonsTest\Doctrine\ORM\GraphQL\TestCase; use AssertionError; -class DuplicateGroupTest extends AbstractTest +class DuplicateGroupTest extends TestCase { public function testDuplicateEntityAttributeForGroup(): void { diff --git a/test/Feature/Metadata/FieldStrategyTest.php b/test/Feature/Metadata/FieldStrategyTest.php index 9520459..2304f76 100644 --- a/test/Feature/Metadata/FieldStrategyTest.php +++ b/test/Feature/Metadata/FieldStrategyTest.php @@ -6,13 +6,13 @@ use ApiSkeletons\Doctrine\ORM\GraphQL\Config; use ApiSkeletons\Doctrine\ORM\GraphQL\Driver; -use ApiSkeletonsTest\Doctrine\ORM\GraphQL\AbstractTest; use ApiSkeletonsTest\Doctrine\ORM\GraphQL\Entity\User; +use ApiSkeletonsTest\Doctrine\ORM\GraphQL\TestCase; use GraphQL\GraphQL; use GraphQL\Type\Definition\ObjectType; use GraphQL\Type\Schema; -class FieldStrategyTest extends AbstractTest +class FieldStrategyTest extends TestCase { public function testCustomFieldStrategy(): void { diff --git a/test/Feature/Metadata/GlobalByValueTest.php b/test/Feature/Metadata/GlobalByValueTest.php index 64cdd3b..697f8bf 100644 --- a/test/Feature/Metadata/GlobalByValueTest.php +++ b/test/Feature/Metadata/GlobalByValueTest.php @@ -6,13 +6,13 @@ use ApiSkeletons\Doctrine\ORM\GraphQL\Config; use ApiSkeletons\Doctrine\ORM\GraphQL\Driver; -use ApiSkeletonsTest\Doctrine\ORM\GraphQL\AbstractTest; use ApiSkeletonsTest\Doctrine\ORM\GraphQL\Entity\Artist; +use ApiSkeletonsTest\Doctrine\ORM\GraphQL\TestCase; use GraphQL\GraphQL; use GraphQL\Type\Definition\ObjectType; use GraphQL\Type\Schema; -class GlobalByValueTest extends AbstractTest +class GlobalByValueTest extends TestCase { public function testGlobalByValueGlobalEnableFalse(): void { diff --git a/test/Feature/Metadata/GlobalEnableTest.php b/test/Feature/Metadata/GlobalEnableTest.php index 435594d..bf86049 100644 --- a/test/Feature/Metadata/GlobalEnableTest.php +++ b/test/Feature/Metadata/GlobalEnableTest.php @@ -6,13 +6,13 @@ use ApiSkeletons\Doctrine\ORM\GraphQL\Config; use ApiSkeletons\Doctrine\ORM\GraphQL\Driver; -use ApiSkeletonsTest\Doctrine\ORM\GraphQL\AbstractTest; use ApiSkeletonsTest\Doctrine\ORM\GraphQL\Entity\Artist; +use ApiSkeletonsTest\Doctrine\ORM\GraphQL\TestCase; use GraphQL\GraphQL; use GraphQL\Type\Definition\ObjectType; use GraphQL\Type\Schema; -class GlobalEnableTest extends AbstractTest +class GlobalEnableTest extends TestCase { public function testGlobalEnable(): void { diff --git a/test/Feature/Metadata/LimitTest.php b/test/Feature/Metadata/LimitTest.php index c9687e9..660abec 100644 --- a/test/Feature/Metadata/LimitTest.php +++ b/test/Feature/Metadata/LimitTest.php @@ -6,16 +6,16 @@ use ApiSkeletons\Doctrine\ORM\GraphQL\Config; use ApiSkeletons\Doctrine\ORM\GraphQL\Driver; -use ApiSkeletonsTest\Doctrine\ORM\GraphQL\AbstractTest; use ApiSkeletonsTest\Doctrine\ORM\GraphQL\Entity\Artist; use ApiSkeletonsTest\Doctrine\ORM\GraphQL\Entity\Performance; +use ApiSkeletonsTest\Doctrine\ORM\GraphQL\TestCase; use GraphQL\GraphQL; use GraphQL\Type\Definition\ObjectType; use GraphQL\Type\Schema; use function count; -class LimitTest extends AbstractTest +class LimitTest extends TestCase { public function testEntityLimit(): void { diff --git a/test/Feature/Metadata/TypeNameTest.php b/test/Feature/Metadata/TypeNameTest.php index 5d320fd..2b7a68c 100644 --- a/test/Feature/Metadata/TypeNameTest.php +++ b/test/Feature/Metadata/TypeNameTest.php @@ -7,13 +7,13 @@ use ApiSkeletons\Doctrine\ORM\GraphQL\Config; use ApiSkeletons\Doctrine\ORM\GraphQL\Driver; use ApiSkeletons\Doctrine\ORM\GraphQL\Type\Entity\EntityTypeContainer; -use ApiSkeletonsTest\Doctrine\ORM\GraphQL\AbstractTest; use ApiSkeletonsTest\Doctrine\ORM\GraphQL\Entity\Artist; +use ApiSkeletonsTest\Doctrine\ORM\GraphQL\TestCase; use GraphQL\GraphQL; use GraphQL\Type\Definition\ObjectType; use GraphQL\Type\Schema; -class TypeNameTest extends AbstractTest +class TypeNameTest extends TestCase { public function testGroupSuffix(): void { diff --git a/test/Feature/Resolve/AttributeLimitTest.php b/test/Feature/Resolve/AttributeLimitTest.php index 14abaae..4b41398 100644 --- a/test/Feature/Resolve/AttributeLimitTest.php +++ b/test/Feature/Resolve/AttributeLimitTest.php @@ -6,15 +6,15 @@ use ApiSkeletons\Doctrine\ORM\GraphQL\Config; use ApiSkeletons\Doctrine\ORM\GraphQL\Driver; -use ApiSkeletonsTest\Doctrine\ORM\GraphQL\AbstractTest; use ApiSkeletonsTest\Doctrine\ORM\GraphQL\Entity\Artist; +use ApiSkeletonsTest\Doctrine\ORM\GraphQL\TestCase; use GraphQL\GraphQL; use GraphQL\Type\Definition\ObjectType; use GraphQL\Type\Schema; use function count; -class AttributeLimitTest extends AbstractTest +class AttributeLimitTest extends TestCase { public function testLimit(): void { diff --git a/test/Feature/Resolve/CollectionFilterTest.php b/test/Feature/Resolve/CollectionFilterTest.php index ef95d61..7ba8a91 100644 --- a/test/Feature/Resolve/CollectionFilterTest.php +++ b/test/Feature/Resolve/CollectionFilterTest.php @@ -5,8 +5,8 @@ namespace ApiSkeletonsTest\Doctrine\ORM\GraphQL\Feature\Resolve; use ApiSkeletons\Doctrine\ORM\GraphQL\Driver; -use ApiSkeletonsTest\Doctrine\ORM\GraphQL\AbstractTest; use ApiSkeletonsTest\Doctrine\ORM\GraphQL\Entity\Artist; +use ApiSkeletonsTest\Doctrine\ORM\GraphQL\TestCase; use GraphQL\GraphQL; use GraphQL\Type\Definition\ObjectType; use GraphQL\Type\Schema; @@ -14,7 +14,7 @@ use function base64_encode; use function count; -class CollectionFilterTest extends AbstractTest +class CollectionFilterTest extends TestCase { protected Schema $schema; diff --git a/test/Feature/Resolve/EntityFilterTest.php b/test/Feature/Resolve/EntityFilterTest.php index f93c1e4..d576603 100644 --- a/test/Feature/Resolve/EntityFilterTest.php +++ b/test/Feature/Resolve/EntityFilterTest.php @@ -5,51 +5,53 @@ namespace ApiSkeletonsTest\Doctrine\ORM\GraphQL\Feature\Resolve; use ApiSkeletons\Doctrine\ORM\GraphQL\Driver; -use ApiSkeletonsTest\Doctrine\ORM\GraphQL\AbstractTest; use ApiSkeletonsTest\Doctrine\ORM\GraphQL\Entity\Performance; +use ApiSkeletonsTest\Doctrine\ORM\GraphQL\TestCase; use GraphQL\GraphQL; use GraphQL\Type\Definition\ObjectType; use GraphQL\Type\Schema; +use PHPUnit\Framework\Attributes\DataProvider; use function count; -class EntityFilterTest extends AbstractTest +class EntityFilterTest extends TestCase { /** @var Schema[] */ private array $schemas = []; /** @return Schema[] */ - public function schemaProvider(): array + public static function schemaProvider(): array { - parent::setUp(); - - $schemas = []; - - $driver = new Driver($this->getEntityManager()); - $schemas[] = [ - new Schema([ - 'query' => new ObjectType([ - 'name' => 'query', - 'fields' => [ - 'performance' => [ - 'type' => $driver->connection(Performance::class), - 'args' => [ - 'filter' => $driver->filter(Performance::class), - 'pagination' => $driver->pagination(), + return [ + 'dynamic case' => [ + static function () { + $driver = new Driver(self::$entityManager); + + return new Schema([ + 'query' => new ObjectType([ + 'name' => 'query', + 'fields' => [ + 'performance' => [ + 'type' => $driver->connection(Performance::class), + 'args' => [ + 'filter' => $driver->filter(Performance::class), + 'pagination' => $driver->pagination(), + ], + 'resolve' => $driver->resolve(Performance::class), + ], ], - 'resolve' => $driver->resolve(Performance::class), - ], - ], - ]), - ]), + ]), + ]); + }, + ], ]; - - return $schemas; } - /** @dataProvider schemaProvider */ - public function testeq(Schema $schema): void + #[DataProvider('schemaProvider')] + public function testeq(callable $dataProvider): void { + $schema = $dataProvider(); + $query = '{ performance ( filter: {id: { eq: 2 } } ) { edges { node { id } } } }'; $result = GraphQL::executeQuery($schema, $query); @@ -59,9 +61,11 @@ public function testeq(Schema $schema): void $this->assertEquals(2, $data['performance']['edges'][0]['node']['id']); } - /** @dataProvider schemaProvider */ - public function testneq(Schema $schema): void + #[DataProvider('schemaProvider')] + public function testneq(callable $dataProvider): void { + $schema = $dataProvider(); + $query = '{ performance ( filter: {artist: { eq: 1 } id: { neq: 2 } } ) { edges { node { id } } } }'; $result = GraphQL::executeQuery($schema, $query); @@ -71,9 +75,11 @@ public function testneq(Schema $schema): void $this->assertEquals(1, $data['performance']['edges'][0]['node']['id']); } - /** @dataProvider schemaProvider */ - public function testlt(Schema $schema): void + #[DataProvider('schemaProvider')] + public function testlt(callable $dataProvider): void { + $schema = $dataProvider(); + $query = '{ performance ( filter: { artist: { eq: 1 } id: { lt: 2 } } ) { edges { node { id } } } }'; $result = GraphQL::executeQuery($schema, $query); @@ -83,9 +89,11 @@ public function testlt(Schema $schema): void $this->assertEquals(1, $data['performance']['edges'][0]['node']['id']); } - /** @dataProvider schemaProvider */ - public function testlte(Schema $schema): void + #[DataProvider('schemaProvider')] + public function testlte(callable $dataProvider): void { + $schema = $dataProvider(); + $query = '{ performance ( filter: { artist: { eq: 1 } id: { lte: 2 } } ) { edges { node { id } } } }'; $result = GraphQL::executeQuery($schema, $query); @@ -95,9 +103,11 @@ public function testlte(Schema $schema): void $this->assertEquals(1, $data['performance']['edges'][0]['node']['id']); } - /** @dataProvider schemaProvider */ - public function testgt(Schema $schema): void + #[DataProvider('schemaProvider')] + public function testgt(callable $dataProvider): void { + $schema = $dataProvider(); + $query = '{ performance ( filter: { artist: { eq: 1 } id: { gt: 2 } } ) { edges { node { id } } } }'; $result = GraphQL::executeQuery($schema, $query); @@ -107,9 +117,11 @@ public function testgt(Schema $schema): void $this->assertEquals(3, $data['performance']['edges'][0]['node']['id']); } - /** @dataProvider schemaProvider */ - public function testgte(Schema $schema): void + #[DataProvider('schemaProvider')] + public function testgte(callable $dataProvider): void { + $schema = $dataProvider(); + $query = '{ performance ( filter: {artist: { eq: 1 } id: { gte: 2 } } ) { edges { node { id } } } }'; $result = GraphQL::executeQuery($schema, $query); @@ -119,9 +131,11 @@ public function testgte(Schema $schema): void $this->assertEquals(2, $data['performance']['edges'][0]['node']['id']); } - /** @dataProvider schemaProvider */ - public function testisnull(Schema $schema): void + #[DataProvider('schemaProvider')] + public function testisnull(callable $dataProvider): void { + $schema = $dataProvider(); + $query = '{ performance ( filter: {artist: { eq: 1 } venue: { isnull: true } } ) { edges { node { id } } } }'; $result = GraphQL::executeQuery($schema, $query); @@ -131,9 +145,11 @@ public function testisnull(Schema $schema): void $this->assertEquals(5, $data['performance']['edges'][0]['node']['id']); } - /** @dataProvider schemaProvider */ - public function testisnotnull(Schema $schema): void + #[DataProvider('schemaProvider')] + public function testisnotnull(callable $dataProvider): void { + $schema = $dataProvider(); + $query = '{ performance ( filter: {artist: { eq: 1 } venue: { isnull: false } } ) { edges { node { id } } } }'; $result = GraphQL::executeQuery($schema, $query); @@ -143,9 +159,11 @@ public function testisnotnull(Schema $schema): void $this->assertEquals(1, $data['performance']['edges'][0]['node']['id']); } - /** @dataProvider schemaProvider */ - public function testbetween(Schema $schema): void + #[DataProvider('schemaProvider')] + public function testbetween(callable $dataProvider): void { + $schema = $dataProvider(); + $query = ' query DateTimeBetweenTest ($from: DateTime!, $to: DateTime!) { @@ -193,9 +211,11 @@ public function testbetween(Schema $schema): void $this->assertEquals(2, $data['performance']['edges'][0]['node']['id']); } - /** @dataProvider schemaProvider */ - public function testcontains(Schema $schema): void + #[DataProvider('schemaProvider')] + public function testcontains(callable $dataProvider): void { + $schema = $dataProvider(); + $query = '{ performance ( filter: { artist: { eq: 1 } venue: { contains: "ill" } } ) { edges { node { id } } } }'; $result = GraphQL::executeQuery($schema, $query); @@ -205,9 +225,11 @@ public function testcontains(Schema $schema): void $this->assertEquals(2, $data['performance']['edges'][0]['node']['id']); } - /** @dataProvider schemaProvider */ - public function teststartswith(Schema $schema): void + #[DataProvider('schemaProvider')] + public function teststartswith(callable $dataProvider): void { + $schema = $dataProvider(); + $query = '{ performance ( filter: {artist: { eq: 1 } venue: { startswith: "Soldier" } } ) { edges { node { id } } } }'; $result = GraphQL::executeQuery($schema, $query); @@ -217,9 +239,11 @@ public function teststartswith(Schema $schema): void $this->assertEquals(4, $data['performance']['edges'][0]['node']['id']); } - /** @dataProvider schemaProvider */ - public function testendswith(Schema $schema): void + #[DataProvider('schemaProvider')] + public function testendswith(callable $dataProvider): void { + $schema = $dataProvider(); + $query = '{ performance ( filter: {artist: { eq: 1 } venue: { endswith: "University" } } ) { edges { node { id } } } }'; $result = GraphQL::executeQuery($schema, $query); @@ -229,9 +253,11 @@ public function testendswith(Schema $schema): void $this->assertEquals(3, $data['performance']['edges'][0]['node']['id']); } - /** @dataProvider schemaProvider */ - public function testin(Schema $schema): void + #[DataProvider('schemaProvider')] + public function testin(callable $dataProvider): void { + $schema = $dataProvider(); + $query = '{ performance ( filter: {artist: { eq: 1 } id: { in: [1,2,3] } } ) { edges { node { id } } } }'; $result = GraphQL::executeQuery($schema, $query); @@ -241,9 +267,11 @@ public function testin(Schema $schema): void $this->assertEquals(1, $data['performance']['edges'][0]['node']['id']); } - /** @dataProvider schemaProvider */ - public function testnotin(Schema $schema): void + #[DataProvider('schemaProvider')] + public function testnotin(callable $dataProvider): void { + $schema = $dataProvider(); + $query = '{ performance ( filter: {artist: { eq: 1 } id: { notin: [3,4] } } ) { edges { node { id } } } }'; $result = GraphQL::executeQuery($schema, $query); @@ -253,9 +281,11 @@ public function testnotin(Schema $schema): void $this->assertEquals(1, $data['performance']['edges'][0]['node']['id']); } - /** @dataProvider schemaProvider */ - public function testsort(Schema $schema): void + #[DataProvider('schemaProvider')] + public function testsort(callable $dataProvider): void { + $schema = $dataProvider(); + $query = '{ performance ( filter: {artist: { eq: 1 } id: { sort: "desc" sortPriority: 1 } } ) { edges { node { id } } } }'; $result = GraphQL::executeQuery($schema, $query); @@ -281,9 +311,11 @@ public function testsort(Schema $schema): void $this->assertEquals(4, $data['performance']['edges'][0]['node']['id']); } - /** @dataProvider schemaProvider */ - public function testSortPriority(Schema $schema): void + #[DataProvider('schemaProvider')] + public function testSortPriority(callable $dataProvider): void { + $schema = $dataProvider(); + $query = ' { performance ( @@ -351,9 +383,11 @@ public function testSortPriority(Schema $schema): void $this->assertEquals(6, $data['performance']['edges'][0]['node']['id']); } - /** @dataProvider schemaProvider */ - public function testSortPriorityNoPriorityOneField(Schema $schema): void + #[DataProvider('schemaProvider')] + public function testSortPriorityNoPriorityOneField(callable $dataProvider): void { + $schema = $dataProvider(); + /** * This tests deprecation of not setting sortPriority when sort is set */ @@ -385,9 +419,11 @@ public function testSortPriorityNoPriorityOneField(Schema $schema): void $this->assertEquals(7, $data['performance']['edges'][0]['node']['id']); } - /** @dataProvider schemaProvider */ - public function testSortPriorityNoPriorityTwoFields(Schema $schema): void + #[DataProvider('schemaProvider')] + public function testSortPriorityNoPriorityTwoFields(callable $dataProvider): void { + $schema = $dataProvider(); + $query = ' { performance ( @@ -420,9 +456,11 @@ public function testSortPriorityNoPriorityTwoFields(Schema $schema): void $this->assertEquals(8, $data['performance']['edges'][0]['node']['id']); } - /** @dataProvider schemaProvider */ - public function testSortPriorityNoSort(Schema $schema): void + #[DataProvider('schemaProvider')] + public function testSortPriorityNoSort(callable $dataProvider): void { + $schema = $dataProvider(); + $query = ' { performance ( diff --git a/test/Feature/Resolve/ProxyTest.php b/test/Feature/Resolve/ProxyTest.php index 981fdf0..97cdf2f 100644 --- a/test/Feature/Resolve/ProxyTest.php +++ b/test/Feature/Resolve/ProxyTest.php @@ -5,47 +5,48 @@ namespace ApiSkeletonsTest\Doctrine\ORM\GraphQL\Feature\Resolve; use ApiSkeletons\Doctrine\ORM\GraphQL\Driver; -use ApiSkeletonsTest\Doctrine\ORM\GraphQL\AbstractTest; use ApiSkeletonsTest\Doctrine\ORM\GraphQL\Entity\Performance; +use ApiSkeletonsTest\Doctrine\ORM\GraphQL\TestCase; use GraphQL\GraphQL; use GraphQL\Type\Definition\ObjectType; use GraphQL\Type\Schema; +use PHPUnit\Framework\Attributes\DataProvider; -class ProxyTest extends AbstractTest +class ProxyTest extends TestCase { /** @var Schema[] */ private array $schemas = []; /** @return Schema[] */ - public function schemaProvider(): array + public static function schemaProvider(): array { - parent::setUp(); - - $schemas = []; - - $driver = new Driver($this->getEntityManager()); - $schemas[] = [ - new Schema([ - 'query' => new ObjectType([ - 'name' => 'query', - 'fields' => [ - 'performances' => $driver->completeConnection(Performance::class), - ], - ]), - ]), + return [ + 'dynamic case' => [ + static function () { + $driver = new Driver(self::$entityManager); + + return new Schema([ + 'query' => new ObjectType([ + 'name' => 'query', + 'fields' => [ + 'performances' => $driver->completeConnection(Performance::class), + ], + ]), + ]); + }, + ], ]; - - return $schemas; } /** * A proxy object is used for the artist data from the query builder performances. * This test assures that the proxy object is properly hydrated. - * - * @dataProvider schemaProvider */ - public function testProxyObject(Schema $schema): void + #[DataProvider('schemaProvider')] + public function testProxyObject(callable $dataProvider): void { + $schema = $dataProvider(); + $query = '{ performances ( filter: {id: { eq: 1 } } ) { edges { node { id artist { id name } } } } }'; $result = GraphQL::executeQuery($schema, $query); diff --git a/test/Feature/Type/BetweenTest.php b/test/Feature/Type/BetweenTest.php index 0cbd094..80a5e52 100644 --- a/test/Feature/Type/BetweenTest.php +++ b/test/Feature/Type/BetweenTest.php @@ -6,12 +6,12 @@ use ApiSkeletons\Doctrine\ORM\GraphQL\Config; use ApiSkeletons\Doctrine\ORM\GraphQL\Driver; -use ApiSkeletonsTest\Doctrine\ORM\GraphQL\AbstractTest; use ApiSkeletonsTest\Doctrine\ORM\GraphQL\Entity\TypeTest; +use ApiSkeletonsTest\Doctrine\ORM\GraphQL\TestCase; use GraphQL\Type\Definition\ObjectType; use GraphQL\Type\Schema; -class BetweenTest extends AbstractTest +class BetweenTest extends TestCase { public function testTwoFilterSetsEachWithBetweenButDifferentOtherwiseFetchesBetweenFromTypeContainer(): void { diff --git a/test/Feature/Type/BlobTest.php b/test/Feature/Type/BlobTest.php index 8eb355f..3b7a1ad 100644 --- a/test/Feature/Type/BlobTest.php +++ b/test/Feature/Type/BlobTest.php @@ -7,8 +7,8 @@ use ApiSkeletons\Doctrine\ORM\GraphQL\Config; use ApiSkeletons\Doctrine\ORM\GraphQL\Driver; use ApiSkeletons\Doctrine\ORM\GraphQL\Type\Blob; -use ApiSkeletonsTest\Doctrine\ORM\GraphQL\AbstractTest; use ApiSkeletonsTest\Doctrine\ORM\GraphQL\Entity\TypeTest; +use ApiSkeletonsTest\Doctrine\ORM\GraphQL\TestCase; use Doctrine\ORM\EntityManager; use GraphQL\Error\Error; use GraphQL\GraphQL; @@ -22,7 +22,7 @@ use function count; use function file_get_contents; -class BlobTest extends AbstractTest +class BlobTest extends TestCase { public function testParseValue(): void { diff --git a/test/Feature/Type/CustomTypeTest.php b/test/Feature/Type/CustomTypeTest.php index 0edf490..961d4ab 100644 --- a/test/Feature/Type/CustomTypeTest.php +++ b/test/Feature/Type/CustomTypeTest.php @@ -8,9 +8,9 @@ use ApiSkeletons\Doctrine\ORM\GraphQL\Driver; use ApiSkeletons\Doctrine\ORM\GraphQL\Hydrator\HydratorContainer; use ApiSkeletons\Doctrine\ORM\GraphQL\Type\TypeContainer; -use ApiSkeletonsTest\Doctrine\ORM\GraphQL\AbstractTest; use ApiSkeletonsTest\Doctrine\ORM\GraphQL\Entity\TypeTest; use ApiSkeletonsTest\Doctrine\ORM\GraphQL\Hydrator\Strategy\CsvString; +use ApiSkeletonsTest\Doctrine\ORM\GraphQL\TestCase; use GraphQL\GraphQL; use GraphQL\Type\Definition\ObjectType; use GraphQL\Type\Definition\Type; @@ -18,7 +18,7 @@ use function is_string; -class CustomTypeTest extends AbstractTest +class CustomTypeTest extends TestCase { public function testCustomFieldType(): void { diff --git a/test/Feature/Type/DateImmutableTest.php b/test/Feature/Type/DateImmutableTest.php index 15631cf..8fe8f1b 100644 --- a/test/Feature/Type/DateImmutableTest.php +++ b/test/Feature/Type/DateImmutableTest.php @@ -7,8 +7,8 @@ use ApiSkeletons\Doctrine\ORM\GraphQL\Config; use ApiSkeletons\Doctrine\ORM\GraphQL\Driver; use ApiSkeletons\Doctrine\ORM\GraphQL\Type\DateImmutable; -use ApiSkeletonsTest\Doctrine\ORM\GraphQL\AbstractTest; use ApiSkeletonsTest\Doctrine\ORM\GraphQL\Entity\TypeTest; +use ApiSkeletonsTest\Doctrine\ORM\GraphQL\TestCase; use DateTime as PHPDateTime; use GraphQL\Error\Error; use GraphQL\GraphQL; @@ -17,7 +17,7 @@ use function count; -class DateImmutableTest extends AbstractTest +class DateImmutableTest extends TestCase { public function testParseValue(): void { diff --git a/test/Feature/Type/DateTest.php b/test/Feature/Type/DateTest.php index 0ca1d1c..5dfb34c 100644 --- a/test/Feature/Type/DateTest.php +++ b/test/Feature/Type/DateTest.php @@ -8,8 +8,8 @@ use ApiSkeletons\Doctrine\ORM\GraphQL\Driver; use ApiSkeletons\Doctrine\ORM\GraphQL\Type\Date; use ApiSkeletons\Doctrine\ORM\GraphQL\Type\DateTimeImmutable; -use ApiSkeletonsTest\Doctrine\ORM\GraphQL\AbstractTest; use ApiSkeletonsTest\Doctrine\ORM\GraphQL\Entity\TypeTest; +use ApiSkeletonsTest\Doctrine\ORM\GraphQL\TestCase; use DateTime as PHPDateTime; use GraphQL\Error\Error; use GraphQL\GraphQL; @@ -18,7 +18,7 @@ use function count; -class DateTest extends AbstractTest +class DateTest extends TestCase { public function testParseValue(): void { diff --git a/test/Feature/Type/DateTimeImmutableTest.php b/test/Feature/Type/DateTimeImmutableTest.php index c846377..f08dea1 100644 --- a/test/Feature/Type/DateTimeImmutableTest.php +++ b/test/Feature/Type/DateTimeImmutableTest.php @@ -7,8 +7,8 @@ use ApiSkeletons\Doctrine\ORM\GraphQL\Config; use ApiSkeletons\Doctrine\ORM\GraphQL\Driver; use ApiSkeletons\Doctrine\ORM\GraphQL\Type\DateTimeImmutable; -use ApiSkeletonsTest\Doctrine\ORM\GraphQL\AbstractTest; use ApiSkeletonsTest\Doctrine\ORM\GraphQL\Entity\TypeTest; +use ApiSkeletonsTest\Doctrine\ORM\GraphQL\TestCase; use DateTime as PHPDateTime; use GraphQL\Error\Error; use GraphQL\GraphQL; @@ -18,7 +18,7 @@ use function count; -class DateTimeImmutableTest extends AbstractTest +class DateTimeImmutableTest extends TestCase { public function testParseValue(): void { diff --git a/test/Feature/Type/DateTimeTZImmutableTest.php b/test/Feature/Type/DateTimeTZImmutableTest.php index b9e7b8b..f2cace8 100644 --- a/test/Feature/Type/DateTimeTZImmutableTest.php +++ b/test/Feature/Type/DateTimeTZImmutableTest.php @@ -7,8 +7,8 @@ use ApiSkeletons\Doctrine\ORM\GraphQL\Config; use ApiSkeletons\Doctrine\ORM\GraphQL\Driver; use ApiSkeletons\Doctrine\ORM\GraphQL\Type\DateTimeTZImmutable as DateTimeType; -use ApiSkeletonsTest\Doctrine\ORM\GraphQL\AbstractTest; use ApiSkeletonsTest\Doctrine\ORM\GraphQL\Entity\TypeTest; +use ApiSkeletonsTest\Doctrine\ORM\GraphQL\TestCase; use DateTime; use GraphQL\Error\Error; use GraphQL\GraphQL; @@ -18,7 +18,7 @@ use function count; -class DateTimeTZImmutableTest extends AbstractTest +class DateTimeTZImmutableTest extends TestCase { public function testParseValue(): void { diff --git a/test/Feature/Type/DateTimeTZTest.php b/test/Feature/Type/DateTimeTZTest.php index 9ab3b0d..5286a59 100644 --- a/test/Feature/Type/DateTimeTZTest.php +++ b/test/Feature/Type/DateTimeTZTest.php @@ -7,8 +7,8 @@ use ApiSkeletons\Doctrine\ORM\GraphQL\Config; use ApiSkeletons\Doctrine\ORM\GraphQL\Driver; use ApiSkeletons\Doctrine\ORM\GraphQL\Type\DateTimeTZ as DateTimeType; -use ApiSkeletonsTest\Doctrine\ORM\GraphQL\AbstractTest; use ApiSkeletonsTest\Doctrine\ORM\GraphQL\Entity\TypeTest; +use ApiSkeletonsTest\Doctrine\ORM\GraphQL\TestCase; use DateTime; use GraphQL\Error\Error; use GraphQL\GraphQL; @@ -16,7 +16,7 @@ use GraphQL\Type\Definition\ObjectType; use GraphQL\Type\Schema; -class DateTimeTZTest extends AbstractTest +class DateTimeTZTest extends TestCase { public function testParseValue(): void { diff --git a/test/Feature/Type/DateTimeTest.php b/test/Feature/Type/DateTimeTest.php index 9fa7da3..fdc48cd 100644 --- a/test/Feature/Type/DateTimeTest.php +++ b/test/Feature/Type/DateTimeTest.php @@ -7,8 +7,8 @@ use ApiSkeletons\Doctrine\ORM\GraphQL\Config; use ApiSkeletons\Doctrine\ORM\GraphQL\Driver; use ApiSkeletons\Doctrine\ORM\GraphQL\Type\DateTime as DateTimeType; -use ApiSkeletonsTest\Doctrine\ORM\GraphQL\AbstractTest; use ApiSkeletonsTest\Doctrine\ORM\GraphQL\Entity\TypeTest; +use ApiSkeletonsTest\Doctrine\ORM\GraphQL\TestCase; use DateTime; use GraphQL\Error\Error; use GraphQL\GraphQL; @@ -18,7 +18,7 @@ use function count; -class DateTimeTest extends AbstractTest +class DateTimeTest extends TestCase { public function testParseValue(): void { diff --git a/test/Feature/Type/EntityTest.php b/test/Feature/Type/EntityTest.php index 56646e9..d01d1f8 100644 --- a/test/Feature/Type/EntityTest.php +++ b/test/Feature/Type/EntityTest.php @@ -12,9 +12,9 @@ use ApiSkeletons\Doctrine\ORM\GraphQL\Hydrator\Strategy\ToInteger; use ApiSkeletons\Doctrine\ORM\GraphQL\Type\Entity\Entity; use ApiSkeletons\Doctrine\ORM\GraphQL\Type\Entity\EntityTypeContainer; -use ApiSkeletonsTest\Doctrine\ORM\GraphQL\AbstractTest; use ApiSkeletonsTest\Doctrine\ORM\GraphQL\Entity\Recording; use ApiSkeletonsTest\Doctrine\ORM\GraphQL\Entity\User; +use ApiSkeletonsTest\Doctrine\ORM\GraphQL\TestCase; use ArrayObject; use League\Event\EventDispatcher; @@ -22,7 +22,7 @@ use function array_values; use function sort; -class EntityTest extends AbstractTest +class EntityTest extends TestCase { public function testEntityMetadata(): void { diff --git a/test/Feature/Type/JsonTest.php b/test/Feature/Type/JsonTest.php index 5fe1b22..57e3179 100644 --- a/test/Feature/Type/JsonTest.php +++ b/test/Feature/Type/JsonTest.php @@ -7,8 +7,8 @@ use ApiSkeletons\Doctrine\ORM\GraphQL\Config; use ApiSkeletons\Doctrine\ORM\GraphQL\Driver; use ApiSkeletons\Doctrine\ORM\GraphQL\Type\Json; -use ApiSkeletonsTest\Doctrine\ORM\GraphQL\AbstractTest; use ApiSkeletonsTest\Doctrine\ORM\GraphQL\Entity\TypeTest; +use ApiSkeletonsTest\Doctrine\ORM\GraphQL\TestCase; use GraphQL\Error\Error; use GraphQL\GraphQL; use GraphQL\Language\AST\StringValueNode; @@ -17,7 +17,7 @@ use function count; -class JsonTest extends AbstractTest +class JsonTest extends TestCase { public function testParseValue(): void { diff --git a/test/Feature/Type/PageInfoTest.php b/test/Feature/Type/PageInfoTest.php index 55ace32..70f6a4f 100644 --- a/test/Feature/Type/PageInfoTest.php +++ b/test/Feature/Type/PageInfoTest.php @@ -5,15 +5,15 @@ namespace ApiSkeletonsTest\Doctrine\ORM\GraphQL\Feature\Type; use ApiSkeletons\Doctrine\ORM\GraphQL\Driver; -use ApiSkeletonsTest\Doctrine\ORM\GraphQL\AbstractTest; use ApiSkeletonsTest\Doctrine\ORM\GraphQL\Entity\Performance; +use ApiSkeletonsTest\Doctrine\ORM\GraphQL\TestCase; use GraphQL\GraphQL; use GraphQL\Type\Definition\ObjectType; use GraphQL\Type\Schema; use function count; -class PageInfoTest extends AbstractTest +class PageInfoTest extends TestCase { public function testPageInfo(): void { diff --git a/test/Feature/Type/PaginationTest.php b/test/Feature/Type/PaginationTest.php index 57fe984..c75650a 100644 --- a/test/Feature/Type/PaginationTest.php +++ b/test/Feature/Type/PaginationTest.php @@ -5,16 +5,16 @@ namespace ApiSkeletonsTest\Doctrine\ORM\GraphQL\Feature\Type; use ApiSkeletons\Doctrine\ORM\GraphQL\Driver; -use ApiSkeletonsTest\Doctrine\ORM\GraphQL\AbstractTest; use ApiSkeletonsTest\Doctrine\ORM\GraphQL\Entity\Artist; use ApiSkeletonsTest\Doctrine\ORM\GraphQL\Entity\Performance; +use ApiSkeletonsTest\Doctrine\ORM\GraphQL\TestCase; use GraphQL\GraphQL; use GraphQL\Type\Definition\ObjectType; use GraphQL\Type\Schema; use function count; -class PaginationTest extends AbstractTest +class PaginationTest extends TestCase { public function testFirst(): void { diff --git a/test/Feature/Type/TimeImmutableTest.php b/test/Feature/Type/TimeImmutableTest.php index 357833a..54fca79 100644 --- a/test/Feature/Type/TimeImmutableTest.php +++ b/test/Feature/Type/TimeImmutableTest.php @@ -7,8 +7,8 @@ use ApiSkeletons\Doctrine\ORM\GraphQL\Config; use ApiSkeletons\Doctrine\ORM\GraphQL\Driver; use ApiSkeletons\Doctrine\ORM\GraphQL\Type\TimeImmutable; -use ApiSkeletonsTest\Doctrine\ORM\GraphQL\AbstractTest; use ApiSkeletonsTest\Doctrine\ORM\GraphQL\Entity\TypeTest; +use ApiSkeletonsTest\Doctrine\ORM\GraphQL\TestCase; use DateTime; use DateTimeImmutable; use GraphQL\Error\Error; @@ -18,7 +18,7 @@ use function count; -class TimeImmutableTest extends AbstractTest +class TimeImmutableTest extends TestCase { public function testParseValueFormat(): void { diff --git a/test/Feature/Type/TimeTest.php b/test/Feature/Type/TimeTest.php index 95b3906..111e86a 100644 --- a/test/Feature/Type/TimeTest.php +++ b/test/Feature/Type/TimeTest.php @@ -7,8 +7,8 @@ use ApiSkeletons\Doctrine\ORM\GraphQL\Config; use ApiSkeletons\Doctrine\ORM\GraphQL\Driver; use ApiSkeletons\Doctrine\ORM\GraphQL\Type\Time; -use ApiSkeletonsTest\Doctrine\ORM\GraphQL\AbstractTest; use ApiSkeletonsTest\Doctrine\ORM\GraphQL\Entity\TypeTest; +use ApiSkeletonsTest\Doctrine\ORM\GraphQL\TestCase; use DateTime; use GraphQL\Error\Error; use GraphQL\GraphQL; @@ -17,7 +17,7 @@ use function count; -class TimeTest extends AbstractTest +class TimeTest extends TestCase { public function testParseValueFormat(): void { diff --git a/test/Feature/Type/TypeContainerTest.php b/test/Feature/Type/TypeContainerTest.php index 1f02a90..1d8aac0 100644 --- a/test/Feature/Type/TypeContainerTest.php +++ b/test/Feature/Type/TypeContainerTest.php @@ -7,10 +7,10 @@ use ApiSkeletons\Doctrine\ORM\GraphQL\Driver; use ApiSkeletons\Doctrine\ORM\GraphQL\Type\Connection; use ApiSkeletons\Doctrine\ORM\GraphQL\Type\TypeContainer; -use ApiSkeletonsTest\Doctrine\ORM\GraphQL\AbstractTest; use ApiSkeletonsTest\Doctrine\ORM\GraphQL\Entity\Artist; +use ApiSkeletonsTest\Doctrine\ORM\GraphQL\TestCase; -class TypeContainerTest extends AbstractTest +class TypeContainerTest extends TestCase { public function testBuild(): void { diff --git a/test/AbstractTest.php b/test/TestCase.php similarity index 89% rename from test/AbstractTest.php rename to test/TestCase.php index 38ddd36..63d2e41 100644 --- a/test/AbstractTest.php +++ b/test/TestCase.php @@ -10,20 +10,20 @@ use Doctrine\ORM\EntityManager; use Doctrine\ORM\ORMSetup; use Doctrine\ORM\Tools\SchemaTool; -use PHPUnit\Framework\TestCase; +use PHPUnit\Framework\TestCase as PHPUnitTestCase; use function date; use function file_get_contents; require_once __DIR__ . '/../vendor/autoload.php'; -abstract class AbstractTest extends TestCase +class TestCase extends PHPUnitTestCase { - protected EntityManager $entityManager; + protected static EntityManager $entityManager; public function setUp(): void { - // Create a simple "default" Doctrine ORM configuration for Annotations + // Create a simple "default" Doctrine ORM configuration for Attributes $config = ORMSetup::createAttributeMetadataConfiguration( paths: [__DIR__ . '/Entity'], isDevMode: true, @@ -36,16 +36,16 @@ public function setUp(): void ]); // obtaining the entity manager - $this->entityManager = new EntityManager($connection, $config); - $tool = new SchemaTool($this->entityManager); - $tool->createSchema($this->entityManager->getMetadataFactory()->getAllMetadata()); + self::$entityManager = new EntityManager($connection, $config); + $tool = new SchemaTool(self::$entityManager); + $tool->createSchema(self::$entityManager->getMetadataFactory()->getAllMetadata()); $this->populateData(); } protected function getEntityManager(): EntityManager { - return $this->entityManager; + return self::$entityManager; } protected function populateData(): void @@ -135,7 +135,7 @@ protected function populateData(): void foreach ($users as $userData) { $user = new Entity\User(); - $this->entityManager->persist($user); + self::$entityManager->persist($user); $user->setName($userData['name']); $user->setEmail($userData['email']); $user->setPassword($userData['password']); @@ -144,7 +144,7 @@ protected function populateData(): void foreach ($artists as $name => $performances) { $artist = (new Entity\Artist()) ->setName($name); - $this->entityManager->persist($artist); + self::$entityManager->persist($artist); foreach ($performances as $performanceDate => $location) { $performance = (new Entity\Performance()) @@ -153,7 +153,7 @@ protected function populateData(): void ->setCity($location['city']) ->setState($location['state']) ->setArtist($artist); - $this->entityManager->persist($performance); + self::$entityManager->persist($performance); if (! isset($location['recordings'])) { continue; @@ -163,7 +163,7 @@ protected function populateData(): void $recording = (new Entity\Recording()) ->setSource($source) ->setPerformance($performance); - $this->entityManager->persist($recording); + self::$entityManager->persist($recording); } } } @@ -190,9 +190,9 @@ protected function populateData(): void ->setTestTime(new DateTime('2022-08-07T20:10:15.123456')) ->setTestTimeImmutable($immutableDateTime) ->setTestBlob(file_get_contents(__DIR__ . '/../docs/banner.png')); - $this->entityManager->persist($typeTest); + self::$entityManager->persist($typeTest); - $this->entityManager->flush(); - $this->entityManager->clear(); + self::$entityManager->flush(); + self::$entityManager->clear(); } }