test_helpers-1.0.0-alpha6/tests/src/Unit/Stub/ConfigFactoryStubTest.php

tests/src/Unit/Stub/ConfigFactoryStubTest.php
<?php

declare(strict_types=1);

namespace Drupal\Tests\test_helpers\Unit\Stub;

use Drupal\Core\Config\Config;
use Drupal\Core\Config\ImmutableConfig;
use Drupal\test_helpers\Stub\ConfigFactoryStub;
use Drupal\Tests\UnitTestCase;
use Drupal\test_helpers\TestHelpers;
use PHPUnit\Framework\Attributes\CoversClass;
use PHPUnit\Framework\Attributes\CoversMethod;
use PHPUnit\Framework\Attributes\Group;

/**
 * Tests ConfigFactoryStub class.
 */
#[CoversClass(ConfigFactoryStub::class)]
#[Group('test_helpers')]
#[CoversMethod(ConfigFactoryStub::class, '__construct')]
#[CoversMethod(ConfigFactoryStub::class, 'stubSetConfig')]
class ConfigFactoryStubTest extends UnitTestCase {

  /**
   * Tests the stubSetConfig and get methods of ConfigFactoryStub.
   */
  public function testSelect() {
    TestHelpers::getContainer();
    $configFactory = TestHelpers::service('config.factory');
    $config1 = [
      'foo' => 1,
      'bar' => 42,
    ];
    $config2 = ['foo2'];

    $configFactory->stubSetConfig('config1', $config1);
    $configFactory->stubSetConfig('config.two', $config2);

    $config2Immutable = $configFactory->get('config.two');
    $this->assertInstanceOf(ImmutableConfig::class, $config2Immutable);
    $this->assertEquals($config2, $config2Immutable->get());

    $config2Editable = $configFactory->getEditable('config.two');
    $this->assertInstanceOf(Config::class, $config2Editable);
    $this->assertEquals($config2, $config2Editable->get());
    $config2Editable->set('foo', 2);
    $config2Editable->save();
    $this->assertEquals(2, $configFactory->get('config.two')->get('foo'));

    $this->assertEquals($config1['foo'], $configFactory->get('config1')->get('foo'));
    $this->assertEquals($config1['foo'], $configFactory->getEditable('config1')->get('foo'));

    $configFactory->stubSetConfig('config.two', ['foo3']);
    $this->assertEquals(['foo3'], $configFactory->get('config.two')->get());
  }

}

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

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