Mercurial > hg > isophonics-drupal-site
diff core/modules/image/src/Tests/Views/RelationshipUserImageDataTest.php @ 0:4c8ae668cc8c
Initial import (non-working)
author | Chris Cannam |
---|---|
date | Wed, 29 Nov 2017 16:09:58 +0000 |
parents | |
children | 1fec387a4317 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/core/modules/image/src/Tests/Views/RelationshipUserImageDataTest.php Wed Nov 29 16:09:58 2017 +0000 @@ -0,0 +1,96 @@ +<?php + +namespace Drupal\image\Tests\Views; + +use Drupal\field\Entity\FieldConfig; +use Drupal\file\Entity\File; +use Drupal\views\Tests\ViewTestBase; +use Drupal\views\Views; +use Drupal\views\Tests\ViewTestData; +use Drupal\field\Entity\FieldStorageConfig; + +/** + * Tests image on user relationship handler. + * + * @group image + */ +class RelationshipUserImageDataTest extends ViewTestBase { + + /** + * Modules to install. + * + * @var array + */ + public static $modules = ['image', 'image_test_views', 'user']; + + /** + * Views used by this test. + * + * @var array + */ + public static $testViews = ['test_image_user_image_data']; + + protected function setUp() { + parent::setUp(); + + // Create the user profile field and instance. + FieldStorageConfig::create([ + 'entity_type' => 'user', + 'field_name' => 'user_picture', + 'type' => 'image', + 'translatable' => '0', + ])->save(); + FieldConfig::create([ + 'label' => 'User Picture', + 'description' => '', + 'field_name' => 'user_picture', + 'entity_type' => 'user', + 'bundle' => 'user', + 'required' => 0, + ])->save(); + + ViewTestData::createTestViews(get_class($this), ['image_test_views']); + } + + /** + * Tests using the views image relationship. + */ + public function testViewsHandlerRelationshipUserImageData() { + $file = File::create([ + 'fid' => 2, + 'uid' => 2, + 'filename' => 'image-test.jpg', + 'uri' => "public://image-test.jpg", + 'filemime' => 'image/jpeg', + 'created' => 1, + 'changed' => 1, + 'status' => FILE_STATUS_PERMANENT, + ]); + $file->enforceIsNew(); + file_put_contents($file->getFileUri(), file_get_contents('core/modules/simpletest/files/image-1.png')); + $file->save(); + + $account = $this->drupalCreateUser(); + $account->user_picture->target_id = 2; + $account->save(); + + $view = Views::getView('test_image_user_image_data'); + // Tests \Drupal\taxonomy\Plugin\views\relationship\NodeTermData::calculateDependencies(). + $expected = [ + 'module' => [ + 'file', + 'user', + ], + ]; + $this->assertIdentical($expected, $view->getDependencies()); + $this->executeView($view); + $expected_result = [ + [ + 'file_managed_user__user_picture_fid' => '2', + ], + ]; + $column_map = ['file_managed_user__user_picture_fid' => 'file_managed_user__user_picture_fid']; + $this->assertIdenticalResultset($view, $expected_result, $column_map); + } + +}