You are here

public function ChartsBaseSettingsFormTest::testGetChartsBaseSettingsForm in Charts 8.3

Tests getChartsBaseSettingsForm().

@dataProvider formProvider

Parameters

mixed $form: The form array to which this form will be added.

array $defaults: An array of existing values which will be used to populate defaults.

array $field_options: An array of key => value names of fields within this chart.

array $parents: If all the contents of this form should be parented under a particular namespace, an array of parent names that will be prepended to each element's #parents property.

string $pluginType: A string to determine which layout to use.

File

tests/src/Unit/Settings/ChartsBaseSettingsFormTest.php, line 184

Class

ChartsBaseSettingsFormTest
Tests the ChartsBaseSettingsForm class.

Namespace

Drupal\Tests\charts\Unit\Settings

Code

public function testGetChartsBaseSettingsForm(array $form, array $defaults, array $field_options, array $parents, $pluginType) {
  $settingsForm = $this->chartsBaseSettingsForm
    ->getChartsBaseSettingsForm($form, $defaults, $field_options, $parents, $pluginType);
  $this
    ->assertInternalType('array', $settingsForm);
  $this
    ->assertArrayHasKey('library', $settingsForm);
  $this
    ->assertArrayHasKey('type', $settingsForm);
  $this
    ->assertArrayHasKey('display', $settingsForm);
  $this
    ->assertArrayHasKey('xaxis', $settingsForm);
  $this
    ->assertArrayHasKey('yaxis', $settingsForm);
  $this
    ->assertArrayHasKey('xaxis_title', $settingsForm['xaxis']);
  $this
    ->assertArrayHasKey('labels_rotation', $settingsForm['xaxis']);
  $this
    ->assertArrayHasKey('title', $settingsForm['yaxis']);
  $this
    ->assertArrayHasKey('minmax', $settingsForm['yaxis']);
  $this
    ->assertArrayHasKey('prefix', $settingsForm['yaxis']);
  $this
    ->assertArrayHasKey('suffix', $settingsForm['yaxis']);
  $this
    ->assertArrayHasKey('decimal_count', $settingsForm['yaxis']);
  $this
    ->assertArrayHasKey('labels_rotation', $settingsForm['yaxis']);
  $this
    ->assertArrayHasKey('title_position', $settingsForm['display']);
  $this
    ->assertArrayHasKey('tooltips', $settingsForm['display']);
  $this
    ->assertArrayHasKey('data_labels', $settingsForm['display']);
  $this
    ->assertArrayHasKey('data_markers', $settingsForm['display']);
  $this
    ->assertArrayHasKey('legend_position', $settingsForm['display']);
  $this
    ->assertArrayHasKey('background', $settingsForm['display']);
  $this
    ->assertArrayHasKey('three_dimensional', $settingsForm['display']);
  $this
    ->assertArrayHasKey('polar', $settingsForm['display']);
  $this
    ->assertArrayHasKey('dimensions', $settingsForm['display']);
  $this
    ->assertArrayHasKey('width', $settingsForm['display']['dimensions']);
  $this
    ->assertArrayHasKey('width_units', $settingsForm['display']['dimensions']);
  $this
    ->assertArrayHasKey('height', $settingsForm['display']['dimensions']);
  $this
    ->assertArrayHasKey('height_units', $settingsForm['display']['dimensions']);
  $this
    ->assertArrayHasKey('xaxis_title', $settingsForm['xaxis']);
  $this
    ->assertArrayHasKey('labels_rotation', $settingsForm['xaxis']);
  $this
    ->assertArrayHasKey('title', $settingsForm['yaxis']);
  $this
    ->assertArrayHasKey('minmax', $settingsForm['yaxis']);
  $this
    ->assertArrayHasKey('prefix', $settingsForm['yaxis']);
  $this
    ->assertArrayHasKey('suffix', $settingsForm['yaxis']);
  $this
    ->assertArrayHasKey('decimal_count', $settingsForm['yaxis']);
  $this
    ->assertArrayHasKey('labels_rotation', $settingsForm['yaxis']);
  $this
    ->assertArrayHasKey('gauge', $settingsForm['display']);
  $this
    ->assertArrayHasKey('max', $settingsForm['display']['gauge']);
  $this
    ->assertArrayHasKey('min', $settingsForm['display']['gauge']);
  $this
    ->assertArrayHasKey('green_from', $settingsForm['display']['gauge']);
  $this
    ->assertArrayHasKey('green_to', $settingsForm['display']['gauge']);
  $this
    ->assertArrayHasKey('yellow_from', $settingsForm['display']['gauge']);
  $this
    ->assertArrayHasKey('yellow_to', $settingsForm['display']['gauge']);
  $this
    ->assertArrayHasKey('red_from', $settingsForm['display']['gauge']);
  $this
    ->assertArrayHasKey('red_to', $settingsForm['display']['gauge']);
  if ($pluginType === 'view') {
    $this
      ->assertArrayHasKey('label_field', $settingsForm['fields']);
    $this
      ->assertArrayHasKey('table', $settingsForm['fields']);
    $this
      ->assertArrayHasKey(0, $settingsForm['fields']['table']);
    $this
      ->assertArrayHasKey('label_label', $settingsForm['fields']['table'][0]);
    $this
      ->assertArrayHasKey('data_fields', $settingsForm['fields']['table'][0]);
    $this
      ->assertArrayHasKey('field_colors', $settingsForm['fields']['table'][0]);
  }
  if ($pluginType === 'block') {
    $this
      ->assertArrayHasKey('inherit_yaxis', $settingsForm['yaxis']);
    $this
      ->assertArrayHasKey('secondary_yaxis', $settingsForm['yaxis']);
    $this
      ->assertArrayHasKey('title', $settingsForm['yaxis']['secondary_yaxis']);
    $this
      ->assertArrayHasKey('minmax', $settingsForm['yaxis']['secondary_yaxis']);
    $this
      ->assertArrayHasKey('prefix', $settingsForm['yaxis']['secondary_yaxis']);
    $this
      ->assertArrayHasKey('suffix', $settingsForm['yaxis']['secondary_yaxis']);
    $this
      ->assertArrayHasKey('decimal_count', $settingsForm['yaxis']['secondary_yaxis']);
    $this
      ->assertArrayHasKey('labels_rotation', $settingsForm['yaxis']['secondary_yaxis']);
  }
  if ($pluginType === 'config_form') {
    $this
      ->assertArrayHasKey('title', $settingsForm['display']);
    $this
      ->assertArrayHasKey('colors', $settingsForm['display']);
    $this
      ->assertArrayHasKey(0, $settingsForm['display']['colors']);
  }
  $defaultValues = $this
    ->getChartsDefaultSettingsMock()
    ->getDefaults();
  $this
    ->assertEquals($defaultValues['library'], $settingsForm['library']['#default_value']);
  $this
    ->assertEquals($defaultValues['type'], $settingsForm['type']['#default_value']);
  $this
    ->assertEquals($defaultValues['title'], $settingsForm['display']['title']['#default_value']);
  $this
    ->assertEquals($defaultValues['title_position'], $settingsForm['display']['title_position']['#default_value']);
  $this
    ->assertEquals($defaultValues['tooltips'], $settingsForm['display']['tooltips']['#default_value']);
  $this
    ->assertEquals($defaultValues['data_labels'], $settingsForm['display']['data_labels']['#default_value']);
  $this
    ->assertEquals($defaultValues['data_markers'], $settingsForm['display']['data_markers']['#default_value']);
  $this
    ->assertEquals($defaultValues['legend_position'], $settingsForm['display']['legend_position']['#default_value']);
  $this
    ->assertEquals($defaultValues['background'], $settingsForm['display']['background']['#default_value']);
  $this
    ->assertEquals($defaultValues['three_dimensional'], $settingsForm['display']['three_dimensional']['#default_value']);
  $this
    ->assertEquals($defaultValues['polar'], $settingsForm['display']['polar']['#default_value']);
  $this
    ->assertEquals($defaultValues['width'], $settingsForm['display']['dimensions']['width']['#default_value']);
  $this
    ->assertEquals($defaultValues['width_units'], $settingsForm['display']['dimensions']['width_units']['#default_value']);
  $this
    ->assertEquals($defaultValues['height'], $settingsForm['display']['dimensions']['height']['#default_value']);
  $this
    ->assertEquals($defaultValues['height_units'], $settingsForm['display']['dimensions']['height_units']['#default_value']);
  $this
    ->assertEquals($defaultValues['xaxis_title'], $settingsForm['xaxis']['xaxis_title']['#default_value']);
  $this
    ->assertEquals($defaultValues['xaxis_labels_rotation'], $settingsForm['xaxis']['labels_rotation']['#default_value']);
  $this
    ->assertEquals($defaultValues['yaxis_title'], $settingsForm['yaxis']['title']['#default_value']);
  $this
    ->assertEquals($defaultValues['yaxis_min'], $settingsForm['yaxis']['minmax']['min']['#default_value']);
  $this
    ->assertEquals($defaultValues['yaxis_max'], $settingsForm['yaxis']['minmax']['max']['#default_value']);
  $this
    ->assertEquals($defaultValues['yaxis_prefix'], $settingsForm['yaxis']['prefix']['#default_value']);
  $this
    ->assertEquals($defaultValues['yaxis_suffix'], $settingsForm['yaxis']['suffix']['#default_value']);
  $this
    ->assertEquals($defaultValues['yaxis_decimal_count'], $settingsForm['yaxis']['decimal_count']['#default_value']);
  $this
    ->assertEquals($defaultValues['yaxis_labels_rotation'], $settingsForm['yaxis']['labels_rotation']['#default_value']);
  $this
    ->assertEquals($defaultValues['max'], $settingsForm['display']['gauge']['max']['#default_value']);
  $this
    ->assertEquals($defaultValues['min'], $settingsForm['display']['gauge']['min']['#default_value']);
  $this
    ->assertEquals($defaultValues['green_from'], $settingsForm['display']['gauge']['green_from']['#default_value']);
  $this
    ->assertEquals($defaultValues['green_to'], $settingsForm['display']['gauge']['green_to']['#default_value']);
  $this
    ->assertEquals($defaultValues['yellow_from'], $settingsForm['display']['gauge']['yellow_from']['#default_value']);
  $this
    ->assertEquals($defaultValues['yellow_to'], $settingsForm['display']['gauge']['yellow_to']['#default_value']);
  $this
    ->assertEquals($defaultValues['red_from'], $settingsForm['display']['gauge']['red_from']['#default_value']);
  $this
    ->assertEquals($defaultValues['red_to'], $settingsForm['display']['gauge']['red_to']['#default_value']);
}