class InstallerExistingConfigSyncDirectoryProfileMismatchTest

Same name and namespace in other branches
  1. 11.x core/tests/Drupal/FunctionalTests/Installer/InstallerExistingConfigSyncDirectoryProfileMismatchTest.php \Drupal\FunctionalTests\Installer\InstallerExistingConfigSyncDirectoryProfileMismatchTest

Verifies that installing from existing configuration works.

@group Installer

Hierarchy

Expanded class hierarchy of InstallerExistingConfigSyncDirectoryProfileMismatchTest

File

core/tests/Drupal/FunctionalTests/Installer/InstallerExistingConfigSyncDirectoryProfileMismatchTest.php, line 10

Namespace

Drupal\FunctionalTests\Installer
View source
class InstallerExistingConfigSyncDirectoryProfileMismatchTest extends InstallerExistingConfigTestBase {
  
  /**
   * {@inheritdoc}
   */
  protected $defaultTheme = 'stark';
  
  /**
   * {@inheritdoc}
   */
  protected $profile = 'testing_config_install_multilingual';
  
  /**
   * {@inheritdoc}
   */
  protected $existingSyncDirectory = TRUE;
  
  /**
   * {@inheritdoc}
   */
  protected function getConfigTarball() {
    return __DIR__ . '/../../../fixtures/config_install/multilingual.tar.gz';
  }
  
  /**
   * Installer step: Configure settings.
   */
  protected function setUpSettings() {
    // Cause a profile mismatch by hacking the URL.
    $this->drupalGet(str_replace($this->profile, 'minimal', $this->getUrl()));
    parent::setUpSettings();
  }
  protected function setUpSite() {
    // This step will not occur because there is an error.
  }
  
  /**
   * Tests that profile mismatch fails to install.
   */
  public function testConfigSync() {
    $this->htmlOutput(NULL);
    $this->assertSession()
      ->titleEquals('Configuration validation | Drupal');
    $this->assertSession()
      ->pageTextContains('The configuration synchronization failed validation.');
    $this->assertSession()
      ->pageTextContains('The selected installation profile minimal does not match the profile stored in configuration testing_config_install_multilingual.');
    // Ensure there is no continuation button.
    $this->assertSession()
      ->pageTextNotContains('Save and continue');
    $this->assertSession()
      ->buttonNotExists('edit-submit');
  }

}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.