commiting uncommited changes on live site
[weblabels.fsf.org.git] / crm.fsf.org / 20131203 / files / sites / all / modules-new / civicrm / tests / phpunit / api / v3 / ConstantTest.php
1 <?php
2 /**
3 * File for the TestConstant class
4 *
5 * (PHP 5)
6 *
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
14 *
15 * This file is part of CiviCRM
16 *
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.
21 *
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.
26 *
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/>.
30 */
31
32 /**
33 * Include class definitions
34 */
35 require_once 'CiviTest/CiviUnitTestCase.php';
36
37 /**
38 * Test APIv3 civicrm_activity_* functions
39 *
40 * @package CiviCRM_APIv3
41 * @subpackage API_Constant
42 */
43 class api_v3_ConstantTest extends CiviUnitTestCase {
44 protected $_apiversion = 3;
45
46 /**
47 * Test setup for every test.
48 *
49 * Connect to the database, truncate the tables that will be used
50 * and redirect stdin to a temporary file
51 */
52 public function setUp() {
53 // Connect to the database
54 parent::setUp();
55 $this->_apiversion = 3;
56 }
57
58 /**
59 * Test civicrm_constant_get( ) for unknown constant
60 */
61 public function testUnknownConstant() {
62 $result = $this->callAPIFailure('constant', 'get', array(
63 'name' => 'thisTypeDoesNotExist',
64 ));
65 }
66
67 /**
68 * Test civicrm_constant_get( 'activityStatus' )
69 */
70 public function testActivityStatus() {
71
72 $result = $this->callAPISuccess('constant', 'get', array(
73 'name' => 'activityStatus',
74 ));
75
76 $this->assertTrue($result['count'] > 5, "In line " . __LINE__);
77 $this->assertContains('Scheduled', $result['values'], "In line " . __LINE__);
78 $this->assertContains('Completed', $result['values'], "In line " . __LINE__);
79 $this->assertContains('Cancelled', $result['values'], "In line " . __LINE__);
80
81 }
82
83 /**
84 * Test civicrm_constant_get( 'activityType' )
85 */
86 public function testActivityType() {
87 $result = $this->callAPIAndDocument('constant', 'get', array(
88 'name' => 'activityType',
89 ), __FUNCTION__, __FILE__, NULL, NULL, 'get');
90 $this->assertTrue($result['count'] > 2, "In line " . __LINE__);
91 $this->assertContains('Meeting', $result['values'], "In line " . __LINE__);
92 }
93
94 /**
95 * Test civicrm_address_getoptions( 'location_type_id' )
96 */
97 public function testLocationTypeGet() {
98 // needed to get rid of cached values from previous tests
99 CRM_Core_PseudoConstant::flush();
100
101 $params = array(
102 'field' => 'location_type_id',
103 );
104 $result = $this->callAPIAndDocument('address', 'getoptions', $params, __FUNCTION__, __FILE__);
105 $this->assertTrue($result['count'] > 3, "In line " . __LINE__);
106 $this->assertContains('Home', $result['values'], "In line " . __LINE__);
107 $this->assertContains('Work', $result['values'], "In line " . __LINE__);
108 $this->assertContains('Main', $result['values'], "In line " . __LINE__);
109 $this->assertContains('Billing', $result['values'], "In line " . __LINE__);
110 }
111
112 /**
113 * Test civicrm_phone_getoptions( 'phone_type_id' )
114 */
115 public function testPhoneType() {
116 $params = array(
117 'field' => 'phone_type_id',
118 );
119 $result = $this->callAPIAndDocument('phone', 'getoptions', $params, __FUNCTION__, __FILE__);
120
121 $this->assertEquals(5, $result['count'], "In line " . __LINE__);
122 $this->assertContains('Phone', $result['values'], "In line " . __LINE__);
123 $this->assertContains('Mobile', $result['values'], "In line " . __LINE__);
124 $this->assertContains('Fax', $result['values'], "In line " . __LINE__);
125 $this->assertContains('Pager', $result['values'], "In line " . __LINE__);
126 $this->assertContains('Voicemail', $result['values'], "In line " . __LINE__);
127 }
128
129 /**
130 * Test civicrm_constant_get( 'mailProtocol' )
131 */
132 public function testmailProtocol() {
133 $params = array(
134 'field' => 'protocol',
135 );
136 $result = $this->callAPIAndDocument('mail_settings', 'getoptions', $params, __FUNCTION__, __FILE__);
137
138 $this->assertEquals(4, $result['count'], "In line " . __LINE__);
139 $this->assertContains('IMAP', $result['values'], "In line " . __LINE__);
140 $this->assertContains('Maildir', $result['values'], "In line " . __LINE__);
141 $this->assertContains('POP3', $result['values'], "In line " . __LINE__);
142 $this->assertContains('Localdir', $result['values'], "In line " . __LINE__);
143 }
144
145 }