| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- <?php
- namespace Webkul\BagistoApi\Tests\Unit\Http\Middleware;
- use Illuminate\Http\Request;
- use Illuminate\Http\JsonResponse;
- use Tests\TestCase;
- use Webkul\BagistoApi\Http\Middleware\SearchMetadataResponse;
- class SearchMetadataResponseTest extends TestCase
- {
- public function test_it_adds_search_metadata_to_rest_response_meta(): void
- {
- $request = Request::create('/api/shop/products', 'GET');
- $request->attributes->set('bagistoapi.search_metadata', $this->metadata());
- $response = (new SearchMetadataResponse())->handle(
- $request,
- fn () => response()->json(['member' => []])
- );
- $this->assertInstanceOf(JsonResponse::class, $response);
- $this->assertSame($this->metadata(), $response->getData(true)['meta']['searchMetadata']);
- }
- public function test_it_adds_search_metadata_to_graphql_extensions(): void
- {
- $request = Request::create('/api/graphql', 'POST');
- $request->attributes->set('bagistoapi.search_metadata', $this->metadata());
- $response = (new SearchMetadataResponse())->handle(
- $request,
- fn () => response()->json(['data' => ['products' => []]])
- );
- $this->assertInstanceOf(JsonResponse::class, $response);
- $this->assertSame($this->metadata(), $response->getData(true)['extensions']['searchMetadata']);
- }
- private function metadata(): array
- {
- return [
- 'originalQuery' => 'readyy',
- 'effectiveQuery' => 'ready',
- 'resultMessage' => 'These are results for: ready',
- 'searchInsteadMessage' => 'Search instead for readyy',
- ];
- }
- }
|