You are here

public function ConfigWithTranslationTest::testConfigStatus in Config Ignore 8.3

Tests config status.

File

tests/src/Functional/ConfigWithTranslationTest.php, line 71

Class

ConfigWithTranslationTest
Tests config_ignore with translated configurations.

Namespace

Drupal\Tests\config_ignore\Functional

Code

public function testConfigStatus() {

  // Change configurations in the active store.
  $this
    ->config('user.settings')
    ->set('anonymous', 'Visitor')
    ->save();
  $this
    ->config('user.role.anonymous')
    ->set('label', 'Visitor')
    ->save();
  $this
    ->config('user.role.authenticated')
    ->set('label', 'Authenticated')
    ->set('weight', 2)
    ->set('is_admin', TRUE)
    ->save();

  // Change translations of user.role.anonymous and user.role.authenticated.
  $this
    ->translateConfig('user.role.anonymous', 'label', 'Vizitator', 'ro');
  $this
    ->translateConfig('user.role.authenticated', 'label', 'Logat', 'ro');

  // Get config status.
  $this
    ->drush('config:status', [], [
    'format' => 'json',
  ]);
  $diff = (array) $this
    ->getOutputFromJSON();

  // Check that only config_ignore.settings and user.settings are shown.
  $this
    ->assertCount(3, $diff);
  $this
    ->assertArrayHasKey('config_ignore.settings', $diff);
  $this
    ->assertSame([
    'name' => 'config_ignore.settings',
    'state' => 'Different',
  ], $diff['config_ignore.settings']);
  $this
    ->assertArrayHasKey('user.settings', $diff);
  $this
    ->assertSame([
    'name' => 'user.settings',
    'state' => 'Different',
  ], $diff['user.settings']);
  $this
    ->assertArrayHasKey('user.role.authenticated', $diff);
  $this
    ->assertSame([
    'name' => 'user.role.authenticated',
    'state' => 'Different',
  ], $diff['user.role.authenticated']);
}