Skip to content

Commit 0a143fe

Browse files
authored
Update orm 3.0 (#239)
1 parent 588c8cd commit 0a143fe

File tree

5 files changed

+70
-35
lines changed

5 files changed

+70
-35
lines changed

Command/EnumDropCommentCommand.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -161,6 +161,7 @@ protected function execute(InputInterface $input, OutputInterface $output): int
161161

162162
foreach ($metadata->getFieldNames() as $fieldName) {
163163
if ($metadata->getTypeOfField($fieldName) === $this->enumType) {
164+
/** @var array{columnName: string} $fieldMappingDetails */
164165
$fieldMappingDetails = $metadata->getFieldMapping($fieldName);
165166
$sql = $platform->getCommentOnColumnSQL($tableName, $fieldMappingDetails['columnName'], null);
166167
$connection->executeQuery($sql);

Form/EnumTypeGuesser.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ public function guessType(string $class, string $property): ?TypeGuess
6565
return null;
6666
}
6767

68-
/** @var \Doctrine\ORM\Mapping\ClassMetadataInfo<object> $metadata */
68+
/** @var \Doctrine\ORM\Mapping\ClassMetadata<object> $metadata */
6969
[$metadata] = $classMetadata;
7070
$fieldType = $metadata->getTypeOfField($property);
7171

Tests/Command/EnumDropCommentCommandTest.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
use Doctrine\ORM\EntityManagerInterface;
1818
use Doctrine\ORM\Mapping\ClassMetadata;
1919
use Doctrine\ORM\Mapping\ClassMetadataFactory;
20+
use Doctrine\ORM\Mapping\FieldMapping;
2021
use Doctrine\Persistence\ManagerRegistry;
2122
use Fresh\DoctrineEnumBundle\Command\EnumDropCommentCommand;
2223
use Fresh\DoctrineEnumBundle\Exception\EnumType\EnumTypeIsRegisteredButClassDoesNotExistException;
@@ -244,7 +245,7 @@ public function testSuccessfulExecutionWithMetadata(): void
244245
$metadata->expects(self::once())->method('getTableName')->willReturn('tasks');
245246
$metadata->expects(self::once())->method('getFieldNames')->willReturn(['status']);
246247
$metadata->expects(self::once())->method('getTypeOfField')->with('status')->willReturn('TaskStatusType');
247-
$metadata->expects(self::once())->method('getFieldMapping')->with('status')->willReturn(['columnName' => 'task_column_name']);
248+
$metadata->expects(self::once())->method('getFieldMapping')->with('status')->willReturn(FieldMapping::fromMappingArray(['type'=> 'string', 'columnName' => 'task_column_name', 'fieldName' => 'test']));
248249

249250
$this->platform->expects(self::once())->method('getCommentOnColumnSQL')->with('tasks', 'task_column_name', null)->willReturn('test SQL');
250251

Tests/Form/EnumTypeGuesserTest.php

Lines changed: 65 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212

1313
namespace Fresh\DoctrineEnumBundle\Tests\Form;
1414

15+
use Doctrine\ORM\Mapping\ClassMetadata;
1516
use Doctrine\ORM\Mapping\ClassMetadataInfo;
1617
use Doctrine\Persistence\ManagerRegistry;
1718
use Fresh\DoctrineEnumBundle\Exception\EnumType\EnumTypeIsRegisteredButClassDoesNotExistException;
@@ -61,12 +62,19 @@ public function testNullResultWhenEnumTypeNotRegistered(): void
6162
->getMock()
6263
;
6364

64-
$metadata = $this
65-
->getMockBuilder(ClassMetadataInfo::class)
66-
->disableOriginalConstructor()
67-
->onlyMethods(['getTypeOfField'])
68-
->getMock()
69-
;
65+
if(class_exists(ClassMetadata::class)) {
66+
$metadata = $this->getMockBuilder(ClassMetadata::class)
67+
->disableOriginalConstructor()
68+
->onlyMethods(['getTypeOfField'])
69+
->getMock()
70+
;
71+
} else {
72+
$metadata = $this->getMockBuilder(ClassMetadataInfo::class)
73+
->disableOriginalConstructor()
74+
->onlyMethods(['getTypeOfField'])
75+
->getMock()
76+
;
77+
}
7078

7179
$metadata
7280
->expects(self::once())
@@ -101,12 +109,19 @@ public function testExceptionWhenClassDoesNotExist(): void
101109
->getMock()
102110
;
103111

104-
$metadata = $this
105-
->getMockBuilder(ClassMetadataInfo::class)
106-
->disableOriginalConstructor()
107-
->onlyMethods(['getTypeOfField'])
108-
->getMock()
109-
;
112+
if(class_exists(ClassMetadata::class)) {
113+
$metadata = $this->getMockBuilder(ClassMetadata::class)
114+
->disableOriginalConstructor()
115+
->onlyMethods(['getTypeOfField'])
116+
->getMock()
117+
;
118+
} else {
119+
$metadata = $this->getMockBuilder(ClassMetadataInfo::class)
120+
->disableOriginalConstructor()
121+
->onlyMethods(['getTypeOfField'])
122+
->getMock()
123+
;
124+
}
110125

111126
$metadata
112127
->expects(self::once())
@@ -142,13 +157,19 @@ public function testNullResultWhenIsNotChildOfAbstractEnumType(): void
142157
->onlyMethods(['getMetadata'])
143158
->getMock()
144159
;
145-
146-
$metadata = $this
147-
->getMockBuilder(ClassMetadataInfo::class)
148-
->disableOriginalConstructor()
149-
->onlyMethods(['getTypeOfField'])
150-
->getMock()
151-
;
160+
if(class_exists(ClassMetadata::class)) {
161+
$metadata = $this->getMockBuilder(ClassMetadata::class)
162+
->disableOriginalConstructor()
163+
->onlyMethods(['getTypeOfField'])
164+
->getMock()
165+
;
166+
} else {
167+
$metadata = $this->getMockBuilder(ClassMetadataInfo::class)
168+
->disableOriginalConstructor()
169+
->onlyMethods(['getTypeOfField'])
170+
->getMock()
171+
;
172+
}
152173

153174
$metadata
154175
->expects(self::once())
@@ -183,13 +204,18 @@ public function testSuccessfulTypeGuessingWithAncestor(): void
183204
->getMock()
184205
;
185206

186-
$metadata = $this
187-
->getMockBuilder(ClassMetadataInfo::class)
188-
->disableOriginalConstructor()
189-
->onlyMethods(['getTypeOfField', 'isNullable'])
190-
->getMock()
191-
;
192-
207+
if(class_exists(ClassMetadata::class)) {
208+
$metadata = $this->getMockBuilder(ClassMetadata::class)
209+
->disableOriginalConstructor()
210+
->onlyMethods(['getTypeOfField', 'isNullable'])
211+
->getMock()
212+
;
213+
} else {
214+
$metadata = $this->getMockBuilder(ClassMetadataInfo::class)
215+
->disableOriginalConstructor()
216+
->onlyMethods(['getTypeOfField', 'isNullable'])
217+
->getMock();
218+
}
193219
$metadata
194220
->expects(self::once())
195221
->method('getTypeOfField')
@@ -238,12 +264,19 @@ public function testSuccessfulTypeGuessing(): void
238264
->getMock()
239265
;
240266

241-
$metadata = $this
242-
->getMockBuilder(ClassMetadataInfo::class)
243-
->disableOriginalConstructor()
244-
->onlyMethods(['getTypeOfField', 'isNullable'])
245-
->getMock()
246-
;
267+
if(class_exists(ClassMetadata::class)) {
268+
$metadata = $this->getMockBuilder(ClassMetadata::class)
269+
->disableOriginalConstructor()
270+
->onlyMethods(['getTypeOfField', 'isNullable'])
271+
->getMock()
272+
;
273+
} else {
274+
$metadata = $this->getMockBuilder(ClassMetadataInfo::class)
275+
->disableOriginalConstructor()
276+
->onlyMethods(['getTypeOfField', 'isNullable'])
277+
->getMock()
278+
;
279+
}
247280

248281
$metadata
249282
->expects(self::once())

composer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
"doctrine/common": "^3.4",
2727
"doctrine/dbal": "^3.7",
2828
"doctrine/doctrine-bundle": "^2.11",
29-
"doctrine/orm": "^2.16",
29+
"doctrine/orm": "^2.16|^3.0",
3030
"symfony/config": "^7.0",
3131
"symfony/dependency-injection": "^7.0",
3232
"symfony/doctrine-bridge": "^7.0",

0 commit comments

Comments
 (0)