You are here

public function AdminFunctionalityTest::testProfilesAdmin in Backup and Migrate 5.0.x

Same name and namespace in other branches
  1. 8.4 tests/src/Functional/AdminFunctionalityTest.php \Drupal\Tests\backup_migrate\Functional\AdminFunctionalityTest::testProfilesAdmin()

Make sure the 'profiles' system works correctly.

File

tests/src/Functional/AdminFunctionalityTest.php, line 359

Class

AdminFunctionalityTest
Checks if admin functionality works correctly.

Namespace

Drupal\Tests\backup_migrate\Functional

Code

public function testProfilesAdmin() {

  // Load the profiles page.
  $this
    ->drupalGet('admin/config/development/backup_migrate/settings');
  $session = $this
    ->assertSession();
  $session
    ->statusCodeEquals(200);
  $session
    ->pageTextContains('Settings');
  $session
    ->pageTextContains('Profile Name');

  // @todo Confirm the table has no records.
  // Load the profile-add form.
  $this
    ->drupalGet('admin/config/development/backup_migrate/settings/add');
  $session = $this
    ->assertSession();
  $session
    ->statusCodeEquals(200);
  $session
    ->pageTextContains('Add settings profile');
  $session
    ->fieldExists('label');
  $session
    ->fieldExists('id');
  $session
    ->fieldExists('config[namer][filename]');
  $session
    ->fieldExists('config[namer][timestamp]');
  $session
    ->fieldExists('config[namer][timestamp_format]');
  $session
    ->fieldExists('config[compressor][compression]');
  $session
    ->fieldExists('config[utils][site_offline]');
  $session
    ->fieldExists('config[metadata][description]');
  $session
    ->fieldExists('config[db_exclude][exclude_tables][]');
  $session
    ->fieldExists('config[db_exclude][nodata_tables][]');
  $session
    ->fieldExists('config[private_files_exclude][exclude_filepaths]');
  $session
    ->fieldExists('config[public_files_exclude][exclude_filepaths]');
  $session
    ->buttonExists('Save');

  // Create a new profile.
  $edit = [
    'label' => 'Test profile',
    'id' => 'test_profile',
    'config[namer][filename]' => 'test_backup',
    'config[namer][timestamp]' => 'Y-m-d\\TH-i-s',
    'config[compressor][compression]' => 'none',
    'config[utils][site_offline]' => 1,
    'config[metadata][description]' => 'Test description text.',
    'config[db_exclude][exclude_tables][]' => [],
    'config[db_exclude][nodata_tables][]' => [],
    'config[private_files_exclude][exclude_filepaths]' => 'test_private_exclude',
    'config[public_files_exclude][exclude_filepaths]' => 'test_public_exclude',
  ];
  $this
    ->submitForm($edit, 'Save');
  $session = $this
    ->assertSession();
  $session
    ->statusCodeEquals(200);
  $session
    ->addressEquals('admin/config/development/backup_migrate/settings');
  $session
    ->pageTextContains('Created the Test profile Settings Profile.');
  $session
    ->pageTextContains('Profile Name');
  $session
    ->pageTextContains('Machine name');
  $session
    ->pageTextContains('Compression');
  $session
    ->pageTextContains('Take site offline');
  $session
    ->pageTextContains('Description');
  $session
    ->pageTextContains('Test profile');
  $session
    ->pageTextContains('test_profile');
  $session
    ->pageTextContains('none');
  $session
    ->pageTextContains('1');
  $session
    ->pageTextContains('Test description text.');
}