Skip to content

Commit b02bfca

Browse files
committed
OXDEV-9078 Rework middle state case in JsonResponse
1 parent 43d7c8c commit b02bfca

3 files changed

Lines changed: 7 additions & 18 deletions

File tree

src/Authentication/TwoFactorAuth/Transput/JsonResponse.php

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -13,21 +13,14 @@
1313

1414
class JsonResponse implements JsonResponseInterface
1515
{
16-
private int $statusCode = 200;
17-
1816
public function __construct(
1917
private readonly Utils $utils
2018
) {
2119
}
2220

23-
public function setStatusCode(int $code): void
24-
{
25-
$this->statusCode = $code;
26-
}
27-
28-
public function send(array $data): void
21+
public function send(array $data, int $statusCode = 200): void
2922
{
30-
$this->utils->setHeader('HTTP/1.1 ' . $this->statusCode);
23+
$this->utils->setHeader('HTTP/1.1 ' . $statusCode);
3124
$this->utils->setHeader('Content-Type: application/json');
3225

3326
$response = (string) json_encode($data);

src/Authentication/TwoFactorAuth/Transput/JsonResponseInterface.php

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,5 @@
99

1010
interface JsonResponseInterface
1111
{
12-
public function setStatusCode(int $code): void;
13-
14-
public function send(array $data): void;
12+
public function send(array $data, int $statusCode = 200): void;
1513
}

tests/Unit/Authentication/TwoFactorAuth/Transput/JsonResponseTest.php

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -36,13 +36,12 @@ public function testSendOutputsJsonEncodedData(): void
3636
{
3737
$data = ['status' => 'ok', 'code' => 123];
3838

39-
$utilsMock = $this->createMock(Utils::class);
40-
$utilsMock->method('setHeader');
41-
$utilsMock->expects($this->once())
39+
$utilsSpy = $this->createMock(Utils::class);
40+
$utilsSpy->expects($this->once())
4241
->method('showMessageAndExit')
4342
->with(json_encode($data));
4443

45-
$sut = new JsonResponse($utilsMock);
44+
$sut = new JsonResponse($utilsSpy);
4645
$sut->send($data);
4746
}
4847

@@ -57,8 +56,7 @@ public function testSendWithCustomStatusCode(): void
5756
$utilsMock->method('showMessageAndExit');
5857

5958
$sut = new JsonResponse($utilsMock);
60-
$sut->setStatusCode(429);
61-
$sut->send([]);
59+
$sut->send([], 429);
6260

6361
$this->assertContains('HTTP/1.1 429', $headers);
6462
}

0 commit comments

Comments
 (0)