You are here

private function MultiCustomFieldsSubmissionTest::enableCustomFields in Webform CiviCRM Integration 8.5

Enable Custom Fields

3 calls to MultiCustomFieldsSubmissionTest::enableCustomFields()
MultiCustomFieldsSubmissionTest::testAnonymousSubmitWithContribution in tests/src/FunctionalJavascript/MultiCustomFieldsSubmissionTest.php
MultiCustomFieldsSubmissionTest::testContactRefSubmission in tests/src/FunctionalJavascript/MultiCustomFieldsSubmissionTest.php
Submit webform with 3 contact reference fields.
MultiCustomFieldsSubmissionTest::testSubmitWebform in tests/src/FunctionalJavascript/MultiCustomFieldsSubmissionTest.php
Test submitting Custom Fields

File

tests/src/FunctionalJavascript/MultiCustomFieldsSubmissionTest.php, line 366

Class

MultiCustomFieldsSubmissionTest
Tests submitting a Webform with CiviCRM: single contact + custom fields.

Namespace

Drupal\Tests\webform_civicrm\FunctionalJavascript

Code

private function enableCustomFields($c, $createOnly = FALSE) {
  $this
    ->getSession()
    ->getPage()
    ->selectFieldOption("contact_{$c}_number_of_cg{$this->_cgID}", $this->_totalMV);
  $this
    ->assertSession()
    ->assertWaitOnAjaxRequest();
  $this
    ->htmlOutput();

  // Enable custom fields.
  foreach ($this->_customFields as $id) {
    for ($i = 1; $i <= $this->_totalMV; $i++) {
      if ($createOnly) {
        $this
          ->getSession()
          ->getPage()
          ->selectFieldOption("civicrm_{$c}_contact_{$i}_cg{$this->_cgID}_createmode", "Create Only");
      }
      $fldName = "civicrm_{$c}_contact_{$i}_cg{$this->_cgID}_custom_{$id}";
      if ($id == $this->_customFields['consultant']) {
        $this
          ->getSession()
          ->getPage()
          ->selectFieldOption($fldName, "Contact {$i}");
      }
      else {
        $this
          ->getSession()
          ->getPage()
          ->checkField($fldName);
        $this
          ->assertSession()
          ->checkboxChecked($fldName);
      }
    }
  }
}