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}
*/
public 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 static function dataArgumentValues() {
yield [[1]];
yield [[2]];
}
}
