public function FlagBookmarkUITest::testUiBulkDelete in Flag 8.4
Tests bulk deletion of flaggings form.
File
- modules/
flag_bookmark/ tests/ src/ FunctionalJavascript/ FlagBookmarkUITest.php, line 70
Class
- FlagBookmarkUITest
- Browser tests for flag_bookmark.
Namespace
Drupal\Tests\flag_bookmark\FunctionalJavascriptCode
public function testUiBulkDelete() {
// Create some nodes.
$articles[] = $this
->drupalCreateNode([
'type' => 'article',
]);
$articles[] = $this
->drupalCreateNode([
'type' => 'article',
]);
// Login as an auth user.
$admin_user = $this
->drupalCreateUser([
'flag bookmark',
'unflag bookmark',
'administer flaggings',
]);
$this
->drupalLogin($admin_user);
$flag_service = \Drupal::service('flag');
$bookmark_flag = $flag_service
->getFlagById('bookmark');
// Flag the articles.
$flag_service
->flag($bookmark_flag, $articles[0]);
$flag_service
->flag($bookmark_flag, $articles[1]);
$assert_session = $this
->assertSession();
$this
->drupalGet('bookmarks');
$page = $this
->getSession()
->getPage();
// Confirm both articles appear in the table.
$assert_session
->pageTextContains('Delete flagging');
$assert_session
->pageTextContains($articles[0]
->label());
$assert_session
->pageTextContains($articles[1]
->label());
// Select all bookmarks and perform bulk delete.
$page
->find('css', 'input[title="Select all rows in this table"]')
->check();
$page
->pressButton('Apply to selected items');
// Assert that the bookmark table has become empty.
$empty_form = $assert_session
->waitForElementVisible('css', "form:contains('No bookmarks available.')");
$this
->assertNotNull($empty_form, 'Flagging form is empty.');
$assert_session
->pageTextNotContains($articles[0]
->label());
$assert_session
->pageTextNotContains($articles[1]
->label());
}