cookies-1.0.3/tests/src/Functional/FunctionalCookiesTest.php

tests/src/Functional/FunctionalCookiesTest.php
<?php

namespace Drupal\Tests\cookies\Functional;

use Drupal\Tests\BrowserTestBase;

/**
 * This class provides methods for testing the cookies module.
 *
 * @group cookies
 */
class FunctionalCookiesTest extends BrowserTestBase {

  /**
   * {@inheritdoc}
   */
  protected static $modules = [
    // Requirements for cookies:
    'language',
    'file',
    'field',
    'locale',
    'config_translation',
    // Other module:
    'block',
    'cookies',
    'test_page_test',
    'filter',
  ];

  /**
   * A user with authenticated permissions.
   *
   * @var \Drupal\Core\Session\AccountInterface
   */
  protected $user;

  /**
   * A admin user.
   *
   * @var \Drupal\Core\Session\AccountInterface
   */
  protected $adminuser;

  /**
   * {@inheritdoc}
   */
  protected $defaultTheme = 'stark';

  /**
   * {@inheritdoc}
   */
  protected function setUp(): void {
    parent::setUp();
    // Use the test page as the front page.
    $this->config('system.site')->set('page.front', '/test-page')->save();
    $this->adminuser = $this->drupalCreateUser([]);
    $this->adminuser->addRole($this->createAdminRole('administrator', 'administrator'));
    $this->adminuser->save();
    $this->user = $this->drupalCreateUser([]);
    $this->drupalLogin($this->adminuser);
  }

  /**
   * Test Access on cookies setting page as authenticated user.
   */
  public function testSettingsPageAccessAsAuth() {
    $this->drupalLogout();
    $this->drupalLogin($this->user);
    $this->drupalGet('/admin/config/system/cookies/config');
    $this->assertSession()->statusCodeEquals('403');
  }

  /**
   * Test Access on cookies setting page as admin user.
   */
  public function testSettingsPageAccessAsAdmin() {
    $this->drupalGet('/admin/config/system/cookies/config');
    $this->assertSession()->statusCodeEquals('200');
  }

  /**
   * Test Access on cookies setting page as anonymous user.
   */
  public function testSettingsPageAccessAsAnonymous() {
    $this->drupalLogout();
    $this->drupalGet('/admin/config/system/cookies/config');
    $this->assertSession()->statusCodeEquals('403');
  }

  /**
   * Tests adding a group by form.
   */
  public function testAddingGroupByForm() {
    $session = $this->assertSession();
    $page = $this->getSession()->getPage();
    $this->drupalGet('/admin/config/system/cookies/cookies-service-group/add');
    $session->statusCodeEquals(200);
    $page->fillField('edit-label', 'test123Specific');
    $page->fillField('edit-weight', '50');
    $page->fillField('edit-title', 'myDisplay');
    $page->fillField('edit-details', 'myDetails');
    $page->fillField('edit-id', 'test123');
    $page->pressButton('edit-submit');
    $session->statusCodeEquals(200);
    $session->pageTextContains('Created the test123Specific Cookie service group.');
    $this->drupalGet('/admin/config/system/cookies/cookies-service-group');
    $session->statusCodeEquals(200);
    $session->pageTextContains('test123Specific');
  }

  /**
   * Tests editing a group by form.
   */
  public function testEditingGroupByForm() {
    $session = $this->assertSession();
    $page = $this->getSession()->getPage();
    $this->drupalGet('/admin/config/system/cookies/cookies-service-group/video/edit');
    $session->statusCodeEquals(200);
    $page->fillField('edit-label', 'test123Specific');
    $page->pressButton('edit-submit');
    $session->statusCodeEquals(200);
    $session->pageTextContains('Saved the test123Specific Cookie service group.');
    $this->drupalGet('/admin/config/system/cookies/cookies-service-group');
    $session->statusCodeEquals(200);
    $session->pageTextContains('test123Specific');
  }

  /**
   * Tests deleting a group by form.
   */
  public function testDeletingGroupByForm() {
    $session = $this->assertSession();
    $page = $this->getSession()->getPage();
    $this->drupalGet('/admin/config/system/cookies/cookies-service-group/performance/delete');
    $session->statusCodeEquals(200);
    $page->pressButton('edit-submit');
    $session->statusCodeEquals(200);
    $session->pageTextContains('content cookies_service_group: deleted Performance.');
    $this->drupalGet('/admin/config/system/cookies/cookies-service-group');
    $session->statusCodeEquals(200);
    $session->pageTextNotContains('Performance');
  }

  /**
   * Tests adding a service by form.
   */
  public function testAddingServiceByForm() {
    $session = $this->assertSession();
    $page = $this->getSession()->getPage();
    $this->drupalGet('/admin/config/system/cookies/cookies-service/add');
    $session->statusCodeEquals(200);
    $page->fillField('edit-label', 'test123Specific');
    $page->fillField('edit-id', 'test123');
    $page->fillField('edit-group', 'functional');
    $page->fillField('edit-placeholdermaintext', 'My placeholder main text.');
    $page->fillField('edit-placeholderaccepttext', 'My placeholder accept text.');
    $page->pressButton('edit-submit');
    $session->statusCodeEquals(200);
    $session->pageTextContains('Created the test123Specific Cookie service entity.');
    $this->drupalGet('/admin/config/system/cookies/cookies-service');
    $session->statusCodeEquals(200);
    $session->pageTextContains('test123Specific');
  }

  /**
   * Tests editing a service by form.
   */
  public function testEditingServiceByForm() {
    $session = $this->assertSession();
    $page = $this->getSession()->getPage();
    $this->drupalGet('/admin/config/system/cookies/cookies-service/functional/edit');
    $session->statusCodeEquals(200);
    $page->fillField('edit-label', 'test123Specific');
    $page->selectFieldOption('edit-info-format--2', 'plain_text');
    $page->pressButton('edit-submit');
    $session->statusCodeEquals(200);
    $session->pageTextContains('Saved the test123Specific Cookie service entity.');
    $this->drupalGet('/admin/config/system/cookies/cookies-service');
    $session->statusCodeEquals(200);
    $session->pageTextContains('test123Specific');
  }

  /**
   * Tests deleting a service by form.
   */
  public function testDeletingServiceByForm() {
    $session = $this->assertSession();
    $page = $this->getSession()->getPage();
    $this->drupalGet('/admin/config/system/cookies/cookies-service/functional/delete');
    $session->statusCodeEquals(200);
    $page->pressButton('edit-submit');
    $session->statusCodeEquals(200);
    $session->pageTextContains('content cookies_service: deleted Required functional.');
    $this->drupalGet('/admin/config/system/cookies/cookies-service');
    $session->statusCodeEquals(200);
    $session->pageTextContains('There are no cookies service entities yet.');
  }

}

Главная | Обратная связь

drupal hosting | друпал хостинг | it patrol .inc