public function RearrangeFieldsTest::testRearrangeFields

Tests field sorting.

File

drupal/core/modules/views_ui/lib/Drupal/views_ui/Tests/RearrangeFieldsTest.php, line 64
Contains \Drupal\views_ui\tests\RearrangeFieldsTest.

Class

RearrangeFieldsTest
Tests the reordering of fields via AJAX.

Namespace

Drupal\views_ui\Tests

Code

public function testRearrangeFields() {
  $view_name = 'test_view';

  // Checks that the order on the rearrange form matches the creation order.
  $this
    ->assertFieldOrder($view_name, $this
    ->getViewFields($view_name));

  // Checks that a field is not deleted if a value is not passed back.
  $fields = array();
  $this
    ->drupalPost('admin/structure/views/nojs/rearrange/' . $view_name . '/default/field', $fields, t('Apply'));
  $this
    ->assertFieldOrder($view_name, $this
    ->getViewFields($view_name));

  // Checks that revers the new field order is respected.
  $reversedFields = array_reverse($this
    ->getViewFields($view_name));
  $fields = array();
  foreach ($reversedFields as $delta => $field) {
    $fields['fields[' . $field . '][weight]'] = $delta;
  }
  $this
    ->drupalPost('admin/structure/views/nojs/rearrange/' . $view_name . '/default/field', $fields, t('Apply'));
  $this
    ->assertFieldOrder($view_name, $reversedFields);
}