public function WebformSettingsSerialTest::testSettings in Webform 8.5
Same name and namespace in other branches
- 6.x tests/src/Functional/Settings/WebformSettingsSerialTest.php \Drupal\Tests\webform\Functional\Settings\WebformSettingsSerialTest::testSettings()
Tests webform submission serial number.
File
- tests/
src/ Functional/ Settings/ WebformSettingsSerialTest.php, line 19
Class
- WebformSettingsSerialTest
- Tests for webform submission serial number.
Namespace
Drupal\Tests\webform\Functional\SettingsCode
public function testSettings() {
// Login the admin user.
$this
->drupalLogin($this->rootUser);
/** @var \Drupal\webform\WebformInterface $webform */
$webform = Webform::load('contact');
// Set next serial to 99.
$this
->drupalPostForm('/admin/structure/webform/manage/contact/settings/submissions', [
'next_serial' => 99,
], 'Save');
// Check next serial is 99.
$sid = $this
->postSubmissionTest($webform);
$webform_submission = WebformSubmission::load($sid);
$this
->assertEqual($webform_submission
->serial(), 99);
$this
->assertNotEqual($webform_submission
->serial(), $sid);
// Check that next serial is set to max serial.
$this
->drupalPostForm('/admin/structure/webform/manage/contact/settings/submissions', [
'next_serial' => 1,
], 'Save');
$this
->assertRaw('The next submission number was increased to 100 to make it higher than existing submissions.');
// Disable serial.
$webform
->setSetting('serial_disabled', TRUE)
->save();
// Check next serial is not 100 but equal to the sid.
$sid = $this
->postSubmissionTest($webform);
$webform_submission = WebformSubmission::load($sid);
$this
->assertNotEqual($webform_submission
->serial(), 100);
$this
->assertEqual($webform_submission
->serial(), $sid);
}