What Changed Removed per-file uses(TestCase::class ...) bindings in Unit tests to avoid Pest v4 “folder already uses the test case” discovery failure (kept RefreshDatabase where needed). Updated the backup scheduling job test to pass the newly required BulkOperationService when manually calling RunBackupScheduleJob::handle(). Where Unit (bulk cleanup across 56 files) RunBackupScheduleJobTest.php Verification ./vendor/bin/sail test → 443 passed, 5 skipped Co-authored-by: Ahmed Darrazi <ahmeddarrazi@adsmac.local> Reviewed-on: #45
44 lines
1.7 KiB
PHP
44 lines
1.7 KiB
PHP
<?php
|
|
|
|
use App\Services\Graph\GraphResponse;
|
|
use App\Services\Graph\MicrosoftGraphClient;
|
|
use GuzzleHttp\Psr7\Response as PsrResponse;
|
|
use Illuminate\Http\Client\RequestException as HttpRequestException;
|
|
use Illuminate\Http\Client\Response as HttpClientResponse;
|
|
use Illuminate\Support\Facades\Http;
|
|
|
|
it('returns a graph response when the HTTP client throws for a 400 response', function () {
|
|
config()->set('graph.client_id', 'client-id');
|
|
config()->set('graph.client_secret', 'secret');
|
|
config()->set('graph.tenant_id', 'tenant-id');
|
|
|
|
Http::fake(function () {
|
|
$psrResponse = new PsrResponse(400, [], json_encode([
|
|
'error' => [
|
|
'code' => 'Request_BadRequest',
|
|
'message' => 'One or more added object references already exist for the following modified properties: \'members\'.',
|
|
],
|
|
]));
|
|
|
|
$response = new HttpClientResponse($psrResponse);
|
|
|
|
throw new HttpRequestException($response);
|
|
});
|
|
|
|
$client = app(MicrosoftGraphClient::class);
|
|
|
|
$response = $client->request('POST', 'groups/group-1/members/$ref', [
|
|
'json' => [
|
|
'@odata.id' => 'https://graph.microsoft.com/v1.0/directoryObjects/sp-1',
|
|
],
|
|
'access_token' => 'delegated-token',
|
|
]);
|
|
|
|
expect($response)->toBeInstanceOf(GraphResponse::class);
|
|
expect($response->failed())->toBeTrue();
|
|
expect($response->status)->toBe(400);
|
|
expect($response->errors[0]['code'] ?? null)->toBe('Request_BadRequest');
|
|
expect(strtolower($response->errors[0]['message'] ?? ''))->toContain('added object references already exist');
|
|
expect($response->data['error']['message'] ?? null)->toContain('object references already exist');
|
|
});
|