Version 1
[yaffs-website] / web / modules / contrib / eu_cookie_compliance / src / Tests / Update / EuCookieComplianceUpdateTest.php
diff --git a/web/modules/contrib/eu_cookie_compliance/src/Tests/Update/EuCookieComplianceUpdateTest.php b/web/modules/contrib/eu_cookie_compliance/src/Tests/Update/EuCookieComplianceUpdateTest.php
new file mode 100644 (file)
index 0000000..5fd25fe
--- /dev/null
@@ -0,0 +1,67 @@
+<?php
+
+namespace Drupal\eu_cookie_compliance\Tests\Update;
+
+use Drupal\system\Tests\Update\UpdatePathTestBase;
+use Drupal\user\Entity\Role;
+
+/**
+ * Tests the upgrade path for eu Cookie Compliance permission keys.
+ *
+ * @see https://www.drupal.org/node/2774143
+ *
+ * @group eu_cookie_compliance
+ */
+class EuCookieComplianceUpdateTest extends UpdatePathTestBase {
+
+  /**
+   * {@inheritdoc}
+   */
+  protected static $modules = ['eu_cookie_compliance'];
+
+  /**
+   * {@inheritdoc}
+   */
+  protected function setDatabaseDumpFiles() {
+    $this->databaseDumpFiles = [
+      __DIR__ . '/../../../tests/fixtures/update/drupal-8.eu-cookie-compliance-beta5.standard.php.gz',
+      __DIR__ . '/../../../tests/fixtures/update/drupal-8.user-role-manager-2774143.php',
+    ];
+  }
+
+  /**
+   * Tests Eu Cookie Compliance permission keys updates.
+   *
+   * @see eu_cookie_compliance_post_update_permission_keys_to_lowercase()
+   */
+  public function testPostUpdatePermissionKeys() {
+    // Login using root user.
+    $this->drupalLogin($this->rootUser);
+    $this->drupalGet('admin/people/permissions');
+
+    // Tests to ensure that before updates the permission keys are in camelcase.
+    /** @var \Drupal\user\RoleInterface $testfor2774143 */
+    $testfor2774143 = Role::load('testfor2774143');
+    $this->assertTrue($testfor2774143->hasPermission('administer EU Cookie Compliance popup'));
+    $this->assertFalse($testfor2774143->hasPermission('administer eu cookie compliance popup'));
+    /** @var \Drupal\user\RoleInterface $secondtestfor2774143 */
+    $secondtestfor2774143 = Role::load('secondtestfor2774143');
+    $this->assertTrue($secondtestfor2774143->hasPermission('display EU Cookie Compliance popup'));
+    $this->assertFalse($secondtestfor2774143->hasPermission('display eu cookie compliance popup'));
+
+    $this->runUpdates();
+
+    $this->drupalGet('admin/people/permissions');
+
+    // Tests to ensure that after updates the permission keys are in lowercase.
+    /** @var \Drupal\user\RoleInterface $testfor2774143 */
+    $testfor2774143 = Role::load('testfor2774143');
+    $this->assertFalse($testfor2774143->hasPermission('administer EU Cookie Compliance popup'));
+    $this->assertTrue($testfor2774143->hasPermission('administer eu cookie compliance popup'));
+    /** @var \Drupal\user\RoleInterface $secondtestfor2774143 */
+    $secondtestfor2774143 = Role::load('secondtestfor2774143');
+    $this->assertFalse($secondtestfor2774143->hasPermission('display EU Cookie Compliance popup'));
+    $this->assertTrue($secondtestfor2774143->hasPermission('display eu cookie compliance popup'));
+  }
+
+}