From 6c814e6d9d30c46a619777a5d59623966199ae6b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luciana=20Nu=C3=B1ez?= Date: Wed, 10 Aug 2022 15:17:07 -0400 Subject: [PATCH] PMCORE-3898 --- .../engine/classes/WorkspaceToolsTest.php | 35 +++++++++++++++++++ workflow/engine/classes/WorkspaceTools.php | 23 ++++++++++++ workflow/engine/data/mysql/insert.sql | 2 +- 3 files changed, 59 insertions(+), 1 deletion(-) mode change 100644 => 100755 tests/unit/workflow/engine/classes/WorkspaceToolsTest.php diff --git a/tests/unit/workflow/engine/classes/WorkspaceToolsTest.php b/tests/unit/workflow/engine/classes/WorkspaceToolsTest.php old mode 100644 new mode 100755 index 0b1d9d75a..bfb39c22b --- a/tests/unit/workflow/engine/classes/WorkspaceToolsTest.php +++ b/tests/unit/workflow/engine/classes/WorkspaceToolsTest.php @@ -2,10 +2,45 @@ use ProcessMaker\Model\Application; use ProcessMaker\Model\Delegation; +use Tests\CreateTestSite; use Tests\TestCase; class WorkspaceToolsTest extends TestCase { + use CreateTestSite; + public $workspace; + + /** + * Call the setUp parent method + */ + public function setUp() + { + parent::setUp(); // TODO: Change the autogenerated stub + + config(["system.workspace" => "new_site"]); + $this->workspace = config("system.workspace"); + $this->createDBFile($this->workspace); + } + + /** + * Tests the updateIsoCountry method + * + * @covers \WorkspaceTools::updateIsoCountry + * @test + */ + public function it_should_test_upgrade_Iso_Country_method() + { + $workspaceTools = new WorkspaceTools($this->workspace); + $workspaceTools->updateIsoCountry(); + + $result = ob_get_contents(); + $this->assertRegExp("/-> Update table ISO_COUNTRY Done/", $result); + + $res = IsoCountry::findById('CI'); + // Assert the result is the expected + $this->assertEquals('Côte d\'Ivoire', $res['IC_NAME']); + } + /** * Tests the migrateCaseTitleToThreads method * diff --git a/workflow/engine/classes/WorkspaceTools.php b/workflow/engine/classes/WorkspaceTools.php index ac3cd2171..ac259795a 100644 --- a/workflow/engine/classes/WorkspaceTools.php +++ b/workflow/engine/classes/WorkspaceTools.php @@ -1125,6 +1125,7 @@ class WorkspaceTools $this->upgradeSchema($systemSchema, false, false, $includeIndexes); $this->upgradeSchema($systemSchemaRbac, false, true); // Perform upgrade to RBAC $this->upgradeData(); + $this->updateIsoCountry(); $this->checkRbacPermissions(); //check or add new permissions $this->checkSchedulerTable(); $this->checkSequenceNumber(); @@ -1444,6 +1445,28 @@ class WorkspaceTools } } } + + /** + * Upgrade some IC_NAME values in the table ISO_COUNTRY + */ + public function updateIsoCountry() + { + CLI::logging("-> Update table ISO_COUNTRY\n"); + + // Initializing + $con = Propel::getConnection(IsoCountryPeer::DATABASE_NAME); + + // Update table ISO_COUNTRY + $con->begin(); + $stmt = $con->createStatement(); + $stmt->executeQuery("" + . "UPDATE `ISO_COUNTRY` " + . "SET `IC_NAME` = 'Côte d\'Ivoire' " + . "WHERE `IC_UID` = 'CI'"); + $con->commit(); + + CLI::logging("-> Update table ISO_COUNTRY Done\n"); + } public function updateThisRegistry($data) { diff --git a/workflow/engine/data/mysql/insert.sql b/workflow/engine/data/mysql/insert.sql index 3b55e7a98..fb188b95c 100755 --- a/workflow/engine/data/mysql/insert.sql +++ b/workflow/engine/data/mysql/insert.sql @@ -253,7 +253,7 @@ INSERT INTO ISO_COUNTRY (IC_UID,IC_NAME,IC_SORT_ORDER) VALUES ('CF', 'Central African Republic',' ') , ('CG', 'Congo',' ') , ('CH', 'Switzerland',' ') , -('CI', 'Cote-d'' lvoire',' ') , +('CI', 'Côte d''Ivoire',' ') , ('CK', 'Cook Islands',' ') , ('CL', 'Chile',' ') , ('CM', 'Cameroon',' ') ,