Merge pull request #7640 from eileenmcnaughton/lybunt
[civicrm-core.git] / tests / phpunit / api / v3 / BatchTest.php
1 <?php
2 /*
3 +--------------------------------------------------------------------+
4 | CiviCRM version 4.7 |
5 +--------------------------------------------------------------------+
6 | Copyright CiviCRM LLC (c) 2004-2015 |
7 +--------------------------------------------------------------------+
8 | This file is a part of CiviCRM. |
9 | |
10 | CiviCRM is free software; you can copy, modify, and distribute it |
11 | under the terms of the GNU Affero General Public License |
12 | Version 3, 19 November 2007 and the CiviCRM Licensing Exception. |
13 | |
14 | CiviCRM is distributed in the hope that it will be useful, but |
15 | WITHOUT ANY WARRANTY; without even the implied warranty of |
16 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
17 | See the GNU Affero General Public License for more details. |
18 | |
19 | You should have received a copy of the GNU Affero General Public |
20 | License and the CiviCRM Licensing Exception along |
21 | with this program; if not, contact CiviCRM LLC |
22 | at info[AT]civicrm[DOT]org. If you have questions about the |
23 | GNU Affero General Public License or the licensing of CiviCRM, |
24 | see the CiviCRM license FAQ at http://civicrm.org/licensing |
25 +--------------------------------------------------------------------+
26 */
27
28 require_once 'CiviTest/CiviUnitTestCase.php';
29
30 /**
31 * Test class for Batch API - civicrm_batch_*
32 *
33 * @package CiviCRM_APIv3
34 */
35 class api_v3_BatchTest extends CiviUnitTestCase {
36
37 protected $_params = array();
38 protected $_entity = 'batch';
39
40 /**
41 * Sets up the fixture, for example, opens a network connection.
42 *
43 * This method is called before a test is executed.
44 */
45 protected function setUp() {
46 parent::setUp();
47 $this->useTransaction(TRUE);
48 }
49
50 /**
51 * Test civicrm_batch_get - success expected.
52 */
53 public function testGet() {
54 $params = array(
55 'id' => $this->batchCreate(),
56 );
57 $result = $this->callAPIAndDocument('batch', 'get', $params, __FUNCTION__, __FILE__);
58 $this->assertEquals($params['id'], $result['id']);
59 }
60
61 /**
62 * Test civicrm_batch_create - success expected.
63 */
64 public function testCreate() {
65 $params = array(
66 'name' => 'New_Batch_03',
67 'title' => 'New Batch 03',
68 'description' => 'This is description for New Batch 03',
69 'total' => '300.33',
70 'item_count' => 3,
71 'status_id' => 1,
72 );
73
74 $result = $this->callAPIAndDocument('batch', 'create', $params, __FUNCTION__, __FILE__);
75 $this->assertNotNull($result['id']);
76 $this->getAndCheck($params, $result['id'], $this->_entity);
77 }
78
79 /**
80 * Test civicrm_batch_create with id.
81 */
82 public function testUpdate() {
83 $params = array(
84 'name' => 'New_Batch_04',
85 'title' => 'New Batch 04',
86 'description' => 'This is description for New Batch 04',
87 'total' => '400.44',
88 'item_count' => 4,
89 'id' => $this->batchCreate(),
90 );
91
92 $result = $this->callAPIAndDocument('batch', 'create', $params, __FUNCTION__, __FILE__);
93 $this->assertNotNull($result['id']);
94 $this->getAndCheck($params, $result['id'], $this->_entity);
95 }
96
97 /**
98 * Test civicrm_batch_delete using the old $params['batch_id'] syntax.
99 */
100 public function testBatchDeleteOldSyntax() {
101 $batchID = $this->batchCreate();
102 $params = array(
103 'batch_id' => $batchID,
104 );
105 $result = $this->callAPISuccess('batch', 'delete', $params);
106 }
107
108 /**
109 * Test civicrm_batch_delete using the new $params['id'] syntax.
110 */
111 public function testBatchDeleteCorrectSyntax() {
112 $batchID = $this->batchCreate();
113 $params = array(
114 'id' => $batchID,
115 );
116 $result = $this->callAPIAndDocument('batch', 'delete', $params, __FUNCTION__, __FILE__);
117 }
118
119 }