public function QuickEditFileTest::testRemove in Drupal 9
Same name and namespace in other branches
- 8 core/modules/quickedit/tests/src/FunctionalJavascript/QuickEditFileTest.php \Drupal\Tests\quickedit\FunctionalJavascript\QuickEditFileTest::testRemove()
Tests if a file can be in-place removed with Quick Edit.
File
- core/
modules/ quickedit/ tests/ src/ FunctionalJavascript/ QuickEditFileTest.php, line 58
Class
- QuickEditFileTest
- @group quickedit
Namespace
Drupal\Tests\quickedit\FunctionalJavascriptCode
public function testRemove() {
$assert_session = $this
->assertSession();
// Create test file.
$this
->generateFile('test', 64, 10, 'text');
$file = File::create([
'uri' => 'public://test.txt',
'filename' => 'test.txt',
]);
$file
->setPermanent();
$file
->save();
// Create test node.
$node = $this
->drupalCreateNode([
'type' => 'article',
'title' => t('My Test Node'),
'field_file' => [
'target_id' => $file
->id(),
],
]);
$this
->drupalGet($node
->toUrl()
->toString());
// Start Quick Edit.
$this
->awaitQuickEditForEntity('node', 1);
$this
->startQuickEditViaToolbar('node', 1, 0);
// Click the file field.
$assert_session
->waitForElementVisible('css', '[data-quickedit-field-id="node/1/field_file/en/full"]');
$this
->click('[data-quickedit-field-id="node/1/field_file/en/full"]');
$assert_session
->waitForElement('css', '.quickedit-toolbar-field div[id*="file"]');
// Remove the file.
$remove = $assert_session
->waitForButton('Remove');
$remove
->click();
// Wait for remove.
$assert_session
->waitForElement('css', 'input[name="files[field_file_0]"]');
$this
->saveQuickEdit();
// Wait for save.
$this
->assertJsCondition("Drupal.quickedit.collections.entities.get('node/1[0]').get('state') === 'closed'");
// Assert file is removed from node.
$assert_session
->pageTextNotContains('test.txt');
$node = Node::load($node
->id());
$this
->assertEmpty($node
->get('field_file')
->getValue());
}