Updated all the contrib modules to their latest versions.
[yaffs-website] / web / modules / contrib / permissions_by_term / tests / src / Kernel / AccessStorageTest.php
1 <?php
2
3 namespace Drupal\Tests\permissions_by_term\Kernel;
4
5 use Drupal\Core\Form\FormStateInterface;
6
7 /**
8  * @group permissions_by_term
9  */
10 class AccessStorageTest extends PBTKernelTestBase {
11
12   /**
13    * {@inheritdoc}
14    */
15   protected function setUp() {
16     parent::setUp();
17   }
18
19   public function testSaveMultipleLanguageCodes() {
20     $_REQUEST = array (
21       'access' =>
22         array (
23           'user' => 'admin (1), editor (45)',
24           'role' =>
25             array (
26               'authenticated' => 'authenticated',
27             ),
28         ),
29     );
30
31     $formStateStub = $this->mockFormState('en', [
32       'role' =>
33         [
34           'authenticated' => 'authenticated',
35           'anonymous'     => 0,
36           'administrator' => 0,
37         ],
38     ]);
39
40
41     $this->assertEquals(array (
42       'UserIdPermissionsToRemove' =>
43         array (
44         ),
45       'UserIdPermissionsToAdd' =>
46         array(
47           '0' => '1',
48           '1' => '45',
49         ),
50       'UserRolePermissionsToRemove' =>
51         array (
52         ),
53       'aRoleIdPermissionsToAdd' =>
54         array (
55           0 => 'authenticated',
56         ),
57     ), $this->accessStorage->saveTermPermissions($formStateStub, 1));
58
59     $formStateStub = $this->mockFormState('de', [
60       'role' =>
61         [
62           'authenticated' => 'authenticated',
63           'anonymous'     => 0,
64           'administrator' => 0,
65         ],
66     ]);
67
68     $this->assertEquals(array (
69       'UserIdPermissionsToRemove' =>
70         array (
71         ),
72       'UserIdPermissionsToAdd' =>
73         array(
74           '0' => '1',
75           '1' => '45',
76         ),
77       'UserRolePermissionsToRemove' =>
78         array (
79         ),
80       'aRoleIdPermissionsToAdd' =>
81         array (
82           0 => 'authenticated',
83         ),
84     ), $this->accessStorage->saveTermPermissions($formStateStub, 1));
85   }
86
87   private function mockFormState($langcode, $accessOutput) {
88     $formStateStub = $this->getMockBuilder(FormStateInterface::class)
89       ->getMock();
90
91     $map = [
92       [
93         'langcode',
94         NULL,
95         [
96           ['value' => $langcode]
97         ]
98       ],
99       [
100         'access',
101         NULL,
102         $accessOutput
103       ]
104     ];
105     $formStateStub->expects($this->any())
106       ->method('getValue')
107       ->will($this->returnValueMap($map));
108     return $formStateStub;
109   }
110
111 }