annotate core/modules/user/src/Tests/Views/UserDataTest.php @ 0:4c8ae668cc8c

Initial import (non-working)
author Chris Cannam
date Wed, 29 Nov 2017 16:09:58 +0000
parents
children
rev   line source
Chris@0 1 <?php
Chris@0 2
Chris@0 3 namespace Drupal\user\Tests\Views;
Chris@0 4
Chris@0 5 use Drupal\views\Views;
Chris@0 6
Chris@0 7 /**
Chris@0 8 * Tests the user data service field handler.
Chris@0 9 *
Chris@0 10 * @group user
Chris@0 11 * @see \Drupal\user\Plugin\views\field\UserData
Chris@0 12 */
Chris@0 13 class UserDataTest extends UserTestBase {
Chris@0 14
Chris@0 15 /**
Chris@0 16 * Provides the user data service object.
Chris@0 17 *
Chris@0 18 * @var \Drupal\user\UserDataInterface
Chris@0 19 */
Chris@0 20 protected $userData;
Chris@0 21
Chris@0 22 /**
Chris@0 23 * Views used by this test.
Chris@0 24 *
Chris@0 25 * @var array
Chris@0 26 */
Chris@0 27 public static $testViews = ['test_user_data'];
Chris@0 28
Chris@0 29 /**
Chris@0 30 * Tests field handler.
Chris@0 31 */
Chris@0 32 public function testDataField() {
Chris@0 33 // But some random values into the user data service.
Chris@0 34 $this->userData = $this->container->get('user.data');
Chris@0 35 $random_value = $this->randomMachineName();
Chris@0 36 $this->userData->set('views_test_config', $this->users[0]->id(), 'test_value_name', $random_value);
Chris@0 37
Chris@0 38 $view = Views::getView('test_user_data');
Chris@0 39 $this->executeView($view);
Chris@0 40
Chris@0 41 $output = $view->field['data']->render($view->result[0]);
Chris@0 42 $this->assertEqual($output, $random_value, 'A valid user data got rendered.');
Chris@0 43
Chris@0 44 $view->field['data']->options['data_name'] = $this->randomMachineName();
Chris@0 45 $output = $view->field['data']->render($view->result[0]);
Chris@0 46 $this->assertFalse($output, 'An invalid configuration does not return anything');
Chris@0 47
Chris@0 48 }
Chris@0 49
Chris@0 50 }