_apiversion = 3; parent::setUp(); } function tearDown() {} public function testReportTemplate() { $result = civicrm_api('ReportTemplate', 'create', array( 'version' => $this->_apiversion, 'label' => 'Example Form', 'description' => 'Longish description of the example form', 'class_name' => 'CRM_Report_Form_Examplez', 'report_url' => 'example/path', 'component' => 'CiviCase', )); $this->assertAPISuccess($result); $this->assertEquals(1, $result['count'], 'In line ' . __LINE__); $entityId = $result['id']; $this->assertTrue(is_numeric($entityId), 'In line ' . __LINE__); $this->assertEquals(7, $result['values'][$entityId]['component_id'], 'In line ' . __LINE__); $this->assertDBQuery(1, 'SELECT count(*) FROM civicrm_option_value WHERE name = "CRM_Report_Form_Examplez" AND option_group_id = 41 '); $this->assertDBQuery(1, 'SELECT is_active FROM civicrm_option_value WHERE name = "CRM_Report_Form_Examplez"'); // change component to null $result = civicrm_api('ReportTemplate', 'create', array( 'version' => $this->_apiversion, 'id' => $entityId, 'component' => '', )); $this->assertAPISuccess($result); $this->assertEquals(1, $result['count'], 'In line ' . __LINE__); $this->assertDBQuery(1, 'SELECT count(*) FROM civicrm_option_value WHERE name = "CRM_Report_Form_Examplez" AND option_group_id = 41'); $this->assertDBQuery(1, 'SELECT count(*) FROM civicrm_option_value WHERE name = "CRM_Report_Form_Examplez" AND component_id IS NULL'); // deactivate $result = civicrm_api('ReportTemplate', 'create', array( 'version' => $this->_apiversion, 'id' => $entityId, 'is_active' => 0, )); $this->assertAPISuccess($result); $this->assertEquals(1, $result['count'], 'In line ' . __LINE__); $this->assertDBQuery(1, 'SELECT count(*) FROM civicrm_option_value WHERE name = "CRM_Report_Form_Examplez" AND option_group_id = 41'); $this->assertDBQuery(0, 'SELECT is_active FROM civicrm_option_value WHERE name = "CRM_Report_Form_Examplez"'); // activate $result = civicrm_api('ReportTemplate', 'create', array( 'version' => $this->_apiversion, 'id' => $entityId, 'is_active' => 1, )); $this->assertAPISuccess($result); $this->assertEquals(1, $result['count'], 'In line ' . __LINE__); $this->assertDBQuery(1, 'SELECT count(*) FROM civicrm_option_value WHERE name = "CRM_Report_Form_Examplez" AND option_group_id = 41'); $this->assertDBQuery(1, 'SELECT is_active FROM civicrm_option_value WHERE name = "CRM_Report_Form_Examplez"'); $result = civicrm_api('ReportTemplate', 'delete', array( 'version' => $this->_apiversion, 'id' => $entityId, )); $this->assertAPISuccess($result); $this->assertEquals(1, $result['count'], 'In line ' . __LINE__); $this->assertDBQuery(0, 'SELECT count(*) FROM civicrm_option_value WHERE name = "CRM_Report_Form_Examplez" '); } }