Updated to Drupal 8.5. Core Media not yet in use.
[yaffs-website] / web / modules / contrib / permissions_by_term / tests / src / Kernel / PBTKernelTestBase.php
index dee41346f99b19d01c2c0977685a1aba3c779558..35518cc8564c9db91993fef1302c8fa293fe8e6c 100644 (file)
@@ -8,11 +8,11 @@ use Drupal\field\Entity\FieldStorageConfig;
 use Drupal\KernelTests\KernelTestBase;
 use Drupal\node\Entity\Node;
 use Drupal\node\Entity\NodeType;
-use Drupal\taxonomy\Entity\Vocabulary;
-use Drupal\user\Entity\User;
 use Drupal\permissions_by_term\Service\AccessCheck;
-use Drupal\taxonomy\Entity\Term;
 use Drupal\permissions_by_term\Service\AccessStorage;
+use Drupal\taxonomy\Entity\Term;
+use Drupal\taxonomy\Entity\Vocabulary;
+use Drupal\user\Entity\User;
 
 /**
  * Class PBTKernelTestBase
@@ -39,12 +39,12 @@ abstract class PBTKernelTestBase extends KernelTestBase {
   /**
    * @var int
    */
-  protected $nidNoTerms;
+  protected $nidNoRestriction;
 
   /**
    * {@inheritdoc}
    */
-  public static $modules = ['taxonomy', 'node', 'user', 'text', 'field', 'system', 'permissions_by_term'];
+  public static $modules = ['taxonomy', 'node', 'user', 'text', 'field', 'system', 'permissions_by_term', 'language'];
 
   /**
    * @var AccessStorage
@@ -67,22 +67,28 @@ abstract class PBTKernelTestBase extends KernelTestBase {
     $this->installEntitySchema('node');
     $this->installEntitySchema('taxonomy_term');
     $this->installConfig(['permissions_by_term']);
+    $this->installConfig(['language']);
     $this->installSchema('node', 'node_access');
     $this->installSchema('permissions_by_term', 'permissions_by_term_user');
     $this->installSchema('permissions_by_term', 'permissions_by_term_role');
     $this->accessStorage = $this->container->get('permissions_by_term.access_storage');
     $this->accessCheck = $this->container->get('permissions_by_term.access_check');
     \Drupal::configFactory()->getEditable('taxonomy.settings')->set('maintain_index_table', TRUE)->save();
-    $this->createTestVocabulary();
+    $this->createTestVocabularies();
     $this->createPageNodeType();
     $this->createCurrentUser();
   }
 
-  protected function createTestVocabulary() {
+  protected function createTestVocabularies() {
     Vocabulary::create([
       'name' => 'test',
       'vid' => 'test',
     ])->save();
+
+    Vocabulary::create([
+      'name' => 'test2',
+      'vid' => 'test2',
+    ])->save();
   }
 
   protected function createPageNodeType() {
@@ -99,11 +105,27 @@ abstract class PBTKernelTestBase extends KernelTestBase {
       'cardinality' => FieldStorageDefinitionInterface::CARDINALITY_UNLIMITED,
     ])->save();
 
+    FieldStorageConfig::create([
+      'entity_type' => 'node',
+      'field_name' => 'field_tags2',
+      'type' => 'entity_reference',
+      'settings' => [
+        'target_type' => 'taxonomy_term',
+      ],
+      'cardinality' => FieldStorageDefinitionInterface::CARDINALITY_UNLIMITED,
+    ])->save();
+
     FieldConfig::create([
       'field_name' => 'field_tags',
       'entity_type' => 'node',
       'bundle' => 'page',
     ])->save();
+
+    FieldConfig::create([
+      'field_name' => 'field_tags2',
+      'entity_type' => 'node',
+      'bundle' => 'page',
+    ])->save();
   }
 
   protected function createCurrentUser() {
@@ -137,6 +159,13 @@ abstract class PBTKernelTestBase extends KernelTestBase {
     $term->save();
     $tids[] = $term->id();
 
+    $term = Term::create([
+      'name' => 'term3',
+      'vid' => 'test2',
+    ]);
+    $term->save();
+    $tids[] = $term->id();
+
     $this->accessStorage->addTermPermissionsByUserIds([99], $term->id());
 
     $node = Node::create([
@@ -149,6 +178,11 @@ abstract class PBTKernelTestBase extends KernelTestBase {
         [
           'target_id' => $tids[1]
         ],
+      ],
+      'field_tags2' => [
+        [
+          'target_id' => $tids[2]
+        ]
       ]
     ]);
     $node->save();
@@ -216,7 +250,7 @@ abstract class PBTKernelTestBase extends KernelTestBase {
     $this->setNidAllGrantedTerms($node->id());
   }
 
-  protected function createRelationNoTerms() {
+  protected function createRelationWithoutRestriction() {
     $term = Term::create([
       'name' => 'term1',
       'vid' => 'test',
@@ -224,8 +258,6 @@ abstract class PBTKernelTestBase extends KernelTestBase {
     $term->save();
     $tids[] = $term->id();
 
-    $this->accessStorage->addTermPermissionsByUserIds([\Drupal::service('current_user')->id()], $term->id());
-
     $term = Term::create([
       'name' => 'term2',
       'vid' => 'test',
@@ -233,8 +265,6 @@ abstract class PBTKernelTestBase extends KernelTestBase {
     $term->save();
     $tids[] = $term->id();
 
-    $this->accessStorage->addTermPermissionsByUserIds([\Drupal::service('current_user')->id()], $term->id());
-
     $node = Node::create([
       'type' => 'page',
       'title' => 'test_title',
@@ -248,7 +278,7 @@ abstract class PBTKernelTestBase extends KernelTestBase {
       ]
     ]);
     $node->save();
-    $this->setNidNoTerms($node->id());
+    $this->setNidNoRestriction($node->id());
   }
 
 
@@ -304,15 +334,15 @@ abstract class PBTKernelTestBase extends KernelTestBase {
   /**
    * @return int
    */
-  protected function getNidNoTerms() {
-    return $this->nidNoTerms;
+  protected function getNidNoRestriction() {
+    return $this->nidNoRestriction;
   }
 
   /**
-   * @param int $nidNoTerms
+   * @param int $nidNoRestiction
    */
-  protected function setNidNoTerms($nidNoTerms) {
-    $this->nidNoTerms = $nidNoTerms;
+  protected function setNidNoRestriction($nidNoRestiction) {
+    $this->nidNoRestriction = $nidNoRestiction;
   }
 
-}
\ No newline at end of file
+}