diff --git a/README.md b/README.md index 6c9e6d9..dafb6d9 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,7 @@ [![License](https://img.shields.io/packagist/l/laravel-doctrine/fluent.svg?style=flat-square)](https://packagist.org/packages/laravel-doctrine/fluent) [![Github actions](https://github.com/laravel-doctrine/fluent/workflows/CI/badge.svg?branch=1.x)](https://github.com/laravel-doctrine/fluent/actions?query=workflow%3ACI+branch%3A1.x) -*A fluent mapping driver for Doctrine2* +*A fluent mapping driver for Doctrine3* ``` composer require laravel-doctrine/fluent diff --git a/composer.json b/composer.json index 99f2c25..575cd88 100644 --- a/composer.json +++ b/composer.json @@ -23,9 +23,9 @@ } ], "require": { - "php": "^7.2|^8.0", + "php": "^8.1", "doctrine/dbal": "^2.10|^3.3", - "doctrine/orm": "^2.6", + "doctrine/orm": "^3.1", "doctrine/inflector": "^1.4|^2.0", "doctrine/persistence": "^1.3.5|^2.0|^3.0" }, diff --git a/src/Builders/AbstractBuilder.php b/src/Builders/AbstractBuilder.php index fe7f489..4708f5f 100644 --- a/src/Builders/AbstractBuilder.php +++ b/src/Builders/AbstractBuilder.php @@ -6,6 +6,7 @@ use Doctrine\ORM\Mapping\ClassMetadata; use Doctrine\ORM\Mapping\DefaultNamingStrategy; use Doctrine\ORM\Mapping\NamingStrategy; +use LaravelDoctrine\Fluent\Extensions\ExtensibleClassMetadata; abstract class AbstractBuilder { @@ -38,7 +39,7 @@ public function getBuilder() } /** - * @return ClassMetadata + * @return ClassMetadata|ExtensibleClassMetadata */ public function getClassMetadata() { diff --git a/src/Builders/Entity.php b/src/Builders/Entity.php index af1703d..9573c3e 100644 --- a/src/Builders/Entity.php +++ b/src/Builders/Entity.php @@ -2,7 +2,7 @@ namespace LaravelDoctrine\Fluent\Builders; -use Doctrine\ORM\Mapping\ClassMetadataInfo; +use Doctrine\ORM\Mapping\ClassMetadata; use LaravelDoctrine\Fluent\Builders\Traits\Macroable; use LaravelDoctrine\Fluent\Builders\Traits\Queueable; use LaravelDoctrine\Fluent\Builders\Traits\QueuesMacros; @@ -42,7 +42,7 @@ public function readOnly() * Depending on the cache mode selected, you may also need to configure * lock modes. * - * @param int $usage Cache mode. use ClassMetadataInfo::CACHE_USAGE_* constants. + * @param int $usage Cache mode. use ClassMetadata::CACHE_USAGE_* constants. * Defaults to READ_ONLY mode. * @param string|null $region The cache region to be used. Doctrine will use a default region * for each entity, if none is provided. @@ -51,7 +51,7 @@ public function readOnly() * * @see http://doctrine-orm.readthedocs.org/en/latest/reference/second-level-cache.html */ - public function cacheable($usage = ClassMetadataInfo::CACHE_USAGE_READ_ONLY, $region = null) + public function cacheable($usage = ClassMetadata::CACHE_USAGE_READ_ONLY, $region = null) { $meta = $this->builder->getClassMetadata(); $meta->enableCache(compact('usage', $region === null ? [] : 'region')); diff --git a/src/Builders/Field.php b/src/Builders/Field.php index 537ba2c..19283d5 100644 --- a/src/Builders/Field.php +++ b/src/Builders/Field.php @@ -6,8 +6,7 @@ use Doctrine\DBAL\Types\Type; use Doctrine\ORM\Mapping\Builder\ClassMetadataBuilder; use Doctrine\ORM\Mapping\Builder\FieldBuilder; -use Doctrine\ORM\Mapping\ClassMetadataInfo; -use Doctrine\Persistence\Mapping\ClassMetadata; +use Doctrine\ORM\Mapping\ClassMetadata; use LaravelDoctrine\Fluent\Buildable; use LaravelDoctrine\Fluent\Builders\Traits\Macroable; use LaravelDoctrine\Fluent\Builders\Traits\Queueable; @@ -58,7 +57,7 @@ class Field implements Buildable protected $metaDatabuilder; /** - * @var ClassMetadataInfo + * @var ClassMetadata|ExtensibleClassMetadata */ protected $classMetadata; @@ -94,7 +93,7 @@ protected function __construct(FieldBuilder $fieldBuilder, ClassMetadataBuilder * @param string $type * @param string $name * - * @throws \Doctrine\DBAL\DBALException + * @throws \Doctrine\DBAL\Exception * * @return Field */ diff --git a/src/Builders/GeneratedValue.php b/src/Builders/GeneratedValue.php index 8cd8205..59611bf 100644 --- a/src/Builders/GeneratedValue.php +++ b/src/Builders/GeneratedValue.php @@ -3,7 +3,7 @@ namespace LaravelDoctrine\Fluent\Builders; use Doctrine\ORM\Mapping\Builder\FieldBuilder; -use Doctrine\ORM\Mapping\ClassMetadataInfo; +use Doctrine\ORM\Mapping\ClassMetadata; use LaravelDoctrine\Fluent\Buildable; class GeneratedValue implements Buildable @@ -39,15 +39,15 @@ class GeneratedValue implements Buildable protected $generator; /** - * @var ClassMetadataInfo + * @var ClassMetadata */ protected $classMetadata; /** - * @param FieldBuilder $builder - * @param ClassMetadataInfo $classMetadata + * @param FieldBuilder $builder + * @param ClassMetadata $classMetadata */ - public function __construct(FieldBuilder $builder, ClassMetadataInfo $classMetadata) + public function __construct(FieldBuilder $builder, ClassMetadata $classMetadata) { $this->builder = $builder; $this->classMetadata = $classMetadata; diff --git a/src/Builders/Inheritance/Inheritance.php b/src/Builders/Inheritance/Inheritance.php index 74c1ad1..3d1ec07 100644 --- a/src/Builders/Inheritance/Inheritance.php +++ b/src/Builders/Inheritance/Inheritance.php @@ -2,7 +2,7 @@ namespace LaravelDoctrine\Fluent\Builders\Inheritance; -use Doctrine\ORM\Mapping\ClassMetadataInfo; +use Doctrine\ORM\Mapping\ClassMetadata; interface Inheritance { @@ -12,7 +12,7 @@ interface Inheritance * @link http://docs.doctrine-project.org/projects/doctrine-orm/en/latest/reference/inheritance-mapping.html#single-table-inheritance * Doctine documentation */ - const SINGLE = ClassMetadataInfo::INHERITANCE_TYPE_SINGLE_TABLE; + const SINGLE = ClassMetadata::INHERITANCE_TYPE_SINGLE_TABLE; /** * Set inheritance to joined table mode. @@ -20,7 +20,7 @@ interface Inheritance * @link http://docs.doctrine-project.org/projects/doctrine-orm/en/latest/reference/inheritance-mapping.html#class-table-inheritance * Doctine documentation */ - const JOINED = ClassMetadataInfo::INHERITANCE_TYPE_JOINED; + const JOINED = ClassMetadata::INHERITANCE_TYPE_JOINED; /** * Add the discriminator column. diff --git a/src/Builders/Overrides/AssociationOverride.php b/src/Builders/Overrides/AssociationOverride.php index 95f9544..a845879 100644 --- a/src/Builders/Overrides/AssociationOverride.php +++ b/src/Builders/Overrides/AssociationOverride.php @@ -3,10 +3,11 @@ namespace LaravelDoctrine\Fluent\Builders\Overrides; use Doctrine\ORM\Mapping\Builder\ClassMetadataBuilder; -use Doctrine\ORM\Mapping\ClassMetadataInfo; +use Doctrine\ORM\Mapping\ClassMetadata; use Doctrine\ORM\Mapping\NamingStrategy; use InvalidArgumentException; use LaravelDoctrine\Fluent\Buildable; +use LaravelDoctrine\Fluent\Relations\AssociationCache; use LaravelDoctrine\Fluent\Relations\ManyToMany; use LaravelDoctrine\Fluent\Relations\ManyToOne; use LaravelDoctrine\Fluent\Relations\Relation; @@ -37,8 +38,8 @@ class AssociationOverride implements Buildable * @var array */ protected $relations = [ - ClassMetadataInfo::MANY_TO_ONE => ManyToOne::class, - ClassMetadataInfo::MANY_TO_MANY => ManyToMany::class, + ClassMetadata::MANY_TO_ONE => ManyToOne::class, + ClassMetadata::MANY_TO_MANY => ManyToMany::class, ]; /** @@ -95,7 +96,9 @@ public function build() throw new InvalidArgumentException('The callback should return an instance of '.Relation::class); } - $association->build(); + $association instanceof AssociationCache ? + $association->build($source['targetEntity']) : + $association->build(); $target = $this->convertToMappingArray($builder); @@ -104,8 +107,8 @@ public function build() // ManyToMany mappings if ($this->hasJoinTable($target)) { $overrideMapping['joinTable'] = $this->mapJoinTable( - $target['joinTable'], - $source['joinTable'] + (array) $target['joinTable'], + (array) $source['joinTable'] ); } @@ -134,7 +137,10 @@ protected function convertToMappingArray(ClassMetadataBuilder $builder) { $metadata = $builder->getClassMetadata(); - return $metadata->getAssociationMapping($this->name); + $associationMappingArray = (array) $metadata->getAssociationMapping($this->name); + $associationMappingArray['type'] = $metadata->getAssociationMapping($this->name)->type(); + + return $associationMappingArray; } /** @@ -143,7 +149,7 @@ protected function convertToMappingArray(ClassMetadataBuilder $builder) protected function newClassMetadataBuilder() { return new ClassMetadataBuilder( - new ClassMetadataInfo($this->builder->getClassMetadata()->name) + new ClassMetadata($this->builder->getClassMetadata()->name) ); } @@ -205,7 +211,7 @@ protected function mapJoinColumns(array $target = [], array $source = []) $joinColumns = []; foreach ($target as $index => $joinColumn) { if (isset($source[$index])) { - $diff = array_diff($joinColumn, $source[$index]); + $diff = array_diff((array) $joinColumn, (array) $source[$index]); if (!empty($diff)) { $joinColumns[] = $diff; diff --git a/src/Builders/Overrides/AttributeOverride.php b/src/Builders/Overrides/AttributeOverride.php index 900e53c..b5720e8 100644 --- a/src/Builders/Overrides/AttributeOverride.php +++ b/src/Builders/Overrides/AttributeOverride.php @@ -3,7 +3,7 @@ namespace LaravelDoctrine\Fluent\Builders\Overrides; use Doctrine\ORM\Mapping\Builder\ClassMetadataBuilder; -use Doctrine\ORM\Mapping\ClassMetadataInfo; +use Doctrine\ORM\Mapping\ClassMetadata; use Doctrine\ORM\Mapping\NamingStrategy; use InvalidArgumentException; use LaravelDoctrine\Fluent\Buildable; @@ -116,7 +116,7 @@ protected function convertToMappingArray(ClassMetadataBuilder $builder) { $metadata = $builder->getClassMetadata(); - return $metadata->getFieldMapping($this->name); + return (array) $metadata->getFieldMapping($this->name); } /** @@ -125,7 +125,7 @@ protected function convertToMappingArray(ClassMetadataBuilder $builder) protected function newClassMetadataBuilder() { return new ClassMetadataBuilder( - new ClassMetadataInfo($this->builder->getClassMetadata()->name) + new ClassMetadata($this->builder->getClassMetadata()->name) ); } diff --git a/src/Builders/Table.php b/src/Builders/Table.php index 9aed011..04be54f 100644 --- a/src/Builders/Table.php +++ b/src/Builders/Table.php @@ -39,7 +39,7 @@ public function __construct(ClassMetadataBuilder $builder, $name = null) */ public function setName($name) { - $this->builder->setTable($name); + $this->getClassMetadata()->setPrimaryTable(['name' => $name]); return $this; } diff --git a/src/Builders/Traits/Queueable.php b/src/Builders/Traits/Queueable.php index ae7daa4..b7a898d 100644 --- a/src/Builders/Traits/Queueable.php +++ b/src/Builders/Traits/Queueable.php @@ -4,6 +4,7 @@ use LaravelDoctrine\Fluent\Buildable; use LaravelDoctrine\Fluent\Builders\Delay; +use LaravelDoctrine\Fluent\Relations\AssociationCache; trait Queueable { @@ -43,7 +44,9 @@ public function build() if ($buildable instanceof Delay) { $delayed[] = $buildable; } else { - $buildable->build(); + $buildable instanceof AssociationCache ? + $buildable->build($this->entity) : + $buildable->build(); } } diff --git a/src/Extensions/ExtensibleClassMetadataFactory.php b/src/Extensions/ExtensibleClassMetadataFactory.php index 6509eac..5a709be 100644 --- a/src/Extensions/ExtensibleClassMetadataFactory.php +++ b/src/Extensions/ExtensibleClassMetadataFactory.php @@ -7,17 +7,12 @@ class ExtensibleClassMetadataFactory extends ClassMetadataFactory { - /** - * @var EntityManagerInterface - */ - protected $entityManager; + protected EntityManagerInterface $entityManager; /** * Override to hold a reference to the EntityManager here as well (parent property is private). - * - * {@inheritdoc} */ - public function setEntityManager(EntityManagerInterface $em) + public function setEntityManager(EntityManagerInterface $em): void { parent::setEntityManager($em); @@ -26,10 +21,8 @@ public function setEntityManager(EntityManagerInterface $em) /** * Override to implement our custom ClassMetadata object. - * - * {@inheritdoc} */ - protected function newClassMetadataInstance($className) + protected function newClassMetadataInstance(string $className): ExtensibleClassMetadata { return new ExtensibleClassMetadata($className, $this->entityManager->getConfiguration()->getNamingStrategy()); } diff --git a/src/Extensions/Gedmo/Sluggable.php b/src/Extensions/Gedmo/Sluggable.php index cbe05e8..8517e42 100644 --- a/src/Extensions/Gedmo/Sluggable.php +++ b/src/Extensions/Gedmo/Sluggable.php @@ -2,7 +2,7 @@ namespace LaravelDoctrine\Fluent\Extensions\Gedmo; -use Doctrine\ORM\Mapping\ClassMetadataInfo; +use Doctrine\ORM\Mapping\ClassMetadata; use Gedmo\Exception\InvalidArgumentException; use Gedmo\Sluggable\Mapping\Driver\Fluent as FluentDriver; use LaravelDoctrine\Fluent\Buildable; @@ -257,14 +257,14 @@ public function suffix($suffix) /** * Checks if $field type is valid as Sluggable field. * - * @param ClassMetadataInfo $meta - * @param string $field + * @param ClassMetadata $meta + * @param string $field * * @throws InvalidArgumentException * * @return bool */ - protected function isValidField(ClassMetadataInfo $meta, $field) + protected function isValidField(ClassMetadata $meta, $field) { $mapping = $meta->getFieldMapping($field); diff --git a/src/Extensions/Gedmo/TreeStrategy.php b/src/Extensions/Gedmo/TreeStrategy.php index 5787833..62f2b40 100644 --- a/src/Extensions/Gedmo/TreeStrategy.php +++ b/src/Extensions/Gedmo/TreeStrategy.php @@ -2,6 +2,7 @@ namespace LaravelDoctrine\Fluent\Extensions\Gedmo; +use Doctrine\ORM\Mapping\ClassMetadata; use Gedmo\Exception\InvalidMappingException; use Gedmo\Tree\Mapping\Driver\Fluent as FluentDriver; use LaravelDoctrine\Fluent\Buildable; @@ -142,7 +143,7 @@ protected function addSelfReferencingRelation($field, ?callable $callback = null } /** - * @return ExtensibleClassMetadata + * @return ExtensibleClassMetadata|ClassMetadata */ protected function getClassMetadata() { diff --git a/src/FluentDriver.php b/src/FluentDriver.php index 0af836b..84d9165 100644 --- a/src/FluentDriver.php +++ b/src/FluentDriver.php @@ -3,6 +3,7 @@ namespace LaravelDoctrine\Fluent; use Doctrine\ORM\Mapping\Builder\ClassMetadataBuilder; +use Doctrine\ORM\Mapping\ClassMetadata as ORMClassMetadata; use Doctrine\ORM\Mapping\MappingException; use Doctrine\ORM\Mapping\NamingStrategy; use Doctrine\Persistence\Mapping\ClassMetadata; @@ -34,7 +35,7 @@ public function __construct( array $mappings = [], ?NamingStrategy $namingStrategy = null ) { - $this->fluentFactory = function (ClassMetadata $metadata) use ($namingStrategy) { + $this->fluentFactory = function (ORMClassMetadata $metadata) use ($namingStrategy) { return new Builder(new ClassMetadataBuilder($metadata), $namingStrategy); }; diff --git a/src/Relations/AssociationCache.php b/src/Relations/AssociationCache.php index e213edd..38d41a5 100644 --- a/src/Relations/AssociationCache.php +++ b/src/Relations/AssociationCache.php @@ -2,10 +2,10 @@ namespace LaravelDoctrine\Fluent\Relations; -use Doctrine\ORM\Mapping\ClassMetadataInfo; -use Doctrine\Persistence\Mapping\ClassMetadata; +use Doctrine\ORM\Mapping\ClassMetadata; use InvalidArgumentException; use LaravelDoctrine\Fluent\Buildable; +use LaravelDoctrine\Fluent\Relations\Mappings\Association\ConcreteAssociationMapping; class AssociationCache implements Buildable { @@ -20,12 +20,12 @@ class AssociationCache implements Buildable protected $usage; /** - * @var array + * @var array */ protected $usages = [ - 'READ_ONLY' => ClassMetadataInfo::CACHE_USAGE_READ_ONLY, - 'NONSTRICT_READ_WRITE' => ClassMetadataInfo::CACHE_USAGE_NONSTRICT_READ_WRITE, - 'READ_WRITE' => ClassMetadataInfo::CACHE_USAGE_READ_WRITE, + 'READ_ONLY' => ClassMetadata::CACHE_USAGE_READ_ONLY, + 'NONSTRICT_READ_WRITE' => ClassMetadata::CACHE_USAGE_NONSTRICT_READ_WRITE, + 'READ_WRITE' => ClassMetadata::CACHE_USAGE_READ_WRITE, ]; /** @@ -104,8 +104,16 @@ public function setRegion($region) /** * Execute the build process. */ - public function build() + public function build(string $targetEntity = ''): void { + if (!isset($this->metadata->associationMappings[$this->field])) { + $this->metadata->associationMappings[$this->field] = new ConcreteAssociationMapping( + $this->field, + $this->metadata->rootEntityName, + $targetEntity + ); + } + $this->metadata->enableAssociationCache($this->field, [ 'usage' => $this->getUsage(), 'region' => $this->getRegion(), diff --git a/src/Relations/JoinColumn.php b/src/Relations/JoinColumn.php index 1ef1ca9..b681e45 100644 --- a/src/Relations/JoinColumn.php +++ b/src/Relations/JoinColumn.php @@ -125,7 +125,7 @@ public function source($localKey) */ public function getJoinColumn() { - return $this->joinColumn ?: $this->namingStrategy->joinColumnName($this->relation); + return $this->joinColumn ?: $this->namingStrategy->joinColumnName($this->relation, ''); } /** diff --git a/src/Relations/Mappings/Association/ConcreteAssociationMapping.php b/src/Relations/Mappings/Association/ConcreteAssociationMapping.php new file mode 100644 index 0000000..2baf62f --- /dev/null +++ b/src/Relations/Mappings/Association/ConcreteAssociationMapping.php @@ -0,0 +1,12 @@ +builder = new ClassMetadataBuilder(new ClassMetadataInfo( + $this->builder = new ClassMetadataBuilder(new ClassMetadata( FluentEntity::class )); diff --git a/tests/Builders/EmbeddedTest.php b/tests/Builders/EmbeddedTest.php index 48b51d5..04d71c2 100644 --- a/tests/Builders/EmbeddedTest.php +++ b/tests/Builders/EmbeddedTest.php @@ -3,7 +3,7 @@ namespace Tests\Builders; use Doctrine\ORM\Mapping\Builder\ClassMetadataBuilder; -use Doctrine\ORM\Mapping\ClassMetadataInfo; +use Doctrine\ORM\Mapping\ClassMetadata; use Doctrine\ORM\Mapping\DefaultNamingStrategy; use LaravelDoctrine\Fluent\Builders\Embedded; use PHPUnit\Framework\TestCase; @@ -22,7 +22,7 @@ class EmbeddedTest extends TestCase protected function setUp(): void { - $this->builder = new ClassMetadataBuilder(new ClassMetadataInfo( + $this->builder = new ClassMetadataBuilder(new ClassMetadata( FluentEmbeddable::class )); diff --git a/tests/Builders/EntityListenersTest.php b/tests/Builders/EntityListenersTest.php index cf7dc7f..2a95c8c 100644 --- a/tests/Builders/EntityListenersTest.php +++ b/tests/Builders/EntityListenersTest.php @@ -4,7 +4,7 @@ use Doctrine\ORM\Events; use Doctrine\ORM\Mapping\Builder\ClassMetadataBuilder; -use Doctrine\ORM\Mapping\ClassMetadataInfo; +use Doctrine\ORM\Mapping\ClassMetadata; use LaravelDoctrine\Fluent\Builders\EntityListeners; use PHPUnit\Framework\TestCase; use Tests\Stubs\Entities\StubEntity; @@ -25,7 +25,7 @@ class EntityListenersTest extends TestCase protected function setUp(): void { $this->fluent = new ClassMetadataBuilder( - new ClassMetadataInfo(StubEntity::class) + new ClassMetadata(StubEntity::class) ); $this->builder = new EntityListeners($this->fluent); diff --git a/tests/Builders/EntityTest.php b/tests/Builders/EntityTest.php index b490d14..e19fe65 100644 --- a/tests/Builders/EntityTest.php +++ b/tests/Builders/EntityTest.php @@ -3,7 +3,7 @@ namespace Tests\Builders; use Doctrine\ORM\Mapping\Builder\ClassMetadataBuilder; -use Doctrine\ORM\Mapping\ClassMetadataInfo; +use Doctrine\ORM\Mapping\ClassMetadata; use LaravelDoctrine\Fluent\Builders\Entity; use LaravelDoctrine\Fluent\Builders\Traits\Macroable; use Mockery\Adapter\Phpunit\MockeryPHPUnitIntegration; @@ -27,7 +27,7 @@ class EntityTest extends TestCase protected function setUp(): void { - $this->builder = new ClassMetadataBuilder(new ClassMetadataInfo(StubEntity::class)); + $this->builder = new ClassMetadataBuilder(new ClassMetadata(StubEntity::class)); $this->entity = new Entity($this->builder); } @@ -52,11 +52,11 @@ public function test_can_enable_2nd_level_cache() $this->assertFalse($this->builder->getClassMetadata()->isReadOnly); $this->entity->cacheable(); - $this->assertEquals(ClassMetadataInfo::CACHE_USAGE_READ_ONLY, $this->builder->getClassMetadata()->cache['usage']); + $this->assertEquals(ClassMetadata::CACHE_USAGE_READ_ONLY, $this->builder->getClassMetadata()->cache['usage']); $this->assertEquals('tests_stubs_entities_stubentity', $this->builder->getClassMetadata()->cache['region']); - $this->entity->cacheable(ClassMetadataInfo::CACHE_USAGE_READ_WRITE, 'custom_region'); - $this->assertEquals(ClassMetadataInfo::CACHE_USAGE_READ_WRITE, $this->builder->getClassMetadata()->cache['usage']); + $this->entity->cacheable(ClassMetadata::CACHE_USAGE_READ_WRITE, 'custom_region'); + $this->assertEquals(ClassMetadata::CACHE_USAGE_READ_WRITE, $this->builder->getClassMetadata()->cache['usage']); $this->assertEquals('custom_region', $this->builder->getClassMetadata()->cache['region']); } diff --git a/tests/Builders/FieldTest.php b/tests/Builders/FieldTest.php index 137ab8e..b4b583d 100644 --- a/tests/Builders/FieldTest.php +++ b/tests/Builders/FieldTest.php @@ -5,7 +5,7 @@ use BadMethodCallException; use Doctrine\DBAL\Types\StringType; use Doctrine\ORM\Mapping\Builder\ClassMetadataBuilder; -use Doctrine\ORM\Mapping\ClassMetadataInfo; +use Doctrine\ORM\Mapping\ClassMetadata; use Doctrine\ORM\Mapping\MappingException; use LaravelDoctrine\Fluent\Buildable; use LaravelDoctrine\Fluent\Builders\Field; @@ -32,7 +32,7 @@ class FieldTest extends TestCase protected function setUp(): void { - $this->builder = new ClassMetadataBuilder(new ClassMetadataInfo(StubEntity::class)); + $this->builder = new ClassMetadataBuilder(new ClassMetadata(StubEntity::class)); $this->builder->setTable('stub_entities'); $this->field = Field::make($this->builder, 'string', 'name'); @@ -111,7 +111,7 @@ public function test_can_set_generated_value_strategy() $this->field->build(); - $this->assertTrue($this->builder->getClassMetadata()->generatorType == ClassMetadataInfo::GENERATOR_TYPE_AUTO); + $this->assertTrue($this->builder->getClassMetadata()->generatorType == ClassMetadata::GENERATOR_TYPE_AUTO); } public function test_can_enrich_generated_value_with_a_closure() @@ -348,7 +348,7 @@ public function test_buildable_objects_returned_from_macros_get_queued_and_built private function doTestValidTypeForVersioning($type) { - $builder = new ClassMetadataBuilder(new ClassMetadataInfo(StubEntity::class)); + $builder = new ClassMetadataBuilder(new ClassMetadata(StubEntity::class)); $field = Field::make($builder, $type, "{$type}Field"); $field->useForVersioning()->build(); @@ -360,7 +360,7 @@ private function doTestValidTypeForVersioning($type) private function doTestInvalidTypeForVersioning($type) { - $builder = new ClassMetadataBuilder(new ClassMetadataInfo(StubEntity::class)); + $builder = new ClassMetadataBuilder(new ClassMetadata(StubEntity::class)); $field = Field::make($builder, $type, 'aField'); $this->expectException(MappingException::class); diff --git a/tests/Builders/GeneratedValueTest.php b/tests/Builders/GeneratedValueTest.php index ab77e5a..eb1b02a 100644 --- a/tests/Builders/GeneratedValueTest.php +++ b/tests/Builders/GeneratedValueTest.php @@ -3,7 +3,7 @@ namespace Tests\Builders; use Doctrine\ORM\Mapping\Builder\FieldBuilder; -use Doctrine\ORM\Mapping\ClassMetadataInfo; +use Doctrine\ORM\Mapping\ClassMetadata; use LaravelDoctrine\Fluent\Builders\GeneratedValue; use PHPUnit\Framework\TestCase; @@ -15,7 +15,7 @@ class GeneratedValueTest extends TestCase protected $field; /** - * @var \PHPUnit_Framework_MockObject_MockObject|ClassMetadataInfo + * @var \PHPUnit_Framework_MockObject_MockObject|ClassMetadata */ protected $cm; @@ -27,7 +27,7 @@ class GeneratedValueTest extends TestCase protected function setUp(): void { $this->field = $this->getMockBuilder(FieldBuilder::class)->disableOriginalConstructor()->getMock(); - $this->cm = $this->getMockBuilder(ClassMetadataInfo::class)->disableOriginalConstructor()->getMock(); + $this->cm = $this->getMockBuilder(ClassMetadata::class)->disableOriginalConstructor()->getMock(); $this->fluent = new GeneratedValue($this->field, $this->cm); } diff --git a/tests/Builders/IndexTest.php b/tests/Builders/IndexTest.php index 672b741..869c05c 100644 --- a/tests/Builders/IndexTest.php +++ b/tests/Builders/IndexTest.php @@ -3,7 +3,7 @@ namespace Tests\Builders; use Doctrine\ORM\Mapping\Builder\ClassMetadataBuilder; -use Doctrine\ORM\Mapping\ClassMetadataInfo; +use Doctrine\ORM\Mapping\ClassMetadata; use LaravelDoctrine\Fluent\Builders\Index; use PHPUnit\Framework\TestCase; use Tests\Stubs\Entities\StubEntity; @@ -17,7 +17,7 @@ class IndexTest extends TestCase protected function setUp(): void { - $this->builder = new ClassMetadataBuilder(new ClassMetadataInfo(StubEntity::class)); + $this->builder = new ClassMetadataBuilder(new ClassMetadata(StubEntity::class)); $this->builder->setTable('stub_entities'); } diff --git a/tests/Builders/Inheritance/InheritanceFactoryTest.php b/tests/Builders/Inheritance/InheritanceFactoryTest.php index a1d2a4a..5baff14 100644 --- a/tests/Builders/Inheritance/InheritanceFactoryTest.php +++ b/tests/Builders/Inheritance/InheritanceFactoryTest.php @@ -3,7 +3,7 @@ namespace Tests\Builders\Inheritance; use Doctrine\ORM\Mapping\Builder\ClassMetadataBuilder; -use Doctrine\ORM\Mapping\ClassMetadataInfo; +use Doctrine\ORM\Mapping\ClassMetadata; use InvalidArgumentException; use LaravelDoctrine\Fluent\Builders\Inheritance\Inheritance; use LaravelDoctrine\Fluent\Builders\Inheritance\InheritanceFactory; @@ -21,7 +21,7 @@ class InheritanceFactoryTest extends TestCase protected function setUp(): void { - $this->builder = new ClassMetadataBuilder(new ClassMetadataInfo( + $this->builder = new ClassMetadataBuilder(new ClassMetadata( StubEntity::class )); } diff --git a/tests/Builders/Inheritance/JoinedTableInheritanceTest.php b/tests/Builders/Inheritance/JoinedTableInheritanceTest.php index 4cf7149..1cbf50d 100644 --- a/tests/Builders/Inheritance/JoinedTableInheritanceTest.php +++ b/tests/Builders/Inheritance/JoinedTableInheritanceTest.php @@ -3,7 +3,7 @@ namespace Tests\Builders\Inheritance; use Doctrine\ORM\Mapping\Builder\ClassMetadataBuilder; -use Doctrine\ORM\Mapping\ClassMetadataInfo; +use Doctrine\ORM\Mapping\ClassMetadata; use LaravelDoctrine\Fluent\Builders\Inheritance\JoinedTableInheritance; use Tests\Stubs\Entities\StubEntity; @@ -21,7 +21,7 @@ class JoinedTableInheritanceTest extends InheritanceTestCase protected function setUp(): void { - $this->builder = new ClassMetadataBuilder(new ClassMetadataInfo( + $this->builder = new ClassMetadataBuilder(new ClassMetadata( StubEntity::class )); diff --git a/tests/Builders/Inheritance/SingleTableInheritanceTest.php b/tests/Builders/Inheritance/SingleTableInheritanceTest.php index 637d616..9bc222d 100644 --- a/tests/Builders/Inheritance/SingleTableInheritanceTest.php +++ b/tests/Builders/Inheritance/SingleTableInheritanceTest.php @@ -3,7 +3,7 @@ namespace Tests\Builders\Inheritance; use Doctrine\ORM\Mapping\Builder\ClassMetadataBuilder; -use Doctrine\ORM\Mapping\ClassMetadataInfo; +use Doctrine\ORM\Mapping\ClassMetadata; use LaravelDoctrine\Fluent\Builders\Inheritance\SingleTableInheritance; use Tests\Stubs\Entities\StubEntity; @@ -21,7 +21,7 @@ class SingleTableInheritanceTest extends InheritanceTestCase protected function setUp(): void { - $this->builder = new ClassMetadataBuilder(new ClassMetadataInfo( + $this->builder = new ClassMetadataBuilder(new ClassMetadata( StubEntity::class )); diff --git a/tests/Builders/LifecycleEventsTest.php b/tests/Builders/LifecycleEventsTest.php index 28220ba..2edafd8 100644 --- a/tests/Builders/LifecycleEventsTest.php +++ b/tests/Builders/LifecycleEventsTest.php @@ -4,7 +4,7 @@ use Doctrine\ORM\Events; use Doctrine\ORM\Mapping\Builder\ClassMetadataBuilder; -use Doctrine\ORM\Mapping\ClassMetadataInfo; +use Doctrine\ORM\Mapping\ClassMetadata; use LaravelDoctrine\Fluent\Builders\LifecycleEvents; use PHPUnit\Framework\TestCase; use Tests\Stubs\Entities\StubEntity; @@ -24,7 +24,7 @@ class LifecycleEventsTest extends TestCase protected function setUp(): void { $this->fluent = new ClassMetadataBuilder( - new ClassMetadataInfo(StubEntity::class) + new ClassMetadata(StubEntity::class) ); $this->builder = new LifecycleEvents($this->fluent); diff --git a/tests/Builders/Overrides/AssociationOverrideTest.php b/tests/Builders/Overrides/AssociationOverrideTest.php index 58aa5de..c5033fa 100644 --- a/tests/Builders/Overrides/AssociationOverrideTest.php +++ b/tests/Builders/Overrides/AssociationOverrideTest.php @@ -3,7 +3,7 @@ namespace Tests\Builders\Overrides; use Doctrine\ORM\Mapping\Builder\ClassMetadataBuilder; -use Doctrine\ORM\Mapping\ClassMetadataInfo; +use Doctrine\ORM\Mapping\ClassMetadata; use Doctrine\ORM\Mapping\DefaultNamingStrategy; use Doctrine\ORM\Mapping\MappingException; use InvalidArgumentException; @@ -22,7 +22,7 @@ class AssociationOverrideTest extends TestCase protected function setUp(): void { - $this->builder = new ClassMetadataBuilder(new ClassMetadataInfo( + $this->builder = new ClassMetadataBuilder(new ClassMetadata( StubEntity::class )); diff --git a/tests/Builders/Overrides/AttributeOverrideTest.php b/tests/Builders/Overrides/AttributeOverrideTest.php index d443f66..41c6361 100644 --- a/tests/Builders/Overrides/AttributeOverrideTest.php +++ b/tests/Builders/Overrides/AttributeOverrideTest.php @@ -3,7 +3,7 @@ namespace Tests\Builders\Overrides; use Doctrine\ORM\Mapping\Builder\ClassMetadataBuilder; -use Doctrine\ORM\Mapping\ClassMetadataInfo; +use Doctrine\ORM\Mapping\ClassMetadata; use Doctrine\ORM\Mapping\DefaultNamingStrategy; use Doctrine\ORM\Mapping\MappingException; use InvalidArgumentException; @@ -20,7 +20,7 @@ class AttributeOverrideTest extends TestCase protected function setUp(): void { - $this->builder = new ClassMetadataBuilder(new ClassMetadataInfo( + $this->builder = new ClassMetadataBuilder(new ClassMetadata( StubEntity::class )); diff --git a/tests/Builders/Overrides/OverrideBuilderFactoryTest.php b/tests/Builders/Overrides/OverrideBuilderFactoryTest.php index a73f631..6d7b2c3 100644 --- a/tests/Builders/Overrides/OverrideBuilderFactoryTest.php +++ b/tests/Builders/Overrides/OverrideBuilderFactoryTest.php @@ -3,7 +3,7 @@ namespace Tests\Builders\Overrides; use Doctrine\ORM\Mapping\Builder\ClassMetadataBuilder; -use Doctrine\ORM\Mapping\ClassMetadataInfo; +use Doctrine\ORM\Mapping\ClassMetadata; use Doctrine\ORM\Mapping\DefaultNamingStrategy; use InvalidArgumentException; use LaravelDoctrine\Fluent\Builders\Overrides\AssociationOverride; @@ -16,7 +16,7 @@ class OverrideBuilderFactoryTest extends TestCase { public function test_can_create_attribute_override() { - $builder = new ClassMetadataBuilder(new ClassMetadataInfo( + $builder = new ClassMetadataBuilder(new ClassMetadata( StubEntity::class )); @@ -36,7 +36,7 @@ function ($attribute) { public function test_can_create_association_override() { - $builder = new ClassMetadataBuilder(new ClassMetadataInfo( + $builder = new ClassMetadataBuilder(new ClassMetadata( StubEntity::class )); @@ -59,7 +59,7 @@ public function test_can_only_create_overrides_for_existing_attributes_or_relati $this->expectException(InvalidArgumentException::class); $this->expectExceptionMessage('No attribute or association could be found for some_field'); - $builder = new ClassMetadataBuilder(new ClassMetadataInfo( + $builder = new ClassMetadataBuilder(new ClassMetadata( StubEntity::class )); diff --git a/tests/Builders/Overrides/OverrideTest.php b/tests/Builders/Overrides/OverrideTest.php index 63f0d15..0340594 100644 --- a/tests/Builders/Overrides/OverrideTest.php +++ b/tests/Builders/Overrides/OverrideTest.php @@ -3,7 +3,7 @@ namespace Tests\Builders\Overrides; use Doctrine\ORM\Mapping\Builder\ClassMetadataBuilder; -use Doctrine\ORM\Mapping\ClassMetadataInfo; +use Doctrine\ORM\Mapping\ClassMetadata; use Doctrine\ORM\Mapping\DefaultNamingStrategy; use LaravelDoctrine\Fluent\Builders\Delay; use LaravelDoctrine\Fluent\Builders\Overrides\Override; @@ -14,7 +14,7 @@ class OverrideTest extends TestCase { public function test_can_build_attribute_override() { - $meta = new ClassMetadataInfo( + $meta = new ClassMetadata( StubEntity::class ); @@ -37,7 +37,7 @@ function ($attribute) { public function test_can_build_association_override() { - $meta = new ClassMetadataInfo( + $meta = new ClassMetadata( StubEntity::class ); diff --git a/tests/Builders/PrimaryTest.php b/tests/Builders/PrimaryTest.php index 92e4f4e..477b279 100644 --- a/tests/Builders/PrimaryTest.php +++ b/tests/Builders/PrimaryTest.php @@ -3,7 +3,7 @@ namespace Tests\Builders; use Doctrine\ORM\Mapping\Builder\ClassMetadataBuilder; -use Doctrine\ORM\Mapping\ClassMetadataInfo; +use Doctrine\ORM\Mapping\ClassMetadata; use LaravelDoctrine\Fluent\Builders\Primary; use PHPUnit\Framework\TestCase; use Tests\Stubs\Entities\StubEntity; @@ -17,7 +17,7 @@ class PrimaryTest extends TestCase protected function setUp(): void { - $this->builder = new ClassMetadataBuilder(new ClassMetadataInfo(StubEntity::class)); + $this->builder = new ClassMetadataBuilder(new ClassMetadata(StubEntity::class)); $this->builder->setTable('stub_entities'); } diff --git a/tests/Builders/TableTest.php b/tests/Builders/TableTest.php index ee98761..e1efed6 100644 --- a/tests/Builders/TableTest.php +++ b/tests/Builders/TableTest.php @@ -3,7 +3,7 @@ namespace Tests\Builders; use Doctrine\ORM\Mapping\Builder\ClassMetadataBuilder; -use Doctrine\ORM\Mapping\ClassMetadataInfo; +use Doctrine\ORM\Mapping\ClassMetadata; use LaravelDoctrine\Fluent\Builders\Table; use PHPUnit\Framework\TestCase; use Tests\Stubs\Entities\StubEntity; @@ -22,7 +22,7 @@ class TableTest extends TestCase protected function setUp(): void { - $this->builder = new ClassMetadataBuilder(new ClassMetadataInfo(StubEntity::class)); + $this->builder = new ClassMetadataBuilder(new ClassMetadata(StubEntity::class)); $this->table = new Table($this->builder); } @@ -35,7 +35,7 @@ public function test_can_be_constructed_with_a_name_string() public function test_it_ignores_empty_names() { - $this->assertNull($this->builder->getClassMetadata()->table); + $this->assertFalse(isset($this->builder->getClassMetadata()->table)); } public function test_it_can_be_constructed_with_a_callback_instead_of_a_name() @@ -87,14 +87,14 @@ public function test_can_set_options() public function test_set_options_does_not_touch_other_data() { - $table = $this->table->getClassMetadata()->table; + $classMetadata = $this->table->getClassMetadata(); $this->table->options(['collate' => 'utf8mb4_unicode_ci']); - $table['options'] = ['collate' => 'utf8mb4_unicode_ci']; + $classMetadata->table['options'] = ['collate' => 'utf8mb4_unicode_ci']; $this->table->build(); - $this->assertEquals($table, $this->builder->getClassMetadata()->table); + $this->assertEquals($classMetadata->table, $this->builder->getClassMetadata()->table); } public function test_can_set_options_and_change_schema() diff --git a/tests/Builders/UniqueConstraintTest.php b/tests/Builders/UniqueConstraintTest.php index d6854ca..5a51b9f 100644 --- a/tests/Builders/UniqueConstraintTest.php +++ b/tests/Builders/UniqueConstraintTest.php @@ -3,7 +3,7 @@ namespace Tests\Builders; use Doctrine\ORM\Mapping\Builder\ClassMetadataBuilder; -use Doctrine\ORM\Mapping\ClassMetadataInfo; +use Doctrine\ORM\Mapping\ClassMetadata; use LaravelDoctrine\Fluent\Builders\UniqueConstraint; use PHPUnit\Framework\TestCase; use Tests\Stubs\Entities\StubEntity; @@ -17,7 +17,7 @@ class UniqueConstraintTest extends TestCase protected function setUp(): void { - $this->builder = new ClassMetadataBuilder(new ClassMetadataInfo(StubEntity::class)); + $this->builder = new ClassMetadataBuilder(new ClassMetadata(StubEntity::class)); $this->builder->setTable('stub_entities'); } diff --git a/tests/Extensions/ExtensibleClassMetadataFactoryFactoryTest.php b/tests/Extensions/ExtensibleClassMetadataFactoryFactoryTest.php index 7df215f..a9121d4 100644 --- a/tests/Extensions/ExtensibleClassMetadataFactoryFactoryTest.php +++ b/tests/Extensions/ExtensibleClassMetadataFactoryFactoryTest.php @@ -4,6 +4,7 @@ use Doctrine\ORM\Configuration; use Doctrine\ORM\EntityManager; +use Doctrine\ORM\Mapping\ClassMetadata; use Doctrine\ORM\Mapping\NamingStrategy; use LaravelDoctrine\Fluent\Extensions\ExtensibleClassMetadata; use LaravelDoctrine\Fluent\Extensions\ExtensibleClassMetadataFactory; @@ -20,8 +21,9 @@ public function test_it_builds_extensible_class_metadata_objects() $config = \Mockery::mock(Configuration::class); $namingStrategy = \Mockery::mock(NamingStrategy::class); - $em->shouldReceive('getConfiguration')->once()->andReturn($config); + $em->shouldReceive('getConfiguration')->twice()->andReturn($config); $config->shouldReceive('getNamingStrategy')->once()->andReturn($namingStrategy); + $config->shouldReceive('isNativeLazyObjectsEnabled')->once()->andReturn(false); $factory = new ExtensionFactoryTest(); $factory->setEntityManager($em); diff --git a/tests/FluentDriverTest.php b/tests/FluentDriverTest.php index 809d8fb..95afbcc 100644 --- a/tests/FluentDriverTest.php +++ b/tests/FluentDriverTest.php @@ -3,9 +3,8 @@ namespace Tests; use Doctrine\ORM\Mapping\Builder\ClassMetadataBuilder; -use Doctrine\ORM\Mapping\ClassMetadataInfo; +use Doctrine\ORM\Mapping\ClassMetadata; use Doctrine\ORM\Mapping\MappingException; -use Doctrine\Persistence\Mapping\ClassMetadata; use LaravelDoctrine\Fluent\Builders\Builder; use LaravelDoctrine\Fluent\EntityMapping; use LaravelDoctrine\Fluent\Fluent; @@ -30,7 +29,7 @@ public function test_it_should_load_metadata_for_entities_that_were_added_to_it( $driver->addMapping(new FakeClassMapping()); $driver->loadMetadataForClass( FakeEntity::class, - new ClassMetadataInfo(FakeEntity::class) + new ClassMetadata(FakeEntity::class) ); $this->assertInstanceOf( @@ -46,7 +45,7 @@ public function test_it_should_load_metadata_for_embeddables_that_were_added_to_ $driver->addMapping(new StubEmbeddableMapping()); $driver->loadMetadataForClass( StubEmbeddable::class, - new ClassMetadataInfo(StubEmbeddable::class) + new ClassMetadata(StubEmbeddable::class) ); $this->assertInstanceOf( @@ -62,7 +61,7 @@ public function test_it_should_load_metadata_for_mapped_super_classes_that_were_ $driver->addMapping(new StubMappedSuperClassMapping()); $driver->loadMetadataForClass( StubMappedSuperClass::class, - new ClassMetadataInfo(StubMappedSuperClass::class) + new ClassMetadata(StubMappedSuperClass::class) ); $this->assertInstanceOf( @@ -81,7 +80,7 @@ public function test_it_should_load_metadata_for_mappings_passed_as_constructor_ $driver->loadMetadataForClass( StubEntity::class, - new ClassMetadataInfo(StubEntity::class) + new ClassMetadata(StubEntity::class) ); $this->assertInstanceOf( EntityMapper::class, @@ -90,7 +89,7 @@ public function test_it_should_load_metadata_for_mappings_passed_as_constructor_ $driver->loadMetadataForClass( StubEmbeddable::class, - new ClassMetadataInfo(StubEmbeddable::class) + new ClassMetadata(StubEmbeddable::class) ); $this->assertInstanceOf( EmbeddableMapper::class, @@ -99,7 +98,7 @@ public function test_it_should_load_metadata_for_mappings_passed_as_constructor_ $driver->loadMetadataForClass( StubMappedSuperClass::class, - new ClassMetadataInfo(StubMappedSuperClass::class) + new ClassMetadata(StubMappedSuperClass::class) ); $this->assertInstanceOf( MappedSuperClassMapper::class, @@ -212,7 +211,7 @@ public function test_it_should_fail_when_asked_for_metadata_that_was_not_added_t $driver->loadMetadataForClass( FakeEntity::class, - new ClassMetadataInfo(FakeEntity::class) + new ClassMetadata(FakeEntity::class) ); } @@ -228,7 +227,7 @@ public function test_allow_other_fluent_implementations() $mapping->expects($this->once())->method('map')->with($this->isInstanceOf(CustomBuilder::class)); $driver->getMappers()->addMapper('fake', new EntityMapper($mapping)); - $driver->loadMetadataForClass('fake', new ClassMetadataInfo('fake')); + $driver->loadMetadataForClass('fake', new ClassMetadata('fake')); } } diff --git a/tests/Mappers/EmbeddableMapperTest.php b/tests/Mappers/EmbeddableMapperTest.php index 3cdd19a..b542043 100644 --- a/tests/Mappers/EmbeddableMapperTest.php +++ b/tests/Mappers/EmbeddableMapperTest.php @@ -3,7 +3,7 @@ namespace Tests\Mappers; use Doctrine\ORM\Mapping\Builder\ClassMetadataBuilder; -use Doctrine\ORM\Mapping\ClassMetadataInfo; +use Doctrine\ORM\Mapping\ClassMetadata; use LaravelDoctrine\Fluent\Builders\Builder; use LaravelDoctrine\Fluent\Mappers\EmbeddableMapper; use LaravelDoctrine\Fluent\Mappers\Mapper; @@ -36,7 +36,7 @@ public function test_it_should_be_transient() public function test_it_should_delegate_the_proper_mapping_to_the_mapping_class() { - $metadata = new ClassMetadataInfo(StubEmbeddable::class); + $metadata = new ClassMetadata(StubEmbeddable::class); $builder = new Builder(new ClassMetadataBuilder($metadata)); $this->mapper->map($builder); diff --git a/tests/Mappers/EntityMapperTest.php b/tests/Mappers/EntityMapperTest.php index 81d66cb..ff0844b 100644 --- a/tests/Mappers/EntityMapperTest.php +++ b/tests/Mappers/EntityMapperTest.php @@ -3,7 +3,7 @@ namespace Tests\Mappers; use Doctrine\ORM\Mapping\Builder\ClassMetadataBuilder; -use Doctrine\ORM\Mapping\ClassMetadataInfo; +use Doctrine\ORM\Mapping\ClassMetadata; use LaravelDoctrine\Fluent\Builders\Builder; use LaravelDoctrine\Fluent\Mappers\EntityMapper; use LaravelDoctrine\Fluent\Mappers\Mapper; @@ -36,7 +36,7 @@ public function test_it_should_not_be_transient() public function test_it_should_delegate_the_proper_mapping_to_the_mapping_class() { - $metadata = new ClassMetadataInfo(StubEntity::class); + $metadata = new ClassMetadata(StubEntity::class); $builder = new Builder(new ClassMetadataBuilder($metadata)); $this->mapper->map($builder); diff --git a/tests/Mappers/MappedSuperClassMapperTest.php b/tests/Mappers/MappedSuperClassMapperTest.php index 310e50f..f162d67 100644 --- a/tests/Mappers/MappedSuperClassMapperTest.php +++ b/tests/Mappers/MappedSuperClassMapperTest.php @@ -3,7 +3,7 @@ namespace Tests\Mappers; use Doctrine\ORM\Mapping\Builder\ClassMetadataBuilder; -use Doctrine\ORM\Mapping\ClassMetadataInfo; +use Doctrine\ORM\Mapping\ClassMetadata; use LaravelDoctrine\Fluent\Builders\Builder; use LaravelDoctrine\Fluent\Mappers\MappedSuperClassMapper; use LaravelDoctrine\Fluent\Mappers\Mapper; @@ -36,7 +36,7 @@ public function test_it_should_not_be_transient() public function test_it_should_delegate_the_proper_mapping_to_the_mapping_class() { - $metadata = new ClassMetadataInfo(StubMappedSuperClass::class); + $metadata = new ClassMetadata(StubMappedSuperClass::class); $builder = new Builder(new ClassMetadataBuilder($metadata)); $this->mapper->map($builder); diff --git a/tests/Relations/ManyToManyTest.php b/tests/Relations/ManyToManyTest.php index 32cf25b..ba34d5c 100644 --- a/tests/Relations/ManyToManyTest.php +++ b/tests/Relations/ManyToManyTest.php @@ -3,7 +3,7 @@ namespace Tests\Relations; use Doctrine\ORM\Mapping\Builder\ClassMetadataBuilder; -use Doctrine\ORM\Mapping\ClassMetadataInfo; +use Doctrine\ORM\Mapping\ClassMetadata; use Doctrine\ORM\Mapping\DefaultNamingStrategy; use LaravelDoctrine\Fluent\Relations\ManyToMany; use Mockery\Adapter\Phpunit\MockeryPHPUnitIntegration; @@ -41,7 +41,7 @@ class ManyToManyTest extends RelationTestCase protected function setUp(): void { - $this->builder = new ClassMetadataBuilder(new ClassMetadataInfo( + $this->builder = new ClassMetadataBuilder(new ClassMetadata( FluentEntity::class )); diff --git a/tests/Relations/ManyToOneTest.php b/tests/Relations/ManyToOneTest.php index b5c7b0c..6da0ffe 100644 --- a/tests/Relations/ManyToOneTest.php +++ b/tests/Relations/ManyToOneTest.php @@ -3,7 +3,7 @@ namespace Tests\Relations; use Doctrine\ORM\Mapping\Builder\ClassMetadataBuilder; -use Doctrine\ORM\Mapping\ClassMetadataInfo; +use Doctrine\ORM\Mapping\ClassMetadata; use Doctrine\ORM\Mapping\DefaultNamingStrategy; use LaravelDoctrine\Fluent\Builders\Traits\Macroable; use LaravelDoctrine\Fluent\Relations\JoinColumn; @@ -37,7 +37,7 @@ class ManyToOneTest extends RelationTestCase protected function setUp(): void { - $this->builder = new ClassMetadataBuilder(new ClassMetadataInfo( + $this->builder = new ClassMetadataBuilder(new ClassMetadata( FluentEntity::class )); diff --git a/tests/Relations/OneToManyTest.php b/tests/Relations/OneToManyTest.php index c33f927..9da7378 100644 --- a/tests/Relations/OneToManyTest.php +++ b/tests/Relations/OneToManyTest.php @@ -3,7 +3,7 @@ namespace Tests\Relations; use Doctrine\ORM\Mapping\Builder\ClassMetadataBuilder; -use Doctrine\ORM\Mapping\ClassMetadataInfo; +use Doctrine\ORM\Mapping\ClassMetadata; use Doctrine\ORM\Mapping\DefaultNamingStrategy; use LaravelDoctrine\Fluent\Relations\ManyToOne; use LaravelDoctrine\Fluent\Relations\OneToMany; @@ -38,7 +38,7 @@ class OneToManyTest extends RelationTestCase protected function setUp(): void { - $this->builder = new ClassMetadataBuilder(new ClassMetadataInfo( + $this->builder = new ClassMetadataBuilder(new ClassMetadata( FluentEntity::class )); diff --git a/tests/Relations/OneToOneTest.php b/tests/Relations/OneToOneTest.php index df51cbd..405dfa2 100644 --- a/tests/Relations/OneToOneTest.php +++ b/tests/Relations/OneToOneTest.php @@ -3,7 +3,7 @@ namespace Tests\Relations; use Doctrine\ORM\Mapping\Builder\ClassMetadataBuilder; -use Doctrine\ORM\Mapping\ClassMetadataInfo; +use Doctrine\ORM\Mapping\ClassMetadata; use Doctrine\ORM\Mapping\DefaultNamingStrategy; use LaravelDoctrine\Fluent\Builders\Traits\Macroable; use LaravelDoctrine\Fluent\Relations\ManyToOne; @@ -41,7 +41,7 @@ class OneToOneTest extends RelationTestCase protected function setUp(): void { - $this->builder = new ClassMetadataBuilder(new ClassMetadataInfo( + $this->builder = new ClassMetadataBuilder(new ClassMetadata( FluentEntity::class )); diff --git a/tests/Relations/RelationTestCase.php b/tests/Relations/RelationTestCase.php index e379069..bf45204 100644 --- a/tests/Relations/RelationTestCase.php +++ b/tests/Relations/RelationTestCase.php @@ -5,6 +5,7 @@ use BadMethodCallException; use Doctrine\ORM\Mapping\ClassMetadata; use InvalidArgumentException; +use LaravelDoctrine\Fluent\Relations\Relation; use PHPUnit\Framework\TestCase; class RelationTestCase extends TestCase