You are here

private function ActivitySubmissionTest::addActivityFields in Webform CiviCRM Integration 8.5

Add activity fields on webform and set assignee values

Parameters

int $num:

2 calls to ActivitySubmissionTest::addActivityFields()
ActivitySubmissionTest::testMultipleAssignees in tests/src/FunctionalJavascript/ActivitySubmissionTest.php
Test activity on multiple assignees
ActivitySubmissionTest::testSubmitWebform in tests/src/FunctionalJavascript/ActivitySubmissionTest.php
Test submitting an activity

File

tests/src/FunctionalJavascript/ActivitySubmissionTest.php, line 46

Class

ActivitySubmissionTest
Tests submitting a Webform with CiviCRM: Contact with Activity

Namespace

Drupal\Tests\webform_civicrm\FunctionalJavascript

Code

private function addActivityFields($num = 1) {
  $this
    ->enableCivicrmOnWebform();
  $this
    ->getSession()
    ->getPage()
    ->selectFieldOption('number_of_contacts', $num);
  $this
    ->assertSession()
    ->assertWaitOnAjaxRequest();
  $this
    ->htmlOutput();
  $this
    ->getSession()
    ->getPage()
    ->clickLink('Activities');
  $this
    ->getSession()
    ->getPage()
    ->selectFieldOption('activity_number_of_activity', 1);
  $this
    ->assertSession()
    ->assertWaitOnAjaxRequest();
  $this
    ->htmlOutput();
  $this
    ->getSession()
    ->getPage()
    ->checkField("civicrm_1_activity_1_activity_subject");
  $this
    ->getSession()
    ->getPage()
    ->checkField("civicrm_1_activity_1_activity_details");
  $this
    ->getSession()
    ->getPage()
    ->uncheckField('activity_1_settings_details[view_link]');
  $this
    ->getSession()
    ->getPage()
    ->checkField("civicrm_1_activity_1_activity_activity_date_time");
  $this
    ->getSession()
    ->getPage()
    ->checkField("civicrm_1_activity_1_activity_duration");
  $multiple = FALSE;
  if ($num > 1) {
    $multiple = TRUE;
    $this
      ->getSession()
      ->getPage()
      ->find('xpath', '//div[contains(@class, "form-item-civicrm-1-activity-1-activity-assignee-contact-id")]/a[contains(@class, "select-multiple")]')
      ->click();
  }
  $this
    ->assertSession()
    ->assertWaitOnAjaxRequest();
  for ($i = 1; $i <= $num; $i++) {
    $this
      ->getSession()
      ->getPage()
      ->selectFieldOption('civicrm_1_activity_1_activity_assignee_contact_id[]', "Contact {$i}", $multiple);
  }
  $this
    ->assertSession()
    ->checkboxChecked("civicrm_1_activity_1_activity_subject");
  $this
    ->assertSession()
    ->checkboxChecked("civicrm_1_activity_1_activity_details");
  $this
    ->assertSession()
    ->checkboxChecked("civicrm_1_activity_1_activity_activity_date_time");
  $this
    ->assertSession()
    ->checkboxChecked("civicrm_1_activity_1_activity_duration");
  $this
    ->saveCiviCRMSettings();
}