graphql_core_schema-1.0.x-dev/tests/src/Kernel/SchemaExtension/BreadcrumbExtensionTest.php

tests/src/Kernel/SchemaExtension/BreadcrumbExtensionTest.php
<?php

namespace Drupal\Tests\graphql_core_schema\Kernel\SchemaExtension;

use Drupal\node\Entity\Node;
use Drupal\node\Entity\NodeType;
use Drupal\Tests\graphql_core_schema\Kernel\CoreComposableKernelTestBase;
use GraphQL\Server\OperationParams;

/**
 * Tests the breadcrumb extension.
 *
 * @group graphql_core_schema
 */
class BreadcrumbExtensionTest extends CoreComposableKernelTestBase {

  /**
   * {@inheritdoc}
   */
  protected function setUp(): void {
    parent::setUp();
    $this->enableModules(['path_alias']);
    $this->installEntitySchema('path_alias');
  }

  /**
   * Resolves a simple breadcrumb.
   */
  public function testSimpleBreadcrumb(): void {
    NodeType::create(['type' => 'article'])->save();

    \Drupal::state()->set('router.path_roots', ['user', 'admin', 'node']);

    $user = $this->setUpCurrentUser(['uid' => 1], [], TRUE);
    $this->setCurrentUser($user);

    $node1 = Node::create([
      'type' => 'article',
      'title' => 'Test',
    ]);
    $node1->save();

    $server = $this->getCoreComposableServerBuilder()
      ->enableEntityType('node')
      ->enableExtension('routing')
      ->enableExtension('breadcrumb')
      ->enableBaseEntityField('label')
      ->enableValueFields()
      ->createServer();

    $query = <<<GQL
    query breadcrumb(\$path: String!) {
      route(path: \$path) {
        __typename
        ... on InternalUrl {
          breadcrumb {
            title
            url {
              path
            }
          }
        }
      }
    }
    GQL;

    $server->executeOperation(OperationParams::create([
      'query' => $query,
      'variables' => [
        'path' => '/en/admin/config/system',
      ],
    ]));
  }

}

Главная | Обратная связь

drupal hosting | друпал хостинг | it patrol .inc