Skip to content

Commit

Permalink
Add in Country and StateProvince APIv4 Entities
Browse files Browse the repository at this point in the history
  • Loading branch information
seamuslee001 committed Dec 14, 2019
1 parent 2cbdf46 commit 09c7a73
Show file tree
Hide file tree
Showing 4 changed files with 80 additions and 5 deletions.
30 changes: 30 additions & 0 deletions Civi/Api4/Country.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
<?php

/*
+--------------------------------------------------------------------+
| Copyright CiviCRM LLC. All rights reserved. |
| |
| This work is published under the GNU AGPLv3 license with some |
| permitted exceptions and without any warranty. For full license |
| and copyright information, see https://civicrm.org/licensing |
+--------------------------------------------------------------------+
*/

/**
*
* @package CRM
* @copyright CiviCRM LLC https://civicrm.org/licensing
* $Id$
*
*/

namespace Civi\Api4;

/**
* Country entity.
*
* @package Civi\Api4
*/
class Country extends Generic\DAOEntity {

}
30 changes: 30 additions & 0 deletions Civi/Api4/StateProvince.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
<?php

/*
+--------------------------------------------------------------------+
| Copyright CiviCRM LLC. All rights reserved. |
| |
| This work is published under the GNU AGPLv3 license with some |
| permitted exceptions and without any warranty. For full license |
| and copyright information, see https://civicrm.org/licensing |
+--------------------------------------------------------------------+
*/

/**
*
* @package CRM
* @copyright CiviCRM LLC https://civicrm.org/licensing
* $Id$
*
*/

namespace Civi\Api4;

/**
* StateProvince entity.
*
* @package Civi\Api4
*/
class StateProvince extends Generic\DAOEntity {

}
13 changes: 10 additions & 3 deletions tests/phpunit/api/v3/CountryTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -17,11 +17,9 @@
* @group headless
*/
class api_v3_CountryTest extends CiviUnitTestCase {
protected $_apiversion;
protected $_params;

public function setUp() {
$this->_apiversion = 3;
parent::setUp();
$this->useTransaction(TRUE);
$this->_params = [
Expand All @@ -30,7 +28,9 @@ public function setUp() {
'region_id' => 1,
];
}

/**
* @dataProvider versionThreeAndFour
*/
public function testCreateCountry() {

$result = $this->callAPIAndDocument('country', 'create', $this->_params, __FUNCTION__, __FILE__);
Expand All @@ -40,6 +40,9 @@ public function testCreateCountry() {
$this->callAPISuccess('country', 'delete', ['id' => $result['id']]);
}

/**
* @dataProvider versionThreeAndFour
*/
public function testDeleteCountry() {
//create one
$create = $this->callAPISuccess('country', 'create', $this->_params);
Expand All @@ -54,20 +57,23 @@ public function testDeleteCountry() {

/**
* Test civicrm_phone_get with empty params.
* @dataProvider versionThreeAndFour
*/
public function testGetEmptyParams() {
$result = $this->callAPISuccess('Country', 'Get', []);
}

/**
* Test civicrm_phone_get with wrong params.
* @dataProvider versionThreeAndFour
*/
public function testGetWrongParams() {
$this->callAPIFailure('Country', 'Get', ['id' => 'abc']);
}

/**
* Test civicrm_phone_get - success expected.
* @dataProvider versionThreeAndFour
*/
public function testGet() {
$country = $this->callAPISuccess('Country', 'create', $this->_params);
Expand All @@ -84,6 +90,7 @@ public function testGet() {
/**
* If a new country is created and it is created again it should not create a second one.
* We check on the iso code (there should be only one iso code
* @dataProvider versionThreeAndFour
*/
public function testCreateDuplicateFail() {
$params = $this->_params;
Expand Down
12 changes: 10 additions & 2 deletions tests/phpunit/api/v3/StateProvinceTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -17,11 +17,9 @@
* @group headless
*/
class api_v3_StateProvinceTest extends CiviUnitTestCase {
protected $_apiversion;
protected $_params;

public function setUp() {
$this->_apiversion = 3;
parent::setUp();
$this->useTransaction(TRUE);
$this->_params = [
Expand All @@ -31,13 +29,19 @@ public function setUp() {
];
}

/**
* @dataProvider versionThreeAndFour
*/
public function testCreateStateProvince() {
$result = $this->callAPIAndDocument('StateProvince', 'create', $this->_params, __FUNCTION__, __FILE__);
$this->assertEquals(1, $result['count']);
$this->assertNotNull($result['values'][$result['id']]['id']);
$this->callAPISuccess('StateProvince', 'delete', ['id' => $result['id']]);
}

/**
* @dataProvider versionThreeAndFour
*/
public function testDeleteStateProvince() {
// Create
$create = $this->callAPISuccess('StateProvince', 'create', $this->_params);
Expand All @@ -53,20 +57,23 @@ public function testDeleteStateProvince() {

/**
* Test with empty params
* @dataProvider versionThreeAndFour
*/
public function testGetEmptyParams() {
$result = $this->callAPISuccess('StateProvince', 'Get', []);
}

/**
* Test with wrong params
* @dataProvider versionThreeAndFour
*/
public function testGetWrongParams() {
$this->callAPIFailure('StateProvince', 'Get', ['id' => 'abc']);
}

/**
* Test get
* @dataProvider versionThreeAndFour
*/
public function testGet() {
$province = $this->callAPISuccess('StateProvince', 'create', $this->_params);
Expand All @@ -80,6 +87,7 @@ public function testGet() {

/**
* There cannot be two state/provinces with the same name in the same country.
* @dataProvider versionThreeAndFour
*/
public function testCreateDuplicateFail() {
$params = $this->_params;
Expand Down

0 comments on commit 09c7a73

Please sign in to comment.