function UserCreatedFieldDisplayUpgradeTest::checkUserEntityViewDisplayConfig

Same name and namespace in other branches
  1. main core/modules/user/tests/src/Functional/UserCreatedFieldDisplayUpgradeTest.php \Drupal\Tests\user\Functional\UserCreatedFieldDisplayUpgradeTest::checkUserEntityViewDisplayConfig()

Checks the user entity view display configuration for created field.

Parameters

bool $beforeUpdate: TRUE when confirming configuration state before running database updates; FALSE when confirming configuration state after running database updates.

1 call to UserCreatedFieldDisplayUpgradeTest::checkUserEntityViewDisplayConfig()
UserCreatedFieldDisplayUpgradeTest::testMemberForDeprecationAndUserDisplayUpdate in core/modules/user/tests/src/Functional/UserCreatedFieldDisplayUpgradeTest.php
Test user_post_update_add_created_to_display() and 'member_for' deprecation.

File

core/modules/user/tests/src/Functional/UserCreatedFieldDisplayUpgradeTest.php, line 59

Class

UserCreatedFieldDisplayUpgradeTest
Tests that 'created' field is added to user entity view display after update.

Namespace

Drupal\Tests\user\Functional

Code

protected function checkUserEntityViewDisplayConfig(bool $beforeUpdate) : void {
  $configFactory = \Drupal::configFactory();
  $displayConfigNames = $configFactory->listAll('core.entity_view_display.user.user.');
  $this->assertCount(2, $displayConfigNames);
  foreach ($displayConfigNames as $configName) {
    $displayConfig = $configFactory->get($configName)
      ->getRawData();
    if (str_ends_with($configName, 'default')) {
      $this->assertArrayHasKey('member_for', $displayConfig['content']);
    }
    else {
      // The member_for field is hidden on 'compact' display.
      $this->assertArrayHasKey('member_for', $displayConfig['hidden']);
    }
    $this->assertArrayNotHasKey('created', $displayConfig['content']);
    // Before the post update hook runs, the default user display will show the
    // 'member_for' extra field, and the 'created' field will not exist in the
    // display config. When the post update hook runs, the 'created' field is
    // added to the display configuration as hidden.
    if ($beforeUpdate) {
      $this->assertArrayNotHasKey('created', $displayConfig['hidden']);
    }
    else {
      $this->assertArrayHasKey('created', $displayConfig['hidden']);
    }
  }
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.