You are here

function GroupByTest::testGroupBySave in Zircon Profile 8

Same name and namespace in other branches
  1. 8.0 core/modules/views_ui/src/Tests/GroupByTest.php \Drupal\views_ui\Tests\GroupByTest::testGroupBySave()

Tests whether basic saving works.

@todo This should check the change of the settings as well.

File

core/modules/views_ui/src/Tests/GroupByTest.php, line 29
Contains \Drupal\views_ui\Tests\GroupByTest.

Class

GroupByTest
Tests UI of aggregate functionality..

Namespace

Drupal\views_ui\Tests

Code

function testGroupBySave() {
  $this
    ->drupalGet('admin/structure/views/view/test_views_groupby_save/edit');
  $edit_groupby_url = 'admin/structure/views/nojs/handler-group/test_views_groupby_save/default/field/id';
  $this
    ->assertNoLinkByHref($edit_groupby_url, 0, 'No aggregation link found.');

  // Enable aggregation on the view.
  $edit = array(
    'group_by' => TRUE,
  );
  $this
    ->drupalPostForm('admin/structure/views/nojs/display/test_views_groupby_save/default/group_by', $edit, t('Apply'));
  $this
    ->assertLinkByHref($edit_groupby_url, 0, 'Aggregation link found.');

  // Change the groupby type in the UI.
  $this
    ->drupalPostForm($edit_groupby_url, array(
    'options[group_type]' => 'count',
  ), t('Apply'));
  $this
    ->assertLink('COUNT(Views test: ID)', 0, 'The count setting is displayed in the UI');
  $this
    ->drupalPostForm(NULL, array(), t('Save'));
  $view = $this->container
    ->get('entity.manager')
    ->getStorage('view')
    ->load('test_views_groupby_save');
  $display = $view
    ->getDisplay('default');
  $this
    ->assertTrue($display['display_options']['group_by'], 'The groupby setting was saved on the view.');
  $this
    ->assertEqual($display['display_options']['fields']['id']['group_type'], 'count', 'Count groupby_type was saved on the view.');
}