Updated all the contrib modules to their latest versions.
[yaffs-website] / web / modules / contrib / entityqueue / tests / src / Kernel / EntityQueueCacheTagsTest.php
1 <?php
2
3 namespace Drupal\Tests\entityqueue\Kernel;
4
5 use Drupal\entityqueue\Entity\EntitySubqueue;
6 use Drupal\KernelTests\KernelTestBase;
7 use Drupal\Tests\node\Traits\ContentTypeCreationTrait;
8 use Drupal\Tests\node\Traits\NodeCreationTrait;
9
10 /**
11  * Tests cache tags of entity queues.
12  *
13  * @group entityqueue
14  */
15 class EntityQueueCacheTagsTest extends KernelTestBase {
16
17   use ContentTypeCreationTrait;
18   use NodeCreationTrait;
19
20   /**
21    * {@inheritdoc}
22    */
23   public static $modules = ['field', 'filter', 'node', 'text', 'user', 'system', 'views', 'entityqueue', 'entityqueue_test'];
24
25   /**
26    * {@inheritdoc}
27    */
28   protected function setUp() {
29     parent::setUp();
30
31     $this->installSchema('node', ['node_access']);
32
33     $this->installEntitySchema('node');
34     $this->installEntitySchema('entity_subqueue');
35     $this->installEntitySchema('user');
36
37     $this->installConfig(['filter', 'node', 'system', 'entityqueue_test']);
38
39     $this->createContentType(['type' => 'article', 'name' => 'Article']);
40   }
41
42   /**
43    * Tests the cache tags of a view with a entity queue relationship.
44    */
45   public function testViewWithRelationship() {
46     $nodes = [];
47
48     $node = $this->createNode([
49       'type' => 'article',
50       'title' => 'Test article (1)',
51     ]);
52     $node->save();
53     $nodes[] = $node;
54
55     $node = $this->createNode([
56       'type' => 'article',
57       'title' => 'Test article (2)',
58     ]);
59     $node->save();
60     $nodes[] = $node;
61
62     $entity_subqueue = EntitySubqueue::load('simple_queue');
63     $entity_subqueue->set('items', $nodes);
64     $entity_subqueue->save();
65
66     $build = [
67       '#type' => 'view',
68       '#name' => 'simple_queue_listing',
69     ];
70
71     $renderer = $this->container->get('bare_html_page_renderer');
72     $response = $renderer->renderBarePage($build, '', 'maintenance_page');
73
74     $this->assertEquals([
75       'config:entityqueue.entity_queue.simple_queue',
76       'config:views.view.simple_queue_listing',
77       'entity_field_info',
78       'entity_subqueue:simple_queue',
79       'entity_subqueue_list',
80       'node:1',
81       'node:2',
82       'node_list',
83       'views_data',
84     ], $response->getCacheableMetadata()->getCacheTags());
85   }
86
87 }