public function WidgetTest::testVideoEmbedFieldDefaultWidget in Video Embed Field 8
Same name and namespace in other branches
- 8.2 tests/src/Functional/WidgetTest.php \Drupal\Tests\video_embed_field\Functional\WidgetTest::testVideoEmbedFieldDefaultWidget()
Test the input widget.
File
- tests/
src/ Functional/ WidgetTest.php, line 30
Class
- WidgetTest
- Test the video embed field widget.
Namespace
Drupal\Tests\video_embed_field\FunctionalCode
public function testVideoEmbedFieldDefaultWidget() {
$this
->setupEntityDisplays();
$this
->setFormComponentSettings('video_embed_field_textfield');
$this
->drupalLogin($this
->createAdminUser());
$node_title = $this
->randomMachineName();
// Test an invalid input.
$this
->drupalGet(Url::fromRoute('node.add', [
'node_type' => $this->contentTypeName,
])
->toString());
$this
->submitForm([
'title[0][value]' => $node_title,
$this->fieldName . '[0][value]' => 'Some useless value.',
], t('Save'));
$this
->assertSession()
->pageTextContains('Could not find a video provider to handle the given URL.');
// Test a valid input.
$valid_input = 'https://vimeo.com/80896303';
$this
->submitForm([
$this->fieldName . '[0][value]' => $valid_input,
], t('Save'));
$this
->assertSession()
->pageTextContains(sprintf('%s %s has been created.', $this->contentTypeName, $node_title));
// Load the saved node and assert the valid value was saved into the field.
$nodes = \Drupal::entityTypeManager()
->getStorage('node')
->loadByProperties([
'title' => $node_title,
]);
$node = array_shift($nodes);
$this
->assertEquals($node->{$this->fieldName}[0]->value, $valid_input);
}