Add in Country and StateProvince APIv4 Entities
authorSeamus Lee <seamuslee001@gmail.com>
Sat, 14 Dec 2019 22:03:56 +0000 (09:03 +1100)
committerSeamus Lee <seamuslee001@gmail.com>
Sat, 14 Dec 2019 22:07:02 +0000 (09:07 +1100)
Civi/Api4/Country.php [new file with mode: 0644]
Civi/Api4/StateProvince.php [new file with mode: 0644]
tests/phpunit/api/v3/CountryTest.php
tests/phpunit/api/v3/StateProvinceTest.php

diff --git a/Civi/Api4/Country.php b/Civi/Api4/Country.php
new file mode 100644 (file)
index 0000000..619cc6c
--- /dev/null
@@ -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 {
+
+}
diff --git a/Civi/Api4/StateProvince.php b/Civi/Api4/StateProvince.php
new file mode 100644 (file)
index 0000000..b63c3ea
--- /dev/null
@@ -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 {
+
+}
index 1e7b06833db19d8652627a2797d8c7e81314c1c9..c0d82cfed14b1022f46616d111decce0382eff68 100644 (file)
  * @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 = [
@@ -31,6 +29,9 @@ class api_v3_CountryTest extends CiviUnitTestCase {
     ];
   }
 
+  /**
+   * @dataProvider versionThreeAndFour
+   */
   public function testCreateCountry() {
 
     $result = $this->callAPIAndDocument('country', 'create', $this->_params, __FUNCTION__, __FILE__);
@@ -40,6 +41,9 @@ class api_v3_CountryTest extends CiviUnitTestCase {
     $this->callAPISuccess('country', 'delete', ['id' => $result['id']]);
   }
 
+  /**
+   * @dataProvider versionThreeAndFour
+   */
   public function testDeleteCountry() {
     //create one
     $create = $this->callAPISuccess('country', 'create', $this->_params);
@@ -54,6 +58,7 @@ class api_v3_CountryTest extends CiviUnitTestCase {
 
   /**
    * Test civicrm_phone_get with empty params.
+   * @dataProvider versionThreeAndFour
    */
   public function testGetEmptyParams() {
     $result = $this->callAPISuccess('Country', 'Get', []);
@@ -61,6 +66,7 @@ class api_v3_CountryTest extends CiviUnitTestCase {
 
   /**
    * Test civicrm_phone_get with wrong params.
+   * @dataProvider versionThreeAndFour
    */
   public function testGetWrongParams() {
     $this->callAPIFailure('Country', 'Get', ['id' => 'abc']);
@@ -68,6 +74,7 @@ class api_v3_CountryTest extends CiviUnitTestCase {
 
   /**
    * Test civicrm_phone_get - success expected.
+   * @dataProvider versionThreeAndFour
    */
   public function testGet() {
     $country = $this->callAPISuccess('Country', 'create', $this->_params);
@@ -84,6 +91,7 @@ class api_v3_CountryTest extends CiviUnitTestCase {
   /**
    * 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;
index 8afa132a3e1490c6569ed6bf28ac57e58ae35f6f..7085bf5efb2215695a83ada444ecdab05446ba00 100644 (file)
  * @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 = [
@@ -31,6 +29,9 @@ class api_v3_StateProvinceTest extends CiviUnitTestCase {
     ];
   }
 
+  /**
+   * @dataProvider versionThreeAndFour
+   */
   public function testCreateStateProvince() {
     $result = $this->callAPIAndDocument('StateProvince', 'create', $this->_params, __FUNCTION__, __FILE__);
     $this->assertEquals(1, $result['count']);
@@ -38,6 +39,9 @@ class api_v3_StateProvinceTest extends CiviUnitTestCase {
     $this->callAPISuccess('StateProvince', 'delete', ['id' => $result['id']]);
   }
 
+  /**
+   * @dataProvider versionThreeAndFour
+   */
   public function testDeleteStateProvince() {
     // Create
     $create = $this->callAPISuccess('StateProvince', 'create', $this->_params);
@@ -53,6 +57,7 @@ class api_v3_StateProvinceTest extends CiviUnitTestCase {
 
   /**
    * Test with empty params
+   * @dataProvider versionThreeAndFour
    */
   public function testGetEmptyParams() {
     $result = $this->callAPISuccess('StateProvince', 'Get', []);
@@ -60,6 +65,7 @@ class api_v3_StateProvinceTest extends CiviUnitTestCase {
 
   /**
    * Test with wrong params
+   * @dataProvider versionThreeAndFour
    */
   public function testGetWrongParams() {
     $this->callAPIFailure('StateProvince', 'Get', ['id' => 'abc']);
@@ -67,6 +73,7 @@ class api_v3_StateProvinceTest extends CiviUnitTestCase {
 
   /**
    * Test get
+   * @dataProvider versionThreeAndFour
    */
   public function testGet() {
     $province = $this->callAPISuccess('StateProvince', 'create', $this->_params);
@@ -80,6 +87,7 @@ class api_v3_StateProvinceTest extends CiviUnitTestCase {
 
   /**
    * There cannot be two state/provinces with the same name in the same country.
+   * @dataProvider versionThreeAndFour
    */
   public function testCreateDuplicateFail() {
     $params = $this->_params;