major refactor

- add request status to search instance API
- use JSend-type response in elixForms clients
- readjust namespaces
- add more unit tests (manual HTTP requests too)
This commit is contained in:
2026-07-24 14:56:25 +02:00
parent ef53ee8364
commit 33ff4d9577
11 changed files with 315 additions and 129 deletions
+17 -9
View File
@@ -5,8 +5,8 @@ use Api\Controllers\V1\ElixFormsController;
use Api\Core\Config;
use Api\Core\Request;
use Api\Core\Response;
use ElixForms\Auth\ElixFormsApiClient;
use ElixForms\Auth\ElixFormsAuthenticationClient;
use ElixForms\Clients\ElixFormsApiClient;
use ElixForms\Clients\ElixFormsAuthenticationClient;
use PHPUnit\Framework\TestCase;
final class ElixFormsControllerTest extends TestCase
@@ -18,9 +18,9 @@ final class ElixFormsControllerTest extends TestCase
{
}
public function login(string $username, string $password): string
public function login(string $username, string $password): array
{
return 'token';
return ['status' => 'success', 'data' => ['authToken' => 'token']];
}
};
$apiClient = new class extends ElixFormsApiClient {
@@ -32,14 +32,18 @@ final class ElixFormsControllerTest extends TestCase
string $moduleTag,
string $authToken,
string $username,
?int $status = null
?string $requestStatuses = null
): array
{
return [
if ($requestStatuses !== 'IN_PROGRESS,PROCESSED') {
throw new \RuntimeException('requestStatuses non inoltrato al client.');
}
return ['status' => 'success', 'data' => [
['idDomanda' => 10],
['requestId' => 20],
['idRequest' => 30],
];
]];
}
public function getExportTags(
@@ -69,7 +73,7 @@ final class ElixFormsControllerTest extends TestCase
],
];
return [$tags[$requestId]];
return ['status' => 'success', 'data' => [$tags[$requestId]]];
}
};
$config = new class extends Config {
@@ -85,6 +89,7 @@ final class ElixFormsControllerTest extends TestCase
'moduleTag' => 'MODULO',
'fieldName' => 'contratto.id',
'fieldValue' => 'abc-123',
'requestStatuses' => 'IN_PROGRESS,PROCESSED',
'exportGroup' => ' CUSTOM ',
];
}
@@ -97,7 +102,10 @@ final class ElixFormsControllerTest extends TestCase
self::fail('La risposta avrebbe dovuto interrompere il flusso del test.');
} catch (CapturedResponseException $exception) {
self::assertSame(200, $exception->status);
self::assertSame([['requestId' => 20]], $exception->payload);
self::assertSame([
'status' => 'success',
'data' => [['requestId' => 20]],
], $exception->payload);
}
}