factory_lollipop-1.0.x-dev/tests/src/Kernel/FactoryType/RoleFactoryTypeTest.php

tests/src/Kernel/FactoryType/RoleFactoryTypeTest.php
<?php

namespace Drupal\Tests\factory_lollipop\Kernel\FactoryType;

use Drupal\factory_lollipop\FactoryType\RoleFactoryType;
use Drupal\KernelTests\Core\Entity\EntityKernelTestBase;

/**
 * @coversDefaultClass \Drupal\factory_lollipop\FactoryType\RoleFactoryType
 *
 * @group factory_lollipop
 */
class RoleFactoryTypeTest extends EntityKernelTestBase {

  /**
   * The Role Factory resolver.
   *
   * @var \Drupal\factory_lollipop\FactoryType\RoleFactoryType
   */
  protected $roleFactoryTypeResolver;

  /**
   * {@inheritdoc}
   */
  public function setUp(): void {
    parent::setUp();
    $this->roleFactoryTypeResolver = new RoleFactoryType();
    $this->roleFactoryTypeResolver->setEntityTypeManager($this->container->get('entity_type.manager'));
  }

  /**
   * {@inheritdoc}
   */
  protected static $modules = [
    'user',
  ];

  /**
   * @covers ::create
   */
  public function testCreate(): void {
    $role = $this->roleFactoryTypeResolver->create((object) [
      'rid' => 'architect',
      'name' => 'Architect 1',
      'weight' => 2,
    ]);
    self::assertEquals('architect', $role->id());
    self::assertEquals('Architect 1', $role->label());
    self::assertEquals(2, $role->getWeight());
  }

  /**
   * @covers ::create
   * @depends testCreate
   */
  public function testCreateTwice(): void {
    $this->testCreate();
    $role_same = $this->roleFactoryTypeResolver->create((object) [
      'rid' => 'architect',
      'name' => 'Architect 2',
    ]);
    self::assertEquals('architect', $role_same->id());
    self::assertEquals('Architect 1', $role_same->label());
  }

  /**
   * @covers ::create
   */
  public function testCreateWithPermissions(): void {
    $role = $this->roleFactoryTypeResolver->create((object) [
      'rid' => 'architect',
      'permissions' => ['administer themes'],
    ]);
    self::assertEquals('architect', $role->id());
    self::assertEquals(['administer themes'], $role->getPermissions());
  }

}

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

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