Skip to content

Commit c4e260a

Browse files
committed
Change mocks in ServerControllerTest from class properties to array members.
1 parent efd88b1 commit c4e260a

File tree

1 file changed

+29
-47
lines changed

1 file changed

+29
-47
lines changed

solid/tests/Unit/Controller/ServerControllerTest.php

Lines changed: 29 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -44,10 +44,6 @@ class ServerControllerTest extends TestCase
4444
public static string $clientData = '';
4545
private static string $privateKey;
4646

47-
private IConfig|MockObject $mockConfig;
48-
private IURLGenerator|MockObject $mockURLGenerator;
49-
private IUserManager|MockObject $mockUserManager;
50-
5147
public static function setUpBeforeClass(): void
5248
{
5349
$keyPath = __DIR__ . '/../../fixtures/keys';
@@ -85,7 +81,7 @@ public function testInstantiationWithoutRequiredParameter($index)
8581

8682
$this->expectExceptionMessageMatches('/^' . $message . '$/');
8783

88-
new ServerController(...$parameters);
84+
new ServerController(...array_values($parameters));
8985
}
9086

9187
/**
@@ -97,7 +93,7 @@ public function testInstantiation()
9793
{
9894
$parameters = $this->createMockConstructorParameters();
9995

100-
$controller = new ServerController(...$parameters);
96+
$controller = new ServerController(...array_values($parameters));
10197

10298
$this->assertInstanceOf(ServerController::class, $controller);
10399
}
@@ -111,7 +107,7 @@ public function testAuthorizeWithoutUser()
111107
{
112108
$parameters = $this->createMockConstructorParameters();
113109

114-
$controller = new ServerController(...$parameters);
110+
$controller = new ServerController(...array_values($parameters));
115111

116112
$expected = new JSONResponse('Authorization required', Http::STATUS_UNAUTHORIZED);
117113
$actual = $controller->authorize();
@@ -130,9 +126,9 @@ public function testAuthorizeWithoutValidToken()
130126

131127
$parameters = $this->createMockConstructorParameters();
132128

133-
$this->mockUserManager->method('userExists')->willReturn(true);
129+
$parameters['MockUserManager']->method('userExists')->willReturn(true);
134130

135-
$controller = new ServerController(...$parameters);
131+
$controller = new ServerController(...array_values($parameters));
136132

137133
$actual = $controller->authorize();
138134
$expected = new JSONResponse('Bad request, does not contain valid token', Http::STATUS_BAD_REQUEST);
@@ -157,11 +153,11 @@ public function testAuthorizeWithoutApprovedClient()
157153

158154
$parameters = $this->createMockConstructorParameters();
159155

160-
$this->mockConfig->method('getUserValue')->willReturnArgument(3);
156+
$parameters['MockConfig']->method('getUserValue')->willReturnArgument(3);
161157

162-
$this->mockUserManager->method('userExists')->willReturn(true);
158+
$parameters['MockUserManager']->method('userExists')->willReturn(true);
163159

164-
$controller = new ServerController(...$parameters);
160+
$controller = new ServerController(...array_values($parameters));
165161

166162
$actual = $controller->authorize();
167163
$expected = new JSONResponse('Approval required', Http::STATUS_FOUND, ['Location' => '']);
@@ -183,13 +179,13 @@ public function testAuthorizeWithInvalidRedirectUri()
183179

184180
$parameters = $this->createMockConstructorParameters($clientData);
185181

186-
$this->mockConfig->method('getUserValue')
182+
$parameters['MockConfig']->method('getUserValue')
187183
->with(self::MOCK_USER_ID, Application::APP_ID, 'allowedClients', '[]')
188184
->willReturn(json_encode([self::MOCK_CLIENT_ID]));
189185

190-
$this->mockUserManager->method('userExists')->willReturn(true);
186+
$parameters['MockUserManager']->method('userExists')->willReturn(true);
191187

192-
$controller = new ServerController(...$parameters);
188+
$controller = new ServerController(...array_values($parameters));
193189

194190
$response = $controller->authorize();
195191

@@ -238,13 +234,13 @@ public function testAuthorize()
238234

239235
$parameters = $this->createMockConstructorParameters($clientData);
240236

241-
$this->mockConfig->method('getUserValue')
237+
$parameters['MockConfig']->method('getUserValue')
242238
->with(self::MOCK_USER_ID, Application::APP_ID, 'allowedClients', '[]')
243239
->willReturn(json_encode([self::MOCK_CLIENT_ID]));
244240

245-
$this->mockUserManager->method('userExists')->willReturn(true);
241+
$parameters['MockUserManager']->method('userExists')->willReturn(true);
246242

247-
$controller = new ServerController(...$parameters);
243+
$controller = new ServerController(...array_values($parameters));
248244

249245
$response = $controller->authorize();
250246

@@ -300,7 +296,7 @@ public function testRegisterWithoutRedirectUris()
300296
{
301297
$parameters = $this->createMockConstructorParameters();
302298

303-
$controller = new ServerController(...$parameters);
299+
$controller = new ServerController(...array_values($parameters));
304300

305301
$actual = $controller->register();
306302

@@ -319,10 +315,10 @@ public function testRegisterWithRedirectUris()
319315
{
320316
$parameters = $this->createMockConstructorParameters();
321317

322-
$this->mockURLGenerator->method('getBaseUrl')
318+
$parameters['MockURLGenerator']->method('getBaseUrl')
323319
->willReturn('https://mock.server');
324320

325-
$controller = new ServerController(...$parameters);
321+
$controller = new ServerController(...array_values($parameters));
326322

327323
self::$clientData = json_encode(['redirect_uris' => ['https://mock.client/redirect']]);
328324

@@ -393,7 +389,7 @@ public function testToken()
393389
'Content-Type' => 'mock application type'
394390
]));
395391

396-
$controller = new ServerController(...$parameters);
392+
$controller = new ServerController(...array_values($parameters));
397393

398394
$reflectionObject = new \ReflectionObject($controller);
399395
$reflectionProperty = $reflectionObject->getProperty('tokenGenerator');
@@ -429,9 +425,9 @@ public function testToken()
429425

430426
public function createMockConfig($clientData): IConfig|MockObject
431427
{
432-
$this->mockConfig = $this->createMock(IConfig::class);
428+
$mockConfig = $this->createMock(IConfig::class);
433429

434-
$this->mockConfig->method('getAppValue')->willReturnMap([
430+
$mockConfig->method('getAppValue')->willReturnMap([
435431
[Application::APP_ID, 'client-' . self::MOCK_CLIENT_ID, '{}', 'return' => $clientData],
436432
[Application::APP_ID, 'client-d6d7896757f61ac4c397d914053180ff', '{}', 'return' => $clientData],
437433
[Application::APP_ID, 'client-', '{}', 'return' => $clientData],
@@ -442,40 +438,26 @@ public function createMockConfig($clientData): IConfig|MockObject
442438
[Application::APP_ID, 'client-f4a2d00f7602948a97ff409d7a581ec2', '{}', 'return' => $clientData],
443439
]);
444440

445-
return $this->mockConfig;
441+
return $mockConfig;
446442
}
447443

448444
public function createMockConstructorParameters($clientData = '{}'): array
449445
{
450446
$parameters = [
451447
'mock appname',
452-
$this->createMock(IRequest::class),
453-
$this->createMock(ISession::class),
454-
$this->createMockUserManager(),
455-
$this->createMockUrlGenerator(),
456-
self::MOCK_USER_ID,
457-
$this->createMockConfig($clientData),
458-
$this->createMock(UserService::class),
459-
$this->createMock(IDBConnection::class),
448+
'MockRequest' => $this->createMock(IRequest::class),
449+
'MockSession' => $this->createMock(ISession::class),
450+
'MockUserManager' => $this->createMock(IUserManager::class),
451+
'MockURLGenerator' => $this->createMock(IURLGenerator::class),
452+
'MOCK_USER_ID' => self::MOCK_USER_ID,
453+
'MockConfig' => $this->createMockConfig($clientData),
454+
'MockUserService' => $this->createMock(UserService::class),
455+
'MockDBConnection' => $this->createMock(IDBConnection::class),
460456
];
461457

462458
return $parameters;
463459
}
464460

465-
public function createMockUrlGenerator(): IURLGenerator|MockObject
466-
{
467-
$this->mockURLGenerator = $this->createMock(IURLGenerator::class);
468-
469-
return $this->mockURLGenerator;
470-
}
471-
472-
public function createMockUserManager(): IUserManager|MockObject
473-
{
474-
$this->mockUserManager = $this->createMock(IUserManager::class);
475-
476-
return $this->mockUserManager;
477-
}
478-
479461
/////////////////////////////// DATAPROVIDERS \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
480462

481463
public static function provideConstructorParameterIndex()

0 commit comments

Comments
 (0)