og-8.x-1.x-dev/tests/src/Kernel/Action/ChangeOgMembershipActionTestBase.php

tests/src/Kernel/Action/ChangeOgMembershipActionTestBase.php
<?php

declare(strict_types=1);

namespace Drupal\Tests\og\Kernel\Action;

/**
 * Base class for testing action plugins that change membership roles.
 */
abstract class ChangeOgMembershipActionTestBase extends ActionTestBase {

  /**
   * {@inheritdoc}
   */
  public static function accessProvider(): array {
    return [
      // The super user has access to this action for all member types.
      ['uid1', 'member'],
      ['uid1', 'pending'],
      ['uid1', 'blocked'],
      ['uid1', 'group_administrator'],
      ['uid1', 'group_moderator'],
      // A global administrator has access to this action for all member types.
      ['administrator', 'member'],
      ['administrator', 'pending'],
      ['administrator', 'blocked'],
      ['administrator', 'group_administrator'],
      ['administrator', 'group_moderator'],
      // A group administrator has access to this action for all member types.
      ['group_administrator', 'member'],
      ['group_administrator', 'pending'],
      ['group_administrator', 'blocked'],
      ['group_administrator', 'group_administrator'],
      ['group_administrator', 'group_moderator'],
      // A group moderator has access to this action for all member types.
      ['group_administrator', 'member'],
      ['group_administrator', 'pending'],
      ['group_administrator', 'blocked'],
      ['group_administrator', 'group_administrator'],
      ['group_administrator', 'group_moderator'],
      // A group owner has access to this action for all member types, if the
      // 'group_administrator_full_access' configuration option is set.
      ['group_owner', 'member', TRUE],
      ['group_owner', 'pending', TRUE],
      ['group_owner', 'blocked', TRUE],
      ['group_owner', 'group_administrator', TRUE],
      ['group_owner', 'group_moderator', TRUE],
    ];
  }

  /**
   * {@inheritdoc}
   */
  public static function noAccessProvider(): array {
    return [
      // An anonymous user doesn't have access to this action.
      ['anonymous', 'member'],
      ['anonymous', 'pending'],
      ['anonymous', 'blocked'],
      ['anonymous', 'group_administrator'],
      ['anonymous', 'group_moderator'],
      // A normal authenticated user doesn't have access.
      ['authenticated', 'member'],
      ['authenticated', 'pending'],
      ['authenticated', 'blocked'],
      ['authenticated', 'group_administrator'],
      ['authenticated', 'group_moderator'],
      // A normal group member doesn't have access.
      ['member', 'member'],
      ['member', 'pending'],
      ['member', 'blocked'],
      ['member', 'group_administrator'],
      ['member', 'group_moderator'],
      // A pending group member doesn't have access.
      ['pending', 'member'],
      ['pending', 'pending'],
      ['pending', 'blocked'],
      ['pending', 'group_administrator'],
      ['pending', 'group_moderator'],
      // A blocked group member doesn't have access.
      ['blocked', 'member'],
      ['blocked', 'pending'],
      ['blocked', 'blocked'],
      ['blocked', 'group_administrator'],
      ['blocked', 'group_moderator'],
      // A group owner doesn't have access if the
      // 'group_administrator_full_access' configuration option is not set.
      ['group_owner', 'member', FALSE],
      ['group_owner', 'pending', FALSE],
      ['group_owner', 'blocked', FALSE],
      ['group_owner', 'group_administrator', FALSE],
      ['group_owner', 'group_moderator', FALSE],
    ];
  }

}

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

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