civicrm_entity-8.x-3.0-beta1/tests/src/FunctionalJavascript/Views/CivicrmActivityViewsTest.php

tests/src/FunctionalJavascript/Views/CivicrmActivityViewsTest.php
<?php

declare(strict_types=1);

namespace Drupal\Tests\civicrm_entity\FunctionalJavascript\Views;

use Drupal\Tests\civicrm_entity\FunctionalJavascript\CivicrmEntityViewsTestBase;

/**
 * Tests for CiviCRM Activity Views.
 */
final class CivicrmActivityViewsTest extends CivicrmEntityViewsTestBase {

  /**
   * {@inheritdoc}
   */
  protected static $civicrmEntityTypeId = 'civicrm_activity';

  /**
   * {@inheritdoc}
   */
  public function testAddWizardValues() {
    parent::testAddWizardValues();
    // Specific bundles are present.
    $this->assertSession()->optionExists('show[type]', 'meeting');
    $this->assertSession()->optionExists('show[type]', 'email');
  }

  /**
   * {@inheritdoc}
   */
  protected function createSampleData() {
    $civicrm_api = $this->container->get('civicrm_entity.api');
    $result = $civicrm_api->save('Contact', [
      'contact_type' => 'Individual',
      'first_name' => 'Johnny',
      'last_name' => 'Appleseed',
      'email' => 'johnny@example.com',
    ]);
    $contact_id = $result['id'];
    $civicrm_api->save('Activity', [
      'source_contact_id' => $contact_id,
      'activity_type_id' => 'Meeting',
      'subject' => 'Meeting about new seeds',
      'activity_date_time' => '2011-06-02 14:36:13',
      'status_id' => 2,
      'priority_id' => 1,
      'duration' => 120,
      'location' => 'Pennsylvania',
      'details' => 'We need to find more seeds!',
    ]);
    $civicrm_api->save('Activity', [
      'source_contact_id' => $contact_id,
      'activity_type_id' => 'Email',
      'subject' => 'Email about new seeds',
      'activity_date_time' => '2011-06-03 14:36:13',
      'status_id' => 2,
      'priority_id' => 1,
      'duration' => 120,
      'location' => 'Texas',
      'details' => 'We just got new seeds.',
    ]);
  }

  /**
   * {@inheritdoc}
   */
  protected function doSetupCreateView() {
    $this->addFieldToDisplay('name[civicrm_activity.details__value]');
    $this->addFieldToDisplay('name[civicrm_activity.location]');
  }

  /**
   * {@inheritdoc}
   */
  protected function assertCreateViewResults() {
    $assert_session = $this->assertSession();
    $assert_session->pageTextContains('Meeting about new seeds');
    $assert_session->pageTextContains('We need to find more seeds!');
    $assert_session->pageTextContains('Pennsylvania');
  }

  /**
   * {@inheritdoc}
   */
  protected function doSetupViewWithRelationships() {
    $this->addRelationshipToDisplay('name[civicrm_activity.contact]', [
      // Set relationship to source.
      'options[record_type_id][]' => ['2'],
    ]);
    $this->addRelationshipToDisplay('name[civicrm_contact.user]');
    $this->addFieldToDisplay('name[civicrm_contact.display_name]');
  }

  /**
   * {@inheritdoc}
   */
  protected function assertViewWithRelationshipsResults() {
    $assert_session = $this->assertSession();
    $assert_session->pageTextContains('Meeting about new seeds');
    $assert_session->pageTextContains('Johnny Appleseed');
  }

  /**
   * {@inheritdoc}
   */
  protected function doSetupViewWithFilters() {
    $this->addFilterToDisplay('name[civicrm_activity.activity_type_id]', [
      'options[operator]' => 'or',
      'options[value][]' => [1],
    ]);

    $this->addFieldToDisplay('name[civicrm_activity.details__value]');
    $this->addFieldToDisplay('name[civicrm_activity.location]');
  }

  /**
   * {@inheritdoc}
   */
  protected function assertViewWithFiltersResults() {
    $assert_session = $this->assertSession();
    $assert_session->pageTextContains('Meeting about new seeds');
    $assert_session->pageTextContains('We need to find more seeds!');
    $assert_session->pageTextContains('Pennsylvania');
  }

  /**
   * {@inheritdoc}
   */
  protected function doSetupViewWithSorts() {
    $this->addSortToDisplay('name[civicrm_activity.id]', [
      'options[order]' => 'DESC',
    ]);

    $this->addFieldToDisplay('name[civicrm_activity.details__value]');
    $this->addFieldToDisplay('name[civicrm_activity.location]');
  }

  /**
   * {@inheritdoc}
   */
  protected function assertViewWithSortsResults() {
    $assert_session = $this->assertSession();
    $assert_session->elementTextContains('css', '.views-row:first-child', 'Email about new seeds');
    $assert_session->elementTextContains('css', '.views-row:first-child', 'We just got new seeds.');
    $assert_session->elementTextContains('css', '.views-row:first-child', 'Texas');
  }

  /**
   * {@inheritdoc}
   */
  protected function doSetupViewWithArguments() {
    $this->addArgumentToDisplay('name[civicrm_activity.id]');
    $this->addFieldToDisplay('name[civicrm_activity.details__value]');
    $this->addFieldToDisplay('name[civicrm_activity.location]');
  }

  /**
   * {@inheritdoc}
   */
  protected function assertViewWithArgumentsResults(array $arguments) {
    $assert_session = $this->assertSession();

    switch ($arguments[0]) {
      case 1:
        $assert_session->pageTextContainsOnce('Meeting about new seeds');
        $assert_session->pageTextContainsOnce('We need to find more seeds!');
        $assert_session->pageTextContainsOnce('Pennsylvania');
        break;

      case 2:
        $assert_session->pageTextContainsOnce('Email about new seeds');
        $assert_session->pageTextContainsOnce('We just got new seeds.');
        $assert_session->pageTextContainsOnce('Texas');
        break;
    }
  }

  /**
   * {@inheritdoc}
   */
  public function dataArgumentValues() {
    yield [[1]];
    yield [[2]];
  }

}

Главная | Обратная связь

drupal hosting | друпал хостинг | it patrol .inc