reviewer-1.2.x-dev/tests/src/Kernel/Result/ResultFactoryTest.php

tests/src/Kernel/Result/ResultFactoryTest.php
<?php

declare(strict_types=1);

namespace Drupal\Tests\reviewer\Kernel\Result;

use Drupal\KernelTests\KernelTestBase;
use Drupal\reviewer\Reviewer\IgnorerInterface;
use Drupal\reviewer\Reviewer\Result\ResultFactory;
use Drupal\reviewer\Reviewer\Status\Status;
use PHPUnit\Framework\Attributes\CoversClass;
use PHPUnit\Framework\Attributes\Group;

/**
 * Test result methods.
 */
#[Group('reviewer')]
#[CoversClass(ResultFactory::class)]
final class ResultFactoryTest extends KernelTestBase {

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

  /**
   * Test creating tasks.
   *
   * @throws \Exception
   * @throws \PHPUnit\Framework\MockObject\Exception
   */
  public function testCreateResult(): void {
    $ignorer = $this
      ->getMockBuilder(IgnorerInterface::class)
      ->disableOriginalConstructor()
      ->getMock();

    $result_factory = new ResultFactory(
      $ignorer,
      $this->container->get('reviewer.factory.status'),
    );
    $fail = $result_factory->createResult('fail', Status::Fail, 'Fail');
    self::assertSame(Status::Fail, $fail->getStatus());

    $ignorer->method('isIgnored')->willReturn(TRUE);
    $ignorer->method('ignoredReason')->willReturn('Ignored Reason');
    $result_factory = new ResultFactory(
      $ignorer,
      $this->container->get('reviewer.factory.status'),
    );
    $ignored_fail = $result_factory->createResult('ignored', Status::Fail, 'Ignored');
    self::assertSame(Status::IgnoredFailure, $ignored_fail->getStatus());
    self::assertSame('Ignored Reason', $ignored_fail->getMessage());
    $pass = $result_factory->createResult('pass', Status::Pass, 'Pass');
    self::assertSame(Status::Pass, $pass->getStatus());

    self::assertTrue($result_factory->createResult('fixable', Status::Fail, 'Fixable', TRUE)->isFixable());
    self::assertFalse($result_factory->createResult('fixable', Status::Fail, 'Fixable', FALSE)->isFixable());
    self::assertFalse($result_factory->createResult('fixable', Status::Fail, 'Fixable', NULL)->isFixable());
  }

}

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

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