3 * File for the TestActionSchedule class
7 * CiviCRM is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU Affero General Public License
9 * as published by the Free Software Foundation; either version 3 of
10 * the License, or (at your option) any later version.
12 * CiviCRM is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU Affero General Public License for more details.
17 * You should have received a copy of the GNU Affero General Public
18 * License along with this program. If not, see
19 * <http://www.gnu.org/licenses/>.
23 * Include class definitions
25 require_once 'CiviTest/CiviUnitTestCase.php';
28 * Test APIv3 civicrm_action_schedule functions
30 * @package CiviCRM_APIv3
31 * @subpackage API_ActionSchedule
33 class api_v3_DashboardTest
extends CiviUnitTestCase
{
36 protected $_entity = 'dashboard';
37 protected $_apiversion = 3;
40 * Test setup for every test.
42 * Connect to the database, truncate the tables that will be used
43 * and redirect stdin to a temporary file
45 public function setUp() {
46 // Connect to the database
48 $this->useTransaction(TRUE);
51 public function testDashboardCreate() {
52 $oldCount = CRM_Core_DAO
::singleValueQuery('select count(*) from civicrm_dashboard');
54 'label' => 'New Dashlet element',
55 'name' => 'New Dashlet element',
56 'url' => 'civicrm/report/list&reset=1&compid=99&snippet=5',
57 'fullscreen_url' => 'civicrm/report/list&compid=99&reset=1&snippet=5&context=dashletFullscreen',
59 $dashboard = $this->callAPISuccess('dashboard', 'create', $params);
60 $this->assertTrue(is_numeric($dashboard['id']), "In line " . __LINE__
);
61 $this->assertTrue($dashboard['id'] > 0, "In line " . __LINE__
);
62 $newCount = CRM_Core_DAO
::singleValueQuery('select count(*) from civicrm_dashboard');
63 $this->assertEquals($oldCount +
1, $newCount);
64 $this->DashboardDelete($dashboard['id'], $oldCount);
65 $this->assertEquals($dashboard['values'][$dashboard['id']]['is_active'], 1);
71 * Ensure that where is_active is specifically set to 0 is_active returns 0.
73 public function testDashboardCreateNotActive() {
75 'label' => 'New Dashlet element',
76 'name' => 'New Dashlet element',
77 'url' => 'civicrm/report/list&reset=1&compid=99&snippet=5',
78 'fullscreen_url' => 'civicrm/report/list&compid=99&reset=1&snippet=5&context=dashletFullscreen',
81 $dashboard = $this->callAPISuccess('dashboard', 'create', $params);
82 $this->assertEquals($dashboard['values'][$dashboard['id']]['is_active'], 0);
89 public function DashboardDelete($id, $oldCount) {
93 $dashboardget = $this->callAPISuccess('dashboard', 'get', $params);
94 $this->assertEquals($id, $dashboardget['id']);
95 $dashboard = $this->callAPISuccess('dashboard', 'delete', $params);
96 $newCount = CRM_Core_DAO
::singleValueQuery('select count(*) from civicrm_dashboard');
97 $this->assertEquals($oldCount, $newCount);