3 * File for the TestConstant class
7 * @author Walt Haas <walt@dharmatech.org> (801) 534-1262
8 * @copyright Copyright CiviCRM LLC (C) 2009
9 * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html
10 * GNU Affero General Public License version 3
11 * @version $Id: ConstantTest.php 31254 2010-12-15 10:09:29Z eileen $
12 * @package CiviCRM_APIv3
13 * @subpackage API_Constant
15 * This file is part of CiviCRM
17 * CiviCRM is free software; you can redistribute it and/or
18 * modify it under the terms of the GNU Affero General Public License
19 * as published by the Free Software Foundation; either version 3 of
20 * the License, or (at your option) any later version.
22 * CiviCRM is distributed in the hope that it will be useful,
23 * but WITHOUT ANY WARRANTY; without even the implied warranty of
24 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
25 * GNU Affero General Public License for more details.
27 * You should have received a copy of the GNU Affero General Public
28 * License along with this program. If not, see
29 * <http://www.gnu.org/licenses/>.
33 * Test APIv3 civicrm_activity_* functions
35 * @package CiviCRM_APIv3
36 * @subpackage API_Constant
39 class api_v3_ConstantTest
extends CiviUnitTestCase
{
40 protected $_apiversion = 3;
43 * Test setup for every test.
45 * Connect to the database, truncate the tables that will be used
46 * and redirect stdin to a temporary file
48 public function setUp() {
49 // Connect to the database
51 $this->_apiversion
= 3;
55 * Test civicrm_constant_get( ) for unknown constant
57 public function testUnknownConstant() {
58 $result = $this->callAPIFailure('constant', 'get', array(
59 'name' => 'thisTypeDoesNotExist',
64 * Test civicrm_constant_get( 'activityStatus' )
66 public function testActivityStatus() {
68 $result = $this->callAPISuccess('constant', 'get', array(
69 'name' => 'activityStatus',
72 $this->assertTrue($result['count'] > 5, "In line " . __LINE__
);
73 $this->assertContains('Scheduled', $result['values'], "In line " . __LINE__
);
74 $this->assertContains('Completed', $result['values'], "In line " . __LINE__
);
75 $this->assertContains('Cancelled', $result['values'], "In line " . __LINE__
);
80 * Test civicrm_constant_get( 'activityType' )
82 public function testActivityType() {
83 $result = $this->callAPIAndDocument('constant', 'get', array(
84 'name' => 'activityType',
85 ), __FUNCTION__
, __FILE__
, NULL, NULL, 'get');
86 $this->assertTrue($result['count'] > 2, "In line " . __LINE__
);
87 $this->assertContains('Meeting', $result['values'], "In line " . __LINE__
);
91 * Test civicrm_address_getoptions( 'location_type_id' )
93 public function testLocationTypeGet() {
94 // needed to get rid of cached values from previous tests
95 CRM_Core_PseudoConstant
::flush();
98 'field' => 'location_type_id',
100 $result = $this->callAPIAndDocument('address', 'getoptions', $params, __FUNCTION__
, __FILE__
);
101 $this->assertTrue($result['count'] > 3, "In line " . __LINE__
);
102 $this->assertContains('Home', $result['values'], "In line " . __LINE__
);
103 $this->assertContains('Work', $result['values'], "In line " . __LINE__
);
104 $this->assertContains('Main', $result['values'], "In line " . __LINE__
);
105 $this->assertContains('Billing', $result['values'], "In line " . __LINE__
);
109 * Test civicrm_phone_getoptions( 'phone_type_id' )
111 public function testPhoneType() {
113 'field' => 'phone_type_id',
115 $result = $this->callAPIAndDocument('phone', 'getoptions', $params, __FUNCTION__
, __FILE__
);
117 $this->assertEquals(5, $result['count'], "In line " . __LINE__
);
118 $this->assertContains('Phone', $result['values'], "In line " . __LINE__
);
119 $this->assertContains('Mobile', $result['values'], "In line " . __LINE__
);
120 $this->assertContains('Fax', $result['values'], "In line " . __LINE__
);
121 $this->assertContains('Pager', $result['values'], "In line " . __LINE__
);
122 $this->assertContains('Voicemail', $result['values'], "In line " . __LINE__
);
126 * Test civicrm_constant_get( 'mailProtocol' )
128 public function testmailProtocol() {
130 'field' => 'protocol',
132 $result = $this->callAPIAndDocument('mail_settings', 'getoptions', $params, __FUNCTION__
, __FILE__
);
134 $this->assertEquals(4, $result['count'], "In line " . __LINE__
);
135 $this->assertContains('IMAP', $result['values'], "In line " . __LINE__
);
136 $this->assertContains('Maildir', $result['values'], "In line " . __LINE__
);
137 $this->assertContains('POP3', $result['values'], "In line " . __LINE__
);
138 $this->assertContains('Localdir', $result['values'], "In line " . __LINE__
);