InstallationTest.php in Entity Print 8.2
File
tests/src/Functional/InstallationTest.php
View source
<?php
namespace Drupal\Tests\entity_print\Functional;
use Drupal\Tests\BrowserTestBase;
class InstallationTest extends BrowserTestBase {
protected $defaultTheme = 'stark';
protected function setUp() : void {
parent::setUp();
$this
->drupalLogin($this
->drupalCreateUser([
'administer modules',
]));
}
public function testInstallation() {
$this
->assertInstallationStatus(FALSE);
$this
->installModules();
$this
->assertInstallationStatus(TRUE);
$this
->uninstallModules();
$this
->assertInstallationStatus(FALSE);
$this
->installModules();
$this
->assertInstallationStatus(TRUE);
}
protected function assertInstallationStatus($installed) {
$this
->drupalGet('admin/modules');
foreach ([
'entity_print',
'entity_print_views',
] as $module) {
$this
->assertSession()
->{$installed ? 'checkboxChecked' : 'checkboxNotChecked'}('modules[' . $module . '][enable]');
}
}
protected function uninstallModules() {
$this
->drupalPostForm('admin/modules/uninstall', [
'uninstall[entity_print_views]' => TRUE,
], 'Uninstall');
$this
->getSession()
->getPage()
->pressButton('Uninstall');
$this
->drupalPostForm('admin/modules/uninstall', [
'uninstall[entity_print]' => TRUE,
], 'Uninstall');
$this
->getSession()
->getPage()
->pressButton('Uninstall');
}
protected function installModules() {
$this
->drupalPostForm('admin/modules', [
'modules[entity_print][enable]' => TRUE,
'modules[entity_print_views][enable]' => TRUE,
], 'Install');
if ($button = $this
->getSession()
->getPage()
->findButton('Continue')) {
$button
->press();
}
}
}