Code development platform for open source projects from the European Union institutions

Skip to content
Snippets Groups Projects
Commit 3644a314 authored by escuriola's avatar escuriola Committed by Andreas Hennings
Browse files

OEL-1246: Improve testing. Work in progress.

parent 6d829eea
No related branches found
No related tags found
2 merge requests!156OEL-1450: Epic list pages.,!111OEL-1246: Integrate oe_list_pages on oe_whitelabel
......@@ -31,8 +31,6 @@ class ListPagesTest extends WhitelabelBrowserTestBase {
$page = $this->getSession()->getPage();
$assert_session = $this->assertSession();
$this->drupalLogin($this->rootUser);
// Create some test nodes.
for ($i = 0; $i < 12; $i++) {
$date = new DrupalDateTime('20-10-2020');
......@@ -48,42 +46,57 @@ class ListPagesTest extends WhitelabelBrowserTestBase {
}
// Index content.
$list_source_factory = $this->container->get('oe_list_pages.list_source.factory');
$item_list = $list_source_factory->get('node', 'oe_sc_news');
$item_list->getIndex()->indexItems();
// Create list page for News.
$this->drupalGet('/node/add/oe_list_page');
$page->fillField('Title', 'News list page');
// Check that select bundle is required.
$page->pressButton('Save');
$assert_session->elementTextEquals('css', 'div.alert-content', 'Source bundle field is required.');
$page->selectFieldOption('Source bundle', 'News');
$page->pressButton('Save');
$this->indexItems('oe_whitelabel_list_page_index_test');
$list_page = Node::create([
'type' => 'oe_list_page',
'title' => 'News list page',
]);
/** @var \Drupal\emr\Entity\EntityMetaInterface $list_page_entity_meta */
$list_page_entity_meta = $list_page->get('emr_entity_metas')->getEntityMeta('oe_list_page');
/** @var \Drupal\oe_list_pages\ListPageWrapper $list_page_entity_meta_wrapper */
$list_page_entity_meta_wrapper = $list_page_entity_meta->getWrapper();
$list_page_entity_meta_wrapper->setSource('node', 'oe_sc_news');
$list_page_entity_meta_wrapper->setConfiguration([
'override_exposed_filters' => 1,
'exposed_filters' => [
'oe_sc_news_title' => 'oe_sc_news_title',
],
'preset_filters' => [],
'limit' => 10,
'sort' => [],
]);
$list_page->get('emr_entity_metas')->attach($list_page_entity_meta);
$list_page->save();
$this->drupalGet('node/' . $list_page->id());
// Assert the left column.
$assert_session->elementExists('css', 'article > div.row > div.col-12.col-lg-3');
// Assert offcanvas.
$assert_session->elementExists('css', 'div.bcl-offcanvas');
$assert_session->elementTextEquals('css', 'h4.offcanvas-title', 'Filter options');
$assert_session->elementExists('css', 'button.btn-light > svg');
$assert_session->elementTextEquals('css', 'button[data-bs-toggle="offcanvas"]', 'Filters');
// Assert Filters.
$assert_session->elementExists('css', 'input[name="oe_sc_news_title"]');
$assert_session->elementExists('css', 'input.btn-primary');
$assert_session->fieldValueEquals('input.btn-primary', 'Search');
$assert_session->elementExists('css', 'input.btn-secondary');
$assert_session->fieldValueEquals('input.btn-secondary', 'Clear filters');
$assert_session->pageTextMatchesCount(10, '/News number/');
$assert_session->elementNotExists('css', 'h4.offcanvas-title');
// Assert right column.
$assert_session->elementExists('css', 'article > div.row > div.col-12 col-lg-9 col-xxl-8');
$assert_session->elementContains('css', 'h4.mb-0 > span', 'News list page');
$assert_session->elementContains('css', 'h4.mb-0', '(12)');
$assert_session->elementExists('css', 'nav > ul.pagination');
$assert_session->elementsCount('css', 'div.bcl-listing.bcl-listing--default-1-col > div.row > div.col > article > div.listing-item', '10');
// Assert listing.
$assert_session->elementsCount('css', 'hr', 2);
$assert_session->elementsCount('css', 'div.bcl-listing.bcl-listing--default-1-col > div.row > div.col > article > div.listing-item', '10');
// Assert pagination.
$assert_session->elementExists('css', 'nav > ul.pagination');
$assert_session->elementsCount('css', 'ul.pagination > li.page-item', 3);
// Add facets filters.
$list_page = $this->getNodeByTitle('News list page');
$this->drupalGet('node/' . $list_page->id() . '/edit');
$page->checkField('Override default exposed filters');
$page->checkField('emr_plugins_oe_list_page[wrapper][exposed_filters][oe_sc_news_title]');
$page->pressButton('Save');
$assert_session->elementTextEquals('css', 'h4.offcanvas-title', 'Filter options');
$assert_session->elementExists('css', 'div.bcl-offcanvas');
$assert_session->elementExists('css', 'input[name="oe_sc_news_title"]');
$assert_session->elementExists('css', 'button.btn-light > svg');
$page->fillField('Title', 'number');
$page->pressButton('Search');
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment