You are here

public function SimpleFormBlockTest::testSimpleFormBlock in Examples for Developers 3.x

Same name and namespace in other branches
  1. 8 form_api_example/tests/src/Functional/SimpleFormBlockTest.php \Drupal\Tests\form_api_example\Functional\SimpleFormBlockTest::testSimpleFormBlock()

Test of paths through the example wizard form.

File

modules/form_api_example/tests/src/Functional/SimpleFormBlockTest.php, line 28

Class

SimpleFormBlockTest
Tests \Drupal\form_api_example\Plugin\Block\SimpleFormBlock.

Namespace

Drupal\Tests\form_api_example\Functional

Code

public function testSimpleFormBlock() {
  $assert = $this
    ->assertSession();

  // Create user.
  $web_user = $this
    ->drupalCreateUser([
    'administer blocks',
  ]);

  // Login the admin user.
  $this
    ->drupalLogin($web_user);
  $theme_name = $this
    ->config('system.theme')
    ->get('default');

  // Place the block.
  $label = 'SimpleFormBlock-' . $this
    ->randomString();
  $settings = [
    'label' => $label,
    'id' => 'form_api_example_simple_form_block',
    'theme' => $theme_name,
  ];
  $this
    ->drupalPlaceBlock('form_api_example_simple_form_block', $settings);

  // Verify the block is present.
  $this
    ->drupalGet('');
  $assert
    ->pageTextContains($label);
  $assert
    ->fieldExists('title');

  // And that the form works.
  $edit = [];
  $edit['title'] = 'SimpleFormBlock title example';
  $this
    ->drupalPostForm(NULL, $edit, t('Submit'));
  $assert
    ->pageTextContains('You specified a title of SimpleFormBlock title example');
}