public function WebformElementRatingTest::testRating in Webform 8.5
Same name and namespace in other branches
- 6.x tests/src/Functional/Element/WebformElementRatingTest.php \Drupal\Tests\webform\Functional\Element\WebformElementRatingTest::testRating()
Test rating element.
File
- tests/
src/ Functional/ Element/ WebformElementRatingTest.php, line 22
Class
- WebformElementRatingTest
- Tests for rating element.
Namespace
Drupal\Tests\webform\Functional\ElementCode
public function testRating() {
$this
->drupalGet('/webform/test_element_rating');
// Check basic rating display.
$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">');
// Check advanced rating display.
$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">');
// Check required rating display.
$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>');
// Check processing.
$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'");
// Check required validation.
$this
->drupalPostForm('/webform/test_element_rating', [], 'Submit');
$this
->assertRaw('rating_required field is required.');
}