From 7ccccc32f7941f472b7edfe43865cfffba57483b Mon Sep 17 00:00:00 2001 From: "deb.monish" Date: Fri, 2 Mar 2018 19:22:26 +0530 Subject: [PATCH] CRM-21806: Added Unit test --- tests/phpunit/CRM/Contact/SelectorTest.php | 30 ++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/tests/phpunit/CRM/Contact/SelectorTest.php b/tests/phpunit/CRM/Contact/SelectorTest.php index b989ad95aa..6fde1da81c 100644 --- a/tests/phpunit/CRM/Contact/SelectorTest.php +++ b/tests/phpunit/CRM/Contact/SelectorTest.php @@ -70,6 +70,13 @@ class CRM_Contact_Form_SelectorTest extends CiviUnitTestCase { foreach ($dataSet['expected_query'] as $index => $queryString) { $this->assertEquals($this->strWrangle($queryString), $this->strWrangle($sql[$index])); } + // Ensure that search builder return individual contact as per criteria + if (!empty($dataSet['context'] == 'builder')) { + $contactID = $this->individualCreate(); + $rows = $selector->getRows(CRM_Core_Action::VIEW, 0, 50, ''); + $this->assertEquals(1, count($rows)); + $this->assertEquals($contactID, key($rows)); + } } /** @@ -154,6 +161,29 @@ class CRM_Contact_Form_SelectorTest extends CiviUnitTestCase { ), ), ), + array( + array( + 'description' => 'Normal search builder behaviour', + 'class' => 'CRM_Contact_Selector', + 'settings' => array(), + 'form_values' => array('contact_type' => 'Individual'), + 'params' => array(), + 'return_properties' => array( + 'contact_type' => 1, + 'contact_sub_type' => 1, + 'sort_name' => 1, + ), + 'context' => 'builder', + 'action' => CRM_Core_Action::NONE, + 'includeContactIds' => NULL, + 'searchDescendentGroups' => FALSE, + 'expected_query' => array( + 0 => 'SELECT contact_a.id as contact_id, contact_a.contact_type as `contact_type`, contact_a.contact_sub_type as `contact_sub_type`, contact_a.sort_name as `sort_name`', + 1 => ' FROM civicrm_contact contact_a', + 2 => 'WHERE ( contact_a.contact_type IN ("Individual") ) AND (contact_a.is_deleted = 0)', + ), + ), + ), ); } -- 2.25.1