You are here

public function ProductVariationResourceTest::testCollectionFilterAccess in Commerce Core 8.2

File

modules/product/tests/src/Functional/Jsonapi/ProductVariationResourceTest.php, line 259

Class

ProductVariationResourceTest
JSON:API resource test for variations.

Namespace

Drupal\Tests\commerce_product\Functional\Jsonapi

Code

public function testCollectionFilterAccess() {
  $collection_url = Url::fromRoute('jsonapi.commerce_product_variation--default.collection');
  $collection_filter_url = $collection_url
    ->setOption('query', [
    'filter[sku]' => $this->entity
      ->getSku(),
  ]);
  $request_options = [];
  $request_options[RequestOptions::HEADERS]['Accept'] = 'application/vnd.api+json';
  $request_options = NestedArray::mergeDeep($request_options, $this
    ->getAuthenticationRequestOptions());
  $response = $this
    ->request('GET', $collection_filter_url, $request_options);
  $doc = Json::decode((string) $response
    ->getBody());
  $this
    ->assertCount(0, $doc['data'], var_export($doc, TRUE));
  $this
    ->setUpAuthorization('GET');
  $response = $this
    ->request('GET', $collection_filter_url, $request_options);
  $doc = Json::decode((string) $response
    ->getBody());
  $this
    ->assertCount(1, $doc['data']);
  $this
    ->assertSame($this->entity
    ->uuid(), $doc['data'][0]['id']);
}