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

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

declare(strict_types=1);

namespace Drupal\Tests\civicrm_entity\FunctionalJavascript\Views;

use Drupal\Tests\civicrm_entity\FunctionalJavascript\CivicrmEntityViewsTestBase;

/**
 * Tests for CiviCRM Event Views.
 */
final class CivicrmEventViewsTest extends CivicrmEntityViewsTestBase {

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

  /**
   * {@inheritdoc}
   */
  protected static $civicrmEntityPermissions = [
    'view event info',
  ];

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

  /**
   * {@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('Event', [
      'title' => 'Annual CiviCRM meet',
      'summary' => 'If you have any CiviCRM related issues or want to track where CiviCRM is heading, Sign up now',
      'description' => 'This event is intended to give brief idea about progress of CiviCRM and giving solutions to common user issues',
      'event_type_id' => 1,
      'is_public' => 1,
      'start_date' => 20081021,
      'end_date' => 20081023,
      'is_online_registration' => 1,
      'registration_start_date' => 20080601,
      'registration_end_date' => '2008-10-15',
      'max_participants' => 100,
      'event_full_text' => 'Sorry! We are already full',
      'is_monetary' => 0,
      'is_active' => 1,
      'is_show_location' => 0,
      'created_id' => $contact_id,
    ]);
    $civicrm_api->save('Event', [
      'title' => 'Annual Drupal meet',
      'summary' => 'If you have any Drupal related issues or want to track where Drupal is heading, Sign up now',
      'description' => 'This event is intended to give brief idea about progress of Drupal and giving solutions to common user issues',
      'event_type_id' => 2,
      'is_public' => 1,
      'start_date' => 20091021,
      'end_date' => 20091023,
      'is_online_registration' => 1,
      'registration_start_date' => 20090601,
      'registration_end_date' => '2009-10-15',
      'max_participants' => 100,
      'event_full_text' => 'Sorry! We are already full',
      'is_monetary' => 0,
      'is_active' => 1,
      'is_show_location' => 0,
      'created_id' => $contact_id,
    ]);
  }

  /**
   * {@inheritdoc}
   */
  protected function doSetupCreateView() {
    $this->addFieldToDisplay('name[civicrm_event.description__value]');
    $this->addFieldToDisplay('name[civicrm_event.summary]');
    $this->addFieldToDisplay('name[civicrm_event.end_date]');
    $this->addFieldToDisplay('name[civicrm_event.start_date]');
  }

  /**
   * {@inheritdoc}
   */
  protected function assertCreateViewResults() {
    $assert_session = $this->assertSession();
    $assert_session->pageTextContainsOnce('Annual CiviCRM meet');
    $assert_session->pageTextContainsOnce('This event is intended to give brief idea about progress of CiviCRM and giving solutions to common user issues');
    $assert_session->pageTextContainsOnce('If you have any CiviCRM related issues or want to track where CiviCRM is heading, Sign up now');
    $assert_session->pageTextContainsOnce('Thu, 10/23/2008 - 00:00');
    $assert_session->pageTextContainsOnce('Tue, 10/21/2008 - 00:00');
  }

  /**
   * {@inheritdoc}
   */
  protected function doSetupViewWithRelationships() {
    $this->addRelationshipToDisplay('name[civicrm_event.created_id]');
    $this->addRelationshipToDisplay('name[civicrm_contact.user]');
    $this->addFieldToDisplay('name[civicrm_contact.display_name]');
  }

  /**
   * {@inheritdoc}
   */
  protected function assertViewWithRelationshipsResults() {
    $assert_session = $this->assertSession();
    $assert_session->pageTextContains('Annual CiviCRM meet');
    $assert_session->pageTextContains('Johnny Appleseed');
  }

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

    $this->addFieldToDisplay('name[civicrm_event.description__value]');
    $this->addFieldToDisplay('name[civicrm_event.summary]');
    $this->addFieldToDisplay('name[civicrm_event.end_date]');
    $this->addFieldToDisplay('name[civicrm_event.start_date]');
  }

  /**
   * {@inheritdoc}
   */
  protected function assertViewWithFiltersResults() {
    $assert_session = $this->assertSession();
    $assert_session->pageTextContainsOnce('Annual CiviCRM meet');
    $assert_session->pageTextContainsOnce('This event is intended to give brief idea about progress of CiviCRM and giving solutions to common user issues');
    $assert_session->pageTextContainsOnce('If you have any CiviCRM related issues or want to track where CiviCRM is heading, Sign up now');
    $assert_session->pageTextContainsOnce('Thu, 10/23/2008 - 00:00');
    $assert_session->pageTextContainsOnce('Tue, 10/21/2008 - 00:00');
  }

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

    $this->addFieldToDisplay('name[civicrm_event.description__value]');
    $this->addFieldToDisplay('name[civicrm_event.summary]');
    $this->addFieldToDisplay('name[civicrm_event.end_date]');
    $this->addFieldToDisplay('name[civicrm_event.start_date]');
  }

  /**
   * {@inheritdoc}
   */
  protected function assertViewWithSortsResults() {
    $assert_session = $this->assertSession();
    $assert_session->elementTextContains('css', '.views-row:first-child', 'Annual Drupal meet');
    $assert_session->elementTextContains('css', '.views-row:first-child', 'This event is intended to give brief idea about progress of Drupal and giving solutions to common user issues');
    $assert_session->elementTextContains('css', '.views-row:first-child', 'If you have any Drupal related issues or want to track where Drupal is heading, Sign up now');
    $assert_session->elementTextContains('css', '.views-row:first-child', 'Fri, 10/23/2009 - 00:00');
    $assert_session->elementTextContains('css', '.views-row:first-child', 'Wed, 10/21/2009 - 00:00');
  }

  /**
   * {@inheritdoc}
   */
  protected function doSetupViewWithArguments() {
    $this->addArgumentToDisplay('name[civicrm_event.id]');
    $this->addFieldToDisplay('name[civicrm_event.description__value]');
    $this->addFieldToDisplay('name[civicrm_event.summary]');
    $this->addFieldToDisplay('name[civicrm_event.end_date]');
    $this->addFieldToDisplay('name[civicrm_event.start_date]');
  }

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

    switch ($arguments[0]) {
      case 1:
        $assert_session->pageTextContainsOnce('Annual CiviCRM meet');
        $assert_session->pageTextContainsOnce('This event is intended to give brief idea about progress of CiviCRM and giving solutions to common user issues');
        $assert_session->pageTextContainsOnce('If you have any CiviCRM related issues or want to track where CiviCRM is heading, Sign up now');
        $assert_session->pageTextContainsOnce('Thu, 10/23/2008 - 00:00');
        $assert_session->pageTextContainsOnce('Tue, 10/21/2008 - 00:00');
        break;

      case 2:
        $assert_session->pageTextContainsOnce('Annual Drupal meet');
        $assert_session->pageTextContainsOnce('This event is intended to give brief idea about progress of Drupal and giving solutions to common user issues');
        $assert_session->pageTextContainsOnce('If you have any Drupal related issues or want to track where Drupal is heading, Sign up now');
        $assert_session->pageTextContainsOnce('Fri, 10/23/2009 - 00:00');
        $assert_session->pageTextContainsOnce('Wed, 10/21/2009 - 00:00');
        break;
    }
  }

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

}

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

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