You are here

public function AuditFilesConfigTest::testConfigPageSaveConfig in Audit Files 8.2

Same name and namespace in other branches
  1. 8.3 tests/src/Functional/AuditFilesConfigTest.php \Drupal\Tests\auditfiles\Functional\AuditFilesConfigTest::testConfigPageSaveConfig()

Tests that config page can be saved with default values without errors.

File

tests/src/Functional/AuditFilesConfigTest.php, line 121

Class

AuditFilesConfigTest
Tests that the "Managed not used" report is reachable with no errors.

Namespace

Drupal\Tests\auditfiles\Functional

Code

public function testConfigPageSaveConfig() {

  // Form to test.
  $path = URL::fromRoute('auditfiles.auditfiles_configuration');

  // Establish session.
  $session = $this
    ->assertSession();

  // Log in as admin user.
  $this
    ->drupalLogin($this->user);

  // Load the report page.
  $this
    ->drupalGet($path);

  // Check for the report title.
  $session
    ->pageTextContains("Audit Files");

  // Check that config page can be saved.
  // Build edit array.
  $edit = [
    'edit-auditfiles-file-system-path' => 'public',
    'edit-auditfiles-exclude-files' => '.htaccess',
    'edit-auditfiles-exclude-extensions' => '',
    'edit-auditfiles-exclude-paths' => 'color;css;ctools;js',
    'edit-auditfiles-include-domains' => '',
    'edit-auditfiles-report-options-date-format' => 'fallback',
    'edit-auditfiles-report-options-items-per-page' => '50',
    'edit-auditfiles-report-options-maximum-records' => '250',
    'edit-auditfiles-report-options-batch-size' => '1000',
  ];

  // Submit configuration form.
  $this
    ->submitForm($edit, 'Save configuration');

  // Check that form saved successfully.
  $session
    ->pageTextContains('The configuration options have been saved.');

  // Check page content.
  // Check for the report title.
  $session
    ->pageTextContains("Audit Files");

  // Check for form elements
  $session
    ->elementAttributeExists('css', '#edit-auditfiles-file-system-path > option:nth-child(1)', 'selected');
  $session
    ->elementAttributeContains('css', '#edit-auditfiles-file-system-path > option:nth-child(1)', 'selected', 'selected');
  $session
    ->elementAttributeContains('css', '#edit-auditfiles-exclude-files', 'value', '.htaccess');
  $session
    ->elementAttributeContains('css', '#edit-auditfiles-exclude-extensions', 'value', '');
  $session
    ->elementAttributeContains('css', '#edit-auditfiles-exclude-paths', 'value', 'color;css;ctools;js');
  $session
    ->elementAttributeContains('css', '#edit-auditfiles-include-domains', 'value', '');
  $session
    ->elementAttributeExists('css', '#edit-auditfiles-report-options-date-format > option:nth-child(1)', 'value');
  $session
    ->elementAttributeContains('css', '#edit-auditfiles-report-options-date-format > option:nth-child(1)', 'value', 'fallback');
  $session
    ->elementAttributeExists('css', '#edit-auditfiles-report-options-date-format > option:nth-child(1)', 'selected');
  $session
    ->elementAttributeContains('css', '#edit-auditfiles-report-options-date-format > option:nth-child(1)', 'selected', 'selected');
  $session
    ->elementAttributeContains('css', '#edit-auditfiles-report-options-items-per-page', 'value', '50');
  $session
    ->elementAttributeContains('css', '#edit-auditfiles-report-options-maximum-records', 'value', '250');
  $session
    ->elementAttributeContains('css', '#edit-auditfiles-report-options-batch-size', 'value', '1000');
}