UserDataTest.php in Drupal 10
File
core/modules/user/tests/src/Kernel/Views/UserDataTest.php
View source
<?php
namespace Drupal\Tests\user\Kernel\Views;
use Drupal\Tests\views\Kernel\ViewsKernelTestBase;
use Drupal\user\Entity\User;
use Drupal\views\Tests\ViewTestData;
use Drupal\views\Views;
class UserDataTest extends ViewsKernelTestBase {
public static $testViews = [
'test_user_data',
];
protected static $modules = [
'user_test_views',
];
public function testDataField() {
ViewTestData::createTestViews(static::class, [
'user_test_views',
]);
$this
->installEntitySchema('user');
$this
->installSchema('user', [
'users_data',
]);
$user = User::create([
'uid' => 2,
'name' => $this
->randomMachineName(),
]);
$user
->save();
$user_data = $this->container
->get('user.data');
$random_value = $this
->randomMachineName();
$user_data
->set('views_test_config', $user
->id(), 'test_value_name', $random_value);
$view = Views::getView('test_user_data');
$this
->executeView($view);
$output = $view->field['data']
->render($view->result[0]);
$this
->assertEquals($random_value, $output);
$view->field['data']->options['data_name'] = $this
->randomMachineName();
$output = $view->field['data']
->render($view->result[0]);
$this
->assertNull($output);
}
}