UserNameFormatterTest.php in Zircon Profile 8.0
File
core/modules/user/src/Tests/Field/UserNameFormatterTest.php
View source
<?php
namespace Drupal\user\Tests\Field;
use Drupal\Core\Entity\Display\EntityViewDisplayInterface;
use Drupal\Core\Entity\FieldableEntityInterface;
use Drupal\simpletest\KernelTestBase;
use Drupal\user\Entity\User;
class UserNameFormatterTest extends KernelTestBase {
public static $modules = [
'field',
'user',
'system',
];
protected $entityType;
protected $bundle;
protected $fieldName;
protected function setUp() {
parent::setUp();
$this
->installConfig([
'field',
]);
$this
->installEntitySchema('user');
$this
->installSchema('system', [
'sequences',
]);
$this->entityType = 'user';
$this->bundle = $this->entityType;
$this->fieldName = 'name';
}
protected function renderEntityFields(FieldableEntityInterface $entity, EntityViewDisplayInterface $display) {
$content = $display
->build($entity);
$content = $this
->render($content);
return $content;
}
public function testFormatter() {
$user = User::create([
'name' => 'test name',
]);
$user
->save();
$result = $user->{$this->fieldName}
->view([
'type' => 'user_name',
]);
$this
->assertEqual('username', $result[0]['#theme']);
$this
->assertEqual(spl_object_hash($user), spl_object_hash($result[0]['#account']));
$result = $user->{$this->fieldName}
->view([
'type' => 'user_name',
'settings' => [
'link_to_entity' => FALSE,
],
]);
$this
->assertEqual($user
->getDisplayName(), $result[0]['#markup']);
$user = User::getAnonymousUser();
$result = $user->{$this->fieldName}
->view([
'type' => 'user_name',
]);
$this
->assertEqual('username', $result[0]['#theme']);
$this
->assertEqual(spl_object_hash($user), spl_object_hash($result[0]['#account']));
$result = $user->{$this->fieldName}
->view([
'type' => 'user_name',
'settings' => [
'link_to_entity' => FALSE,
],
]);
$this
->assertEqual($user
->getDisplayName(), $result[0]['#markup']);
$this
->assertEqual($this
->config('user.settings')
->get('anonymous'), $result[0]['#markup']);
}
}