You are here

public function WebformSettingsAssetsTest::testAssets in Webform 6.x

Same name and namespace in other branches
  1. 8.5 tests/src/Functional/Settings/WebformSettingsAssetsTest.php \Drupal\Tests\webform\Functional\Settings\WebformSettingsAssetsTest::testAssets()

Tests webform assets.

File

tests/src/Functional/Settings/WebformSettingsAssetsTest.php, line 25

Class

WebformSettingsAssetsTest
Tests for webform assets settings.

Namespace

Drupal\Tests\webform\Functional\Settings

Code

public function testAssets() {
  $webform_assets = Webform::load('test_form_assets');

  // Check has CSS (href) and JavaScript (src).
  $this
    ->drupalGet('/webform/test_form_assets');
  $this
    ->assertRaw('href="' . base_path() . 'webform/css/test_form_assets?');
  $this
    ->assertRaw('src="' . base_path() . 'webform/javascript/test_form_assets?');

  // Clear CSS (href) and JavaScript (src).
  $webform_assets
    ->setCss('')
    ->setJavaScript('')
    ->save();

  // Check has no CSS (href) and JavaScript (src).
  $this
    ->drupalGet('/webform/test_form_assets');
  $this
    ->assertNoRaw('href="' . base_path() . 'webform/css/test_form_assets?');
  $this
    ->assertNoRaw('src="' . base_path() . 'webform/javascript/test_form_assets?');

  // Add global CSS and JS on all webforms.
  \Drupal::configFactory()
    ->getEditable('webform.settings')
    ->set('assets.css', '/**/')
    ->set('assets.javascript', '/**/')
    ->save();

  // Check has global CSS (href) and JavaScript (src).
  $this
    ->drupalGet('/webform/test_form_assets');
  $this
    ->assertRaw('href="' . base_path() . 'webform/css/test_form_assets?');
  $this
    ->assertRaw('src="' . base_path() . 'webform/javascript/test_form_assets?');
}