-
-
Notifications
You must be signed in to change notification settings - Fork 827
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
CRM-16842 add EntityBatch API fixed.
---------------------------------------- * CRM-16842: https://issues.civicrm.org/jira/browse/CRM-16842
- Loading branch information
1 parent
8baa598
commit a646bdd
Showing
6 changed files
with
215 additions
and
11 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,35 @@ | ||
<?php | ||
/* | ||
+--------------------------------------------------------------------+ | ||
| CiviCRM version 4.6 | | ||
+--------------------------------------------------------------------+ | ||
| Copyright CiviCRM LLC (c) 2004-2015 | | ||
+--------------------------------------------------------------------+ | ||
| This file is a part of CiviCRM. | | ||
| | | ||
| CiviCRM is free software; you can copy, modify, and distribute it | | ||
| under the terms of the GNU Affero General Public License | | ||
| Version 3, 19 November 2007 and the CiviCRM Licensing Exception. | | ||
| | | ||
| CiviCRM is distributed in the hope that it will be useful, but | | ||
| WITHOUT ANY WARRANTY; without even the implied warranty of | | ||
| MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | | ||
| See the GNU Affero General Public License for more details. | | ||
| | | ||
| You should have received a copy of the GNU Affero General Public | | ||
| License and the CiviCRM Licensing Exception along | | ||
| with this program; if not, contact CiviCRM LLC | | ||
| at info[AT]civicrm[DOT]org. If you have questions about the | | ||
| GNU Affero General Public License or the licensing of CiviCRM, | | ||
| see the CiviCRM license FAQ at http://civicrm.org/licensing | | ||
+--------------------------------------------------------------------+ | ||
*/ | ||
|
||
/** | ||
* | ||
* @package CRM | ||
* @copyright CiviCRM LLC (c) 2004-2015 | ||
*/ | ||
class CRM_Batch_BAO_EntityBatch extends CRM_Batch_DAO_EntityBatch { | ||
|
||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,81 @@ | ||
<?php | ||
/* | ||
-------------------------------------------------------------------- | ||
| CiviCRM version 4.6 | | ||
-------------------------------------------------------------------- | ||
| Copyright CiviCRM LLC (c) 2004-2015 | | ||
-------------------------------------------------------------------- | ||
| This file is a part of CiviCRM. | | ||
| | | ||
| CiviCRM is free software; you can copy, modify, and distribute it | | ||
| under the terms of the GNU Affero General Public License | | ||
| Version 3, 19 November 2007 and the CiviCRM Licensing Exception. | | ||
| | | ||
| CiviCRM is distributed in the hope that it will be useful, but | | ||
| WITHOUT ANY WARRANTY; without even the implied warranty of | | ||
| MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | | ||
| See the GNU Affero General Public License for more details. | | ||
| | | ||
| You should have received a copy of the GNU Affero General Public | | ||
| License and the CiviCRM Licensing Exception along | | ||
| with this program; if not, contact CiviCRM LLC | | ||
| at info[AT]civicrm[DOT]org. If you have questions about the | | ||
| GNU Affero General Public License or the licensing of CiviCRM, | | ||
| see the CiviCRM license FAQ at http://civicrm.org/licensing | | ||
-------------------------------------------------------------------- | ||
*/ | ||
|
||
/** | ||
* This api exposes CiviCRM EntityBatch records. | ||
* | ||
* Use this api to add/remove entities from a batch. | ||
* To create/update/delete the batches themselves, use the Batch api. | ||
* | ||
* @package CiviCRM_APIv3 | ||
*/ | ||
|
||
/** | ||
* Get entity batches. | ||
* | ||
* @param array $params | ||
* | ||
* @return array | ||
*/ | ||
function civicrm_api3_entity_batch_get($params) { | ||
return _civicrm_api3_basic_get(_civicrm_api3_get_BAO(__FUNCTION__), $params); | ||
} | ||
|
||
/** | ||
* Adjust Metadata for Create action. | ||
* | ||
* The metadata is used for setting defaults, documentation & validation. | ||
* | ||
* @param array $params | ||
* Array of parameters determined by getfields. | ||
*/ | ||
function _civicrm_api3_entity_batch_create_spec(&$params) { | ||
$params['entity_id']['api.required'] = 1; | ||
$params['batch_id']['api.required'] = 1; | ||
} | ||
|
||
/** | ||
* Create an entity batch. | ||
* | ||
* @param array $params | ||
* | ||
* @return array | ||
*/ | ||
function civicrm_api3_entity_batch_create($params) { | ||
return _civicrm_api3_basic_create(_civicrm_api3_get_BAO(__FUNCTION__), $params); | ||
} | ||
|
||
/** | ||
* Mark entity batch as removed. | ||
* | ||
* @param array $params | ||
* | ||
* @return array | ||
*/ | ||
function civicrm_api3_entity_batch_delete($params) { | ||
return _civicrm_api3_basic_delete(_civicrm_api3_get_BAO(__FUNCTION__), $params); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,84 @@ | ||
<?php | ||
/* | ||
-------------------------------------------------------------------- | ||
| CiviCRM version 4.6 | | ||
-------------------------------------------------------------------- | ||
| Copyright CiviCRM LLC (c) 2004-2015 | | ||
-------------------------------------------------------------------- | ||
| This file is a part of CiviCRM. | | ||
| | | ||
| CiviCRM is free software; you can copy, modify, and distribute it | | ||
| under the terms of the GNU Affero General Public License | | ||
| Version 3, 19 November 2007 and the CiviCRM Licensing Exception. | | ||
| | | ||
| CiviCRM is distributed in the hope that it will be useful, but | | ||
| WITHOUT ANY WARRANTY; without even the implied warranty of | | ||
| MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | | ||
| See the GNU Affero General Public License for more details. | | ||
| | | ||
| You should have received a copy of the GNU Affero General Public | | ||
| License and the CiviCRM Licensing Exception along | | ||
| with this program; if not, contact CiviCRM LLC | | ||
| at info[AT]civicrm[DOT]org. If you have questions about the | | ||
| GNU Affero General Public License or the licensing of CiviCRM, | | ||
| see the CiviCRM license FAQ at http://civicrm.org/licensing | | ||
-------------------------------------------------------------------- | ||
*/ | ||
|
||
require_once 'CiviTest/CiviUnitTestCase.php'; | ||
|
||
|
||
/** | ||
* Test APIv3 civicrm_entity_batch_* functions | ||
* | ||
* @package CiviCRM_APIv3 | ||
*/ | ||
class api_v3_EntityBatchTest extends CiviUnitTestCase { | ||
|
||
protected $_apiversion = 3; | ||
protected $params; | ||
protected $id; | ||
protected $_entity; | ||
|
||
public $DBResetRequired = FALSE; | ||
|
||
public function setUp() { | ||
parent::setUp(); | ||
$this->useTransaction(TRUE); | ||
|
||
$entityParams = array('contact_id' => 1); | ||
|
||
$this->_entity = 'EntityBatch'; | ||
$this->_entityID = $this->contributionCreate($entityParams); | ||
$this->_batchID = $this->batchCreate(); | ||
$this->params = array( | ||
'entity_id' => $this->_entityID, | ||
'batch_id' => $this->_batchID, | ||
'entity_table' => 'civicrm_financial_trxn', | ||
); | ||
} | ||
|
||
public function testCreateEntityBatch() { | ||
$result = $this->callAPIAndDocument($this->_entity, 'create', $this->params, __FUNCTION__, __FILE__); | ||
$this->assertEquals(1, $result['count']); | ||
$this->getAndCheck($this->params, $result['id'], $this->_entity); | ||
$this->assertNotNull($result['values'][$result['id']]['id']); | ||
} | ||
|
||
public function testGetEntityBatch() { | ||
$result = $this->callAPISuccess($this->_entity, 'create', $this->params); | ||
$result = $this->callAPIAndDocument($this->_entity, 'get', $this->params, __FUNCTION__, __FILE__); | ||
$this->assertEquals(1, $result['count']); | ||
$this->assertNotNull($result['values'][$result['id']]['id']); | ||
$this->callAPISuccess($this->_entity, 'delete', array('id' => $result['id'])); | ||
} | ||
|
||
public function testDeleteEntityBatch() { | ||
$result = $this->callAPISuccess($this->_entity, 'create', $this->params); | ||
$deleteParams = array('id' => $result['id']); | ||
$result = $this->callAPIAndDocument($this->_entity, 'delete', $deleteParams, __FUNCTION__, __FILE__); | ||
$checkDeleted = $this->callAPISuccess($this->_entity, 'get', array()); | ||
$this->assertEquals(0, $checkDeleted['count']); | ||
} | ||
|
||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
2 comments
on commit a646bdd
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ah right - when you run them locally it does.
The title comes from the class CRM_Batch_DAO_EntityBatch
This file is a generated file. To regenerate it try moving into the xml directory & then doing
php Gencode.php
After that your titles should show in the above file.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think I'll submit the PR and let Jenkins test this for me. Should probably pass!
@eileenmcnaughton It seems that even after adding the titles for all the fields in EntityBatch.xml the SyntaxConformanceTest still gives an error.
"1) api_v3_SyntaxConformanceTest::testGetfieldsHasTitle with data set #31 ('EntityBatch')
no title for EntityBatch - id on action create
Failed asserting that an array has the key 'title'.
2) api_v3_SyntaxConformanceTest::testGetfieldsHasTitle with data set #72 ('Navigation')
no title for Navigation - id on action create
Failed asserting that an array has the key 'title'."