. */ /** * Include class definitions */ require_once 'CiviTest/CiviUnitTestCase.php'; /** * Test APIv3 civicrm_action_schedule functions * * @package CiviCRM_APIv3 * @subpackage API_ActionSchedule */ class api_v3_DashboardTest extends CiviUnitTestCase { protected $_params; protected $_params2; protected $_entity = 'dashboard'; protected $_apiversion = 3; /** * Test setup for every test. * * Connect to the database, truncate the tables that will be used * and redirect stdin to a temporary file */ public function setUp() { // Connect to the database parent::setUp(); $this->useTransaction(TRUE); } public function testDashboardCreate() { $oldCount = CRM_Core_DAO::singleValueQuery('select count(*) from civicrm_dashboard'); $params = array( 'label' => 'New Dashlet element', 'name' => 'New Dashlet element', 'url' => 'civicrm/report/list&reset=1&compid=99&snippet=5', 'fullscreen_url' => 'civicrm/report/list&compid=99&reset=1&snippet=5&context=dashletFullscreen', ); $dashboard = $this->callAPISuccess('dashboard', 'create', $params); $this->assertTrue(is_numeric($dashboard['id']), "In line " . __LINE__); $this->assertTrue($dashboard['id'] > 0, "In line " . __LINE__); $newCount = CRM_Core_DAO::singleValueQuery('select count(*) from civicrm_dashboard'); $this->assertEquals($oldCount + 1, $newCount); $this->DashboardDelete($dashboard['id'], $oldCount); $this->assertEquals($dashboard['values'][$dashboard['id']]['is_active'], 1); } /** * CRM-19217. * * Ensure that where is_active is specifically set to 0 is_active returns 0. */ public function testDashboardCreateNotActive() { $params = array( 'label' => 'New Dashlet element', 'name' => 'New Dashlet element', 'url' => 'civicrm/report/list&reset=1&compid=99&snippet=5', 'fullscreen_url' => 'civicrm/report/list&compid=99&reset=1&snippet=5&context=dashletFullscreen', 'is_active' => 0, ); $dashboard = $this->callAPISuccess('dashboard', 'create', $params); $this->assertEquals($dashboard['values'][$dashboard['id']]['is_active'], 0); } /** * @param int $id * @param $oldCount */ public function DashboardDelete($id, $oldCount) { $params = array( 'id' => $id, ); $dashboardget = $this->callAPISuccess('dashboard', 'get', $params); $this->assertEquals($id, $dashboardget['id']); $dashboard = $this->callAPISuccess('dashboard', 'delete', $params); $newCount = CRM_Core_DAO::singleValueQuery('select count(*) from civicrm_dashboard'); $this->assertEquals($oldCount, $newCount); } }