public function SelectWidgetTest::testValidation in Typed Data API enhancements 8
@covers ::form @covers ::flagViolations
Overrides FormWidgetBrowserTestBase::testValidation
File
- tests/
src/ Functional/ TypedDataFormWidget/ SelectWidgetTest.php, line 93
Class
- SelectWidgetTest
- Class SelectWidgetTest.
Namespace
Drupal\Tests\typed_data\Functional\TypedDataFormWidgetCode
public function testValidation() {
$context_definition = ContextDefinition::create('filter_format')
->setLabel('Filter format')
->setDescription('Some example selection.')
->setRequired(TRUE);
$this->container
->get('state')
->set('typed_data_widgets.definition', $context_definition);
$this
->drupalLogin($this
->createUser([], NULL, TRUE));
$path = 'admin/config/user-interface/typed-data-widgets/' . $this->widget
->getPluginId();
$this
->drupalGet($path);
// Set the empty option and make sure it results in a violation.
$this
->fillField('data[value]', '');
$this
->pressButton('Submit');
/** @var \Drupal\Tests\WebAssert $assert */
$assert = $this
->assertSession();
$assert
->fieldExists('data[value]')
->hasClass('error');
// Make sure the changes have not been saved also.
$this
->drupalGet($path);
$assert
->fieldValueEquals('data[value]', $context_definition
->getDefaultValue());
}