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());
}
}
