Files
luos/tests/unit/workflow/engine/classes/WorkspaceToolsTest.php

155 lines
5.2 KiB
PHP
Raw Normal View History

2020-12-02 17:15:01 -04:00
<?php
use ProcessMaker\Model\Application;
use ProcessMaker\Model\Delegation;
2022-08-10 15:17:07 -04:00
use Tests\CreateTestSite;
2020-12-02 17:15:01 -04:00
use Tests\TestCase;
class WorkspaceToolsTest extends TestCase
{
2022-08-10 15:17:07 -04:00
use CreateTestSite;
public $workspace;
/**
* Set up method.
* @return void
2022-08-10 15:17:07 -04:00
*/
public function setUp(): void
2022-08-10 15:17:07 -04:00
{
parent::setUp();
$this->truncateNonInitialModels();
2022-08-10 15:17:07 -04:00
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();
2022-08-10 15:17:07 -04:00
$result = ob_get_contents();
$this->assertMatchesRegularExpression("/-> Update table ISO_COUNTRY Done/", $result);
2022-08-10 15:17:07 -04:00
$res = IsoCountry::findById('CI');
// Assert the result is the expected
$this->assertEquals('Côte d\'Ivoire', $res['IC_NAME']);
}
2020-12-02 17:15:01 -04:00
/**
* Tests the migrateCaseTitleToThreads method
*
* @covers \WorkspaceTools::migrateCaseTitleToThreads
* @test
*/
public function it_should_test_migrate_case_title_to_threads_method()
{
$application1 = Application::factory()->create([
2020-12-02 17:15:01 -04:00
'APP_STATUS' => 'TO_DO',
'APP_STATUS_ID' => 2,
]);
$application2 = Application::factory()->create([
2020-12-02 17:15:01 -04:00
'APP_STATUS' => 'COMPLETED',
'APP_STATUS_ID' => 3,
]);
$application3 = Application::factory()->create([
2020-12-02 17:15:01 -04:00
'APP_STATUS' => 'CANCELED',
'APP_STATUS_ID' => 4,
]);
Delegation::factory()->create([
2020-12-02 17:15:01 -04:00
'APP_UID' => $application1->APP_UID,
'APP_NUMBER' => $application1->APP_NUMBER,
'DEL_TITLE' => $application1->APP_TITLE,
2020-12-02 17:15:01 -04:00
'DEL_INDEX' => 1
]);
Delegation::factory()->create([
2020-12-02 17:15:01 -04:00
'APP_UID' => $application1->APP_UID,
'APP_NUMBER' => $application1->APP_NUMBER,
'DEL_TITLE' => $application1->APP_TITLE,
2020-12-02 17:15:01 -04:00
'DEL_INDEX' => 2
]);
$delegation1 = Delegation::factory()->create([
2020-12-02 17:15:01 -04:00
'APP_UID' => $application1->APP_UID,
'APP_NUMBER' => $application1->APP_NUMBER,
'DEL_TITLE' => $application1->APP_TITLE,
2020-12-02 17:15:01 -04:00
'DEL_INDEX' => 3,
]);
Delegation::factory()->create([
2020-12-02 17:15:01 -04:00
'APP_UID' => $application2->APP_UID,
'APP_NUMBER' => $application2->APP_NUMBER,
'DEL_TITLE' => $application2->APP_TITLE,
2020-12-02 17:15:01 -04:00
'DEL_INDEX' => 1
]);
$delegation2 = Delegation::factory()->create([
2020-12-02 17:15:01 -04:00
'APP_UID' => $application2->APP_UID,
'APP_NUMBER' => $application2->APP_NUMBER,
'DEL_TITLE' => $application2->APP_TITLE,
2020-12-02 17:15:01 -04:00
'DEL_INDEX' => 2,
'DEL_LAST_INDEX' => 1
]);
Delegation::factory()->create([
2020-12-02 17:15:01 -04:00
'APP_UID' => $application3->APP_UID,
'APP_NUMBER' => $application3->APP_NUMBER,
'DEL_TITLE' => $application3->APP_TITLE,
2020-12-02 17:15:01 -04:00
'DEL_INDEX' => 1
]);
$delegation3 = Delegation::factory()->create([
2020-12-02 17:15:01 -04:00
'APP_UID' => $application3->APP_UID,
'APP_NUMBER' => $application3->APP_NUMBER,
'DEL_TITLE' => $application3->APP_TITLE,
2020-12-02 17:15:01 -04:00
'DEL_INDEX' => 2,
'DEL_LAST_INDEX' => 1
]);
if (!defined('DB_RBAC_USER')) {
define('DB_RBAC_USER', DB_USER);
}
if (!defined('DB_RBAC_PASS')) {
define('DB_RBAC_PASS', DB_PASS);
}
if (!defined('DB_RBAC_HOST')) {
define('DB_RBAC_HOST', DB_HOST);
}
if (!defined('DB_RBAC_NAME')) {
define('DB_RBAC_NAME', DB_NAME);
}
if (!defined('DB_REPORT_USER')) {
define('DB_REPORT_USER', DB_USER);
}
if (!defined('DB_REPORT_PASS')) {
define('DB_REPORT_PASS', DB_PASS);
}
if (!defined('DB_REPORT_HOST')) {
define('DB_REPORT_HOST', DB_HOST);
}
if (!defined('DB_REPORT_NAME')) {
define('DB_REPORT_NAME', DB_NAME);
}
ob_start();
2020-12-02 17:15:01 -04:00
$workspaceTools = new WorkspaceTools('');
$workspaceTools->migrateCaseTitleToThreads(['testexternal']);
$result = ob_get_contents();
ob_end_clean();
$this->assertMatchesRegularExpression("/The Case Title has been updated successfully in APP_DELEGATION table./", $result);
2020-12-02 17:15:01 -04:00
$r = Delegation::select('DEL_TITLE')->where('DELEGATION_ID', $delegation1->DELEGATION_ID)->get()->values()->toArray();
$this->assertEquals($r[0]['DEL_TITLE'], $application1->APP_TITLE);
$r = Delegation::select('DEL_TITLE')->where('DELEGATION_ID', $delegation2->DELEGATION_ID)->get()->values()->toArray();
$this->assertEquals($r[0]['DEL_TITLE'], $application2->APP_TITLE);
$r = Delegation::select('DEL_TITLE')->where('DELEGATION_ID', $delegation3->DELEGATION_ID)->get()->values()->toArray();
$this->assertEquals($r[0]['DEL_TITLE'], $application3->APP_TITLE);
}
}