widget_engine-8.x-1.2/modules/widget_engine_domain_access/tests/src/Kernel/WidgetEngineDomainAccessPermissionsTest.php

modules/widget_engine_domain_access/tests/src/Kernel/WidgetEngineDomainAccessPermissionsTest.php
<?php

namespace Drupal\Tests\widget_engine_domain_access\Kernel;

use Drupal\KernelTests\KernelTestBase;
use Drupal\Tests\domain\Traits\DomainTestTrait;
use Drupal\Tests\widget_engine\Traits\WidgetTypeCreationTrait;

/**
 * @group widget_engine_domain_access
 */
class WidgetEngineDomainAccessPermissionsTest extends KernelTestBase {

  use WidgetTypeCreationTrait;
  use DomainTestTrait;

  /**
   * Modules to enable.
   *
   * @var string[]
   */
  protected static $modules = [
    'system',
    'user',
    'node',
    'field',
    'text',
    'domain',
    'domain_access',
    'widget_engine',
    'widget_engine_domain_access',
  ];

  /**
   * Base widget ID.
   *
   * @var string
   */
  private $widgetType = 'test_widget';

  /**
   * {@inheritdoc}
   */
  protected function setUp(): void {
    parent::setUp();

    $this->createWidgeType(['type' => $this->widgetType]);
  }

  /**
   * Permissions generation test.
   */
  public function testPermissions() {
    $permissionsManager = \Drupal::service('user.permissions');
    $permissions = [];
    foreach ($permissionsManager->getPermissions() as $permission_name => $permission) {
      if ($permission['provider'] == 'widget_engine_domain_access') {
        $permissions[] = $permission_name;
      }
    }

    $expected_permissions[] = 'save widgets on any domain';
    $expected_permissions[] = 'save widgets on any assigned domain';
    $expected_permissions[] = 'create domain widgets';
    $expected_permissions[] = 'edit domain widgets';
    $expected_permissions[] = 'delete domain widgets';
    $expected_permissions[] = 'view unpublished domain widgets';
    $expected_permissions[] = 'create ' . $this->widgetType . ' widget on assigned domains';
    $expected_permissions[] = 'update ' . $this->widgetType . ' widget on assigned domains';
    $expected_permissions[] = 'delete ' . $this->widgetType . ' widget on assigned domains';

    $this->assertTrue(empty(array_diff($permissions, $expected_permissions)), 'Permissions generated correctly');
  }

}

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

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