You are here

protected function RateWidgetCreateTrait::createRateWidget in Rate 8.2

Helper function to create and save a rate widget entity.

Parameters

string $id: The rate widget machine_name.

string $label: The rate widget label.

string $template: The rate widget template.

array $options: The value options array for the rate widget.

array $entity_types: The entity types the rate widget is attached to.

array $comment_types: The comment types the rate widget is attached to.

array $voting: The voting settings.

array $display: The display settings.

array $results: The results settings.

Return value

\Drupal\rate\RateWidgetInterface A saved rate widget entity.

Throws

\Drupal\Core\Entity\EntityStorageException

7 calls to RateWidgetCreateTrait::createRateWidget()
NodeRateWidgetFivestarTest::setUp in tests/src/FunctionalJavascript/NodeRateWidgetFivestarTest.php
NodeRateWidgetNumberUpDownTest::setUp in tests/src/FunctionalJavascript/NodeRateWidgetNumberUpDownTest.php
NodeRateWidgetThumbsUpDownTest::setUp in tests/src/FunctionalJavascript/NodeRateWidgetThumbsUpDownTest.php
NodeRateWidgetThumbsUpTest::setUp in tests/src/FunctionalJavascript/NodeRateWidgetThumbsUpTest.php
NodeRateWidgetYesNoTest::setUp in tests/src/FunctionalJavascript/NodeRateWidgetYesNoTest.php

... See full list

File

tests/src/Traits/RateWidgetCreateTrait.php, line 39

Class

RateWidgetCreateTrait
Trait to assist rate widget creation for tests.

Namespace

Drupal\Tests\rate\Traits

Code

protected function createRateWidget($id = NULL, $label = NULL, $template = NULL, array $options = [], array $entity_types = [], array $comment_types = [], array $voting = [], array $display = [], array $results = []) {

  // Set defaults, if not provided in call.
  $id = $id ?: mb_strtolower($this
    ->randomMachineName());
  $label = $label ?: $this
    ->randomString();
  $template = $template ?: 'yesno';
  $voting = $voting ?: [
    'use_deadline' => 0,
  ];
  $rate_widget = RateWidget::Create([
    'id' => $id,
    'label' => $label,
    'template' => $template,
    'options' => $options,
    'entity_types' => $entity_types,
    'comment_types' => $comment_types,
    'voting' => $voting,
    'display' => $display,
    'results' => $results,
  ]);
  $rate_widget
    ->save();
  return $rate_widget;
}