Files
luos/tests/unit/workflow/engine/src/ProcessMaker/Model/TaskTest.php

175 lines
6.0 KiB
PHP
Raw Normal View History

2020-03-24 10:34:37 -04:00
<?php
namespace Tests\unit\workflow\engine\src\ProcessMaker\Model;
2020-10-02 12:53:58 -04:00
use G;
2020-03-24 10:34:37 -04:00
use Illuminate\Foundation\Testing\DatabaseTransactions;
2020-10-02 12:53:58 -04:00
use ProcessMaker\Model\Delegation;
2020-11-17 20:07:35 -04:00
use ProcessMaker\Model\ElementTaskRelation;
use ProcessMaker\Model\Process;
2020-03-24 10:34:37 -04:00
use ProcessMaker\Model\Task;
use Tests\TestCase;
/**
* Class TaskTest
*
* @coversDefaultClass \ProcessMaker\Model\Task
*/
class TaskTest extends TestCase
{
use DatabaseTransactions;
/**
* This checks to make get the name of the task
*
* @covers \ProcessMaker\Model\Task::title()
* @test
*/
2020-10-02 12:53:58 -04:00
public function it_should_return_title_of_event_task()
{
// Intermediate email event
$task = factory(Task::class)->create([
'TAS_TITLE' => 'INTERMEDIATE-THROW-EMAIL-EVENT'
]);
$taskInstance = new Task();
$title = $taskInstance->title($task->TAS_ID);
$this->assertEquals($title, G::LoadTranslation('ID_INTERMEDIATE_THROW_EMAIL_EVENT'));
// Intermediate throw message event
$task = factory(Task::class)->create([
'TAS_TITLE' => 'INTERMEDIATE-THROW-MESSAGE-EVENT'
]);
$taskInstance = new Task();
$title = $taskInstance->title($task->TAS_ID);
$this->assertEquals($title, G::LoadTranslation('ID_INTERMEDIATE_THROW_MESSAGE_EVENT'));
// Intermediate catch message event
$task = factory(Task::class)->create([
'TAS_TITLE' => 'INTERMEDIATE-CATCH-MESSAGE-EVENT'
]);
$taskInstance = new Task();
$title = $taskInstance->title($task->TAS_ID);
$this->assertEquals($title, G::LoadTranslation('ID_INTERMEDIATE_CATCH_MESSAGE_EVENT'));
// Intermediate timer event
$task = factory(Task::class)->create([
'TAS_TITLE' => 'INTERMEDIATE-CATCH-TIMER-EVENT'
]);
$taskInstance = new Task();
$title = $taskInstance->title($task->TAS_ID);
$this->assertEquals($title, G::LoadTranslation('ID_INTERMEDIATE_CATCH_TIMER_EVENT'));
}
/**
* This checks to load task properties
*
* @covers \ProcessMaker\Model\Task::load()
* @test
*/
public function it_should_return_task()
2020-03-24 10:34:37 -04:00
{
$task = factory(Task::class)->create();
$taskInstance = new Task();
2020-10-02 12:53:58 -04:00
$properties = $taskInstance->load($task->TAS_UID);
$this->assertNotEmpty($properties);
}
/**
* This checks to make get the task information from a user task
*
* @covers \ProcessMaker\Model\Task::information()
* @test
*/
public function it_should_return_task_information_from_user_task()
{
$task = factory(Task::class)->create([
'TAS_TYPE' => 'NORMAL'
]);
$del = factory(Delegation::class)->states('closed')->create([
'PRO_UID' => $task->PRO_UID,
'TAS_ID' => $task->TAS_ID,
'TAS_UID' => $task->TAS_UID,
'DEL_INIT_DATE' => '2020-07-26 16:42:08',
'DEL_FINISH_DATE' => '2020-07-30 17:43:09',
]);
$taskInstance = new Task();
$taskInfo = $taskInstance->information($del->APP_UID, $del->TAS_UID, $del->DEL_INDEX);
$result = ' 4 ' . G::LoadTranslation('ID_DAY_DAYS');
$result .= ' 01 '. G::LoadTranslation('ID_HOUR_ABBREVIATE');
$result .= ' 01 '. G::LoadTranslation('ID_MINUTE_ABBREVIATE');
$result .= ' 01 '. G::LoadTranslation('ID_SECOND_ABBREVIATE');
$this->assertEquals($taskInfo['DURATION'], $result);
}
/**
* This checks to make get the task information from a automatic task
*
* @covers \ProcessMaker\Model\Task::information()
* @test
*/
public function it_should_return_task_information_from_automatic_task()
{
$task = factory(Task::class)->create([
'TAS_TYPE' => 'SCRIPT-TASK'
]);
$del = factory(Delegation::class)->states('closed')->create([
'PRO_UID' => $task->PRO_UID,
'TAS_ID' => $task->TAS_ID,
'TAS_UID' => $task->TAS_UID,
'DEL_DELEGATE_DATE' => '2020-07-26 16:42:08',
'DEL_FINISH_DATE' => '2020-07-30 17:43:09',
]);
$taskInstance = new Task();
$taskInfo = $taskInstance->information($del->APP_UID, $del->TAS_UID, $del->DEL_INDEX);
$result = ' 4 ' . G::LoadTranslation('ID_DAY_DAYS');
$result .= ' 01 '. G::LoadTranslation('ID_HOUR_ABBREVIATE');
$result .= ' 01 '. G::LoadTranslation('ID_MINUTE_ABBREVIATE');
$result .= ' 01 '. G::LoadTranslation('ID_SECOND_ABBREVIATE');
$this->assertEquals($taskInfo['DURATION'], $result);
2020-03-24 10:34:37 -04:00
}
2020-11-17 20:07:35 -04:00
/**
* It tests the setTaskDefTitle() method
*
* @covers \ProcessMaker\Model\Task::setTaskDefTitle()
* @test
*/
public function it_should_test_set_task_title_method()
{
$project = factory(Process::class)->create();
$task = factory(Task::class)->create([
'TAS_DEF_TITLE' => 'something'
]);
$elementTask = factory(ElementTaskRelation::class)->create([
'PRJ_UID' => $project->PRO_UID,
'TAS_UID' => $task->TAS_UID,
]);
Task::setTaskDefTitle($elementTask->ELEMENT_UID, "Task title new");
$query = Task::query();
$query->select()->where('TASK.TAS_UID', $task->TAS_UID);
$res = $query->get()->values()->toArray();
$this->assertEquals($res[0]['TAS_DEF_TITLE'], 'Task title new');
}
/**
* It tests the getTaskDefTitle() method
*
* @covers \ProcessMaker\Model\Task::getTaskDefTitle()
* @test
*/
public function it_should_test_get_task_def_title_method()
{
$project = factory(Process::class)->create();
$task = factory(Task::class)->create([
'TAS_DEF_TITLE' => 'something'
]);
$elementTask = factory(ElementTaskRelation::class)->create([
'PRJ_UID' => $project->PRO_UID,
'TAS_UID' => $task->TAS_UID,
]);
$res = Task::getTaskDefTitle($elementTask->ELEMENT_UID);
$this->assertEquals($res, $task->TAS_DEF_TITLE);
}
2020-03-24 10:34:37 -04:00
}