WebformElementRatingTest.php in Webform 8.5
File
tests/src/Functional/Element/WebformElementRatingTest.php
View source
<?php
namespace Drupal\Tests\webform\Functional\Element;
class WebformElementRatingTest extends WebformElementBrowserTestBase {
protected static $testWebforms = [
'test_element_rating',
];
public function testRating() {
$this
->drupalGet('/webform/test_element_rating');
$this
->assertRaw('<label for="edit-rating-basic">rating_basic</label>');
$this
->assertRaw('<input data-drupal-selector="edit-rating-basic" type="range" class="js-webform-visually-hidden form-webform-rating" id="edit-rating-basic" name="rating_basic" value="0" step="1" min="0" max="5" />');
$this
->assertRaw('<div class="rateit svg rateit-medium" data-rateit-min="0" data-rateit-max="5" data-rateit-step="1" data-rateit-resetable="false" data-rateit-readonly="false" data-rateit-backingfld="[data-drupal-selector="edit-rating-basic"]" data-rateit-value="" data-rateit-starheight="24" data-rateit-starwidth="24">');
$this
->assertRaw('<label for="edit-rating-advanced">rating_advanced</label>');
$this
->assertRaw('<input data-drupal-selector="edit-rating-advanced" type="range" class="js-webform-visually-hidden form-webform-rating" id="edit-rating-advanced" name="rating_advanced" value="0" step="0.1" min="0" max="10" />');
$this
->assertRaw('<div class="rateit svg rateit-large" data-rateit-min="0" data-rateit-max="10" data-rateit-step="0.1" data-rateit-resetable="true" data-rateit-readonly="false" data-rateit-backingfld="[data-drupal-selector="edit-rating-advanced"]" data-rateit-value="" data-rateit-starheight="32" data-rateit-starwidth="32">');
$this
->assertRaw('<label for="edit-rating-required" class="js-form-required form-required">rating_required</label>');
$this
->assertRaw('<input data-drupal-selector="edit-rating-required" type="range" class="js-webform-visually-hidden form-webform-rating required" id="edit-rating-required" name="rating_required" value="0" step="1" min="0" max="5" required="required" aria-required="true" />');
$this
->assertRaw('<div class="rateit svg rateit-medium" data-rateit-min="0" data-rateit-max="5" data-rateit-step="1" data-rateit-resetable="false" data-rateit-readonly="false" data-rateit-backingfld="[data-drupal-selector="edit-rating-required"]" data-rateit-value="" data-rateit-starheight="24" data-rateit-starwidth="24"></div>');
$edit = [
'rating_basic' => '1',
'rating_advanced' => '2',
'rating_required' => '3',
];
$this
->drupalPostForm('/webform/test_element_rating', $edit, 'Submit');
$this
->assertRaw("rating_basic: '1'\nrating_advanced: '2'\nrating_required: '3'");
$this
->drupalPostForm('/webform/test_element_rating', [], 'Submit');
$this
->assertRaw('rating_required field is required.');
}
}