From 61f97d319db682747c45215c75ac9623a738d778 Mon Sep 17 00:00:00 2001 From: catch <catch@35733.no-reply.drupal.org> Date: Mon, 3 Jun 2019 19:58:54 +0100 Subject: [PATCH] =?UTF-8?q?Issue=20#3041837=20by=20claudiu.cristea,=20nave?= =?UTF-8?q?envalecha,=20Krzysztof=20Doma=C5=84ski,=20Lendude:=20Convert=20?= =?UTF-8?q?UserDataTest=20into=20a=20kernel=20test?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/Functional/Views/UserDataTest.php | 50 -------------- .../tests/src/Kernel/Views/UserDataTest.php | 65 +++++++++++++++++++ 2 files changed, 65 insertions(+), 50 deletions(-) delete mode 100644 core/modules/user/tests/src/Functional/Views/UserDataTest.php create mode 100644 core/modules/user/tests/src/Kernel/Views/UserDataTest.php diff --git a/core/modules/user/tests/src/Functional/Views/UserDataTest.php b/core/modules/user/tests/src/Functional/Views/UserDataTest.php deleted file mode 100644 index d15e6f368dde..000000000000 --- a/core/modules/user/tests/src/Functional/Views/UserDataTest.php +++ /dev/null @@ -1,50 +0,0 @@ -<?php - -namespace Drupal\Tests\user\Functional\Views; - -use Drupal\views\Views; - -/** - * Tests the user data service field handler. - * - * @group user - * @see \Drupal\user\Plugin\views\field\UserData - */ -class UserDataTest extends UserTestBase { - - /** - * Provides the user data service object. - * - * @var \Drupal\user\UserDataInterface - */ - protected $userData; - - /** - * Views used by this test. - * - * @var array - */ - public static $testViews = ['test_user_data']; - - /** - * Tests field handler. - */ - public function testDataField() { - // But some random values into the user data service. - $this->userData = $this->container->get('user.data'); - $random_value = $this->randomMachineName(); - $this->userData->set('views_test_config', $this->users[0]->id(), 'test_value_name', $random_value); - - $view = Views::getView('test_user_data'); - $this->executeView($view); - - $output = $view->field['data']->render($view->result[0]); - $this->assertEqual($output, $random_value, 'A valid user data got rendered.'); - - $view->field['data']->options['data_name'] = $this->randomMachineName(); - $output = $view->field['data']->render($view->result[0]); - $this->assertFalse($output, 'An invalid configuration does not return anything'); - - } - -} diff --git a/core/modules/user/tests/src/Kernel/Views/UserDataTest.php b/core/modules/user/tests/src/Kernel/Views/UserDataTest.php new file mode 100644 index 000000000000..948764955131 --- /dev/null +++ b/core/modules/user/tests/src/Kernel/Views/UserDataTest.php @@ -0,0 +1,65 @@ +<?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; + +/** + * Tests the user data service field handler. + * + * @group user + * + * @see \Drupal\user\Plugin\views\field\UserData + */ +class UserDataTest extends ViewsKernelTestBase { + + /** + * {@inheritdoc} + */ + public static $testViews = ['test_user_data']; + + /** + * {@inheritdoc} + */ + public static $modules = ['user_test_views']; + + /** + * Tests field handler. + */ + public function testDataField() { + ViewTestData::createTestViews(get_class($this), ['user_test_views']); + + $this->installEntitySchema('user'); + $this->installSchema('user', ['users_data']); + + $user = User::create([ + // Set 'uid' because the 'test_user_data' view filters the user with an ID + // equal to 2. + 'uid' => 2, + 'name' => $this->randomMachineName(), + ]); + $user->save(); + + // Add some random value as user data. + $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]); + // Assert that using a valid user data key renders the value. + $this->assertEquals($random_value, $output); + + $view->field['data']->options['data_name'] = $this->randomMachineName(); + + $output = $view->field['data']->render($view->result[0]); + // An invalid configuration does not return anything. + $this->assertNull($output); + } + +} -- GitLab