Skip to content

Commit 8ca72a4

Browse files
committed
Merge branch '2.20.x' into 3.5.x
* 2.20.x: Remove calls to getMockForAbstractClass() (#12003)
2 parents daf74b7 + 4274dac commit 8ca72a4

File tree

2 files changed

+28
-19
lines changed

2 files changed

+28
-19
lines changed

tests/Tests/ORM/Functional/QueryCacheTest.php

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
namespace Doctrine\Tests\ORM\Functional;
66

7+
use Doctrine\DBAL\Connection;
78
use Doctrine\ORM\Query;
89
use Doctrine\ORM\Query\Exec\AbstractSqlExecutor;
910
use Doctrine\ORM\Query\ParserResult;
@@ -122,14 +123,15 @@ public function testQueryCacheHitDoesNotSaveParserResult(): void
122123

123124
$query = $this->_em->createQuery('select ux from Doctrine\Tests\Models\CMS\CmsUser ux');
124125

125-
$sqlExecMock = $this->createMock(AbstractSqlExecutor::class);
126-
127-
$sqlExecMock->expects(self::once())
128-
->method('execute')
129-
->willReturn(10);
126+
$sqlExecutorStub = new class extends AbstractSqlExecutor {
127+
public function execute(Connection $conn, array $params, array $types): int
128+
{
129+
return 10;
130+
}
131+
};
130132

131133
$parserResultMock = new ParserResult();
132-
$parserResultMock->setSqlExecutor($sqlExecMock);
134+
$parserResultMock->setSqlExecutor($sqlExecutorStub);
133135

134136
$cache = $this->createMock(CacheItemPoolInterface::class);
135137

tests/Tests/ORM/Hydration/AbstractHydratorTest.php

Lines changed: 20 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,11 @@
1010
use Doctrine\DBAL\Result;
1111
use Doctrine\ORM\EntityManagerInterface;
1212
use Doctrine\ORM\Events;
13-
use Doctrine\ORM\Exception\ORMException;
1413
use Doctrine\ORM\Internal\Hydration\AbstractHydrator;
1514
use Doctrine\ORM\Query\ResultSetMapping;
1615
use Doctrine\Tests\Models\Hydration\SimpleEntity;
1716
use Doctrine\Tests\OrmFunctionalTestCase;
17+
use LogicException;
1818
use PHPUnit\Framework\Attributes\CoversClass;
1919
use PHPUnit\Framework\Attributes\Group;
2020
use PHPUnit\Framework\MockObject\MockObject;
@@ -27,7 +27,7 @@ class AbstractHydratorTest extends OrmFunctionalTestCase
2727
private EventManager&MockObject $mockEventManager;
2828
private Result&MockObject $mockResult;
2929
private ResultSetMapping&MockObject $mockResultMapping;
30-
private AbstractHydrator&MockObject $hydrator;
30+
private DummyHydrator $hydrator;
3131

3232
protected function setUp(): void
3333
{
@@ -52,11 +52,7 @@ protected function setUp(): void
5252
->method('fetchAssociative')
5353
->willReturn(false);
5454

55-
$this->hydrator = $this
56-
->getMockBuilder(AbstractHydrator::class)
57-
->onlyMethods(['hydrateAllData'])
58-
->setConstructorArgs([$mockEntityManagerInterface])
59-
->getMock();
55+
$this->hydrator = new DummyHydrator($mockEntityManagerInterface);
6056
}
6157

6258
/**
@@ -142,13 +138,9 @@ public function testHydrateAllClearsAllAttachedListenersEvenOnError(): void
142138
$this->assertTrue($eventListenerHasBeenRegistered);
143139
});
144140

145-
$this
146-
->hydrator
147-
->expects(self::once())
148-
->method('hydrateAllData')
149-
->willThrowException($this->createStub(ORMException::class));
141+
$this->hydrator->throwException = true;
150142

151-
$this->expectException(ORMException::class);
143+
$this->expectException(LogicException::class);
152144
$this->hydrator->hydrateAll($this->mockResult, $this->mockResultMapping);
153145
}
154146

@@ -181,3 +173,18 @@ public function testToIterableIfYieldAndBreakBeforeFinishAlwaysCleansUp(): void
181173
self::assertCount(0, $evm->getListeners(Events::onClear));
182174
}
183175
}
176+
177+
class DummyHydrator extends AbstractHydrator
178+
{
179+
public bool $throwException = false;
180+
181+
/** @return array{} */
182+
protected function hydrateAllData(): array
183+
{
184+
if ($this->throwException) {
185+
throw new LogicException();
186+
}
187+
188+
return [];
189+
}
190+
}

0 commit comments

Comments
 (0)