Skip to content

Commit 90a16d2

Browse files
committed
Restored StopWatchDecorator integration tests
1 parent 166785d commit 90a16d2

File tree

1 file changed

+65
-59
lines changed

1 file changed

+65
-59
lines changed

tests/Integration/Decorator/StopwatchDecoratorTest.php

Lines changed: 65 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -95,32 +95,35 @@ public function testThatDecoratorReturnsTheSameInstanceIfFactoryFails(): void
9595
#[TestDox('Test that `decorate` method decorates possible inner objects / services')]
9696
public function testThatDecoratorAlsoDecoratesInnerObjects(): void
9797
{
98-
self::markTestSkipped('Skipped for now, as this is not working as expected...');
99-
100-
//$managerRegistry = $this->getMockBuilder(ManagerRegistry::class)->disableOriginalConstructor()->getMock();
101-
//$entityManager = $this->getMockBuilder(EntityManager::class)->disableOriginalConstructor()->getMock();
102-
//$stopWatch = $this->getMockBuilder(Stopwatch::class)->disableOriginalConstructor()->getMock();
103-
//
104-
//$managerRegistry
105-
// ->expects($this->once())
106-
// ->method('getManagerForClass')
107-
// ->willReturn($entityManager);
108-
//
109-
//$stopWatch
110-
// ->expects($this->exactly(2))
111-
// ->method('start');
112-
//
113-
//$stopWatch
114-
// ->expects($this->exactly(2))
115-
// ->method('stop');
116-
//
117-
//$decorator = new StopwatchDecorator(new AccessInterceptorValueHolderFactory(), $stopWatch);
118-
//$repository = new ApiKeyRepository($managerRegistry);
119-
//$resource = new ApiKeyResource($repository);
120-
//
121-
///** @var ApiKeyResource $decoratedService */
122-
//$decoratedService = $decorator->decorate($resource);
123-
//$decoratedService->getRepository()->getEntityManager();
98+
$managerRegistry = $this->getMockBuilder(ManagerRegistry::class)->disableOriginalConstructor()->getMock();
99+
$entityManager = $this->getMockBuilder(EntityManager::class)->disableOriginalConstructor()->getMock();
100+
$stopWatch = $this->getMockBuilder(Stopwatch::class)->disableOriginalConstructor()->getMock();
101+
102+
$managerRegistry
103+
->expects($this->once())
104+
->method('getManagerForClass')
105+
->willReturn($entityManager);
106+
107+
$entityManager
108+
->expects($this->once())
109+
->method('isOpen')
110+
->willReturn(true);
111+
112+
$stopWatch
113+
->expects($this->exactly(2))
114+
->method('start');
115+
116+
$stopWatch
117+
->expects($this->exactly(2))
118+
->method('stop');
119+
120+
$decorator = new StopwatchDecorator(new AccessInterceptorValueHolderFactory(), $stopWatch);
121+
$repository = new ApiKeyRepository($managerRegistry);
122+
$resource = new ApiKeyResource($repository);
123+
124+
/** @var ApiKeyResource $decoratedService */
125+
$decoratedService = $decorator->decorate($resource);
126+
$decoratedService->getRepository()->getEntityManager();
124127
}
125128

126129
/**
@@ -129,39 +132,42 @@ public function testThatDecoratorAlsoDecoratesInnerObjects(): void
129132
#[TestDox('Test that `decorate` method does not decorate entity objects')]
130133
public function testThatDecoratorDoesNotTryToDecorateEntityObjects(): void
131134
{
132-
self::markTestSkipped('Skipped for now, as this is not working as expected...');
133-
134-
//$apiKey = new ApiKey();
135-
//
136-
//$managerRegistry = $this->getMockBuilder(ManagerRegistry::class)->disableOriginalConstructor()->getMock();
137-
//$entityManager = $this->getMockBuilder(EntityManager::class)->disableOriginalConstructor()->getMock();
138-
//$stopWatch = $this->getMockBuilder(Stopwatch::class)->disableOriginalConstructor()->getMock();
139-
//
140-
//$managerRegistry
141-
// ->expects($this->once())
142-
// ->method('getManagerForClass')
143-
// ->willReturn($entityManager);
144-
//
145-
//$entityManager
146-
// ->expects($this->once())
147-
// ->method('find')
148-
// ->willReturn($apiKey);
149-
//
150-
//$stopWatch
151-
// ->expects($this->once())
152-
// ->method('start');
153-
//
154-
//$stopWatch
155-
// ->expects($this->once())
156-
// ->method('stop');
157-
//
158-
//$decorator = new StopwatchDecorator(new AccessInterceptorValueHolderFactory(), $stopWatch);
159-
//$repository = new ApiKeyRepository($managerRegistry);
160-
//
161-
///** @var ApiKeyRepository $decoratedService */
162-
//$decoratedService = $decorator->decorate($repository);
163-
//
164-
//self::assertSame($apiKey, $decoratedService->find($apiKey->getId()));
135+
$apiKey = new ApiKey();
136+
137+
$managerRegistry = $this->getMockBuilder(ManagerRegistry::class)->disableOriginalConstructor()->getMock();
138+
$entityManager = $this->getMockBuilder(EntityManager::class)->disableOriginalConstructor()->getMock();
139+
$stopWatch = $this->getMockBuilder(Stopwatch::class)->disableOriginalConstructor()->getMock();
140+
141+
$managerRegistry
142+
->expects($this->once())
143+
->method('getManagerForClass')
144+
->willReturn($entityManager);
145+
146+
$entityManager
147+
->expects($this->once())
148+
->method('find')
149+
->willReturn($apiKey);
150+
151+
$entityManager
152+
->expects($this->once())
153+
->method('isOpen')
154+
->willReturn(true);
155+
156+
$stopWatch
157+
->expects($this->once())
158+
->method('start');
159+
160+
$stopWatch
161+
->expects($this->once())
162+
->method('stop');
163+
164+
$decorator = new StopwatchDecorator(new AccessInterceptorValueHolderFactory(), $stopWatch);
165+
$repository = new ApiKeyRepository($managerRegistry);
166+
167+
/** @var ApiKeyRepository $decoratedService */
168+
$decoratedService = $decorator->decorate($repository);
169+
170+
self::assertSame($apiKey, $decoratedService->find($apiKey->getId()));
165171
}
166172

167173
/**

0 commit comments

Comments
 (0)