PMCORE-1214

This commit is contained in:
Paula Quispe
2020-11-05 17:50:41 -04:00
parent f54708214f
commit 939d479a06
5 changed files with 485 additions and 36 deletions

View File

@@ -3,10 +3,12 @@
namespace Tests\unit\workflow\engine\src\ProcessMaker\BusinessModel\Cases;
use G;
use Illuminate\Foundation\Testing\DatabaseTransactions;
use ProcessMaker\BusinessModel\Cases\AbstractCases;
use ProcessMaker\Model\Application;
use ProcessMaker\Model\Process;
use ProcessMaker\Model\ProcessCategory;
use ProcessMaker\Model\Task;
use ProcessMaker\Model\User;
use Tests\TestCase;
@@ -15,6 +17,8 @@ use Tests\TestCase;
*/
class AbstractCasesTest extends TestCase
{
use DatabaseTransactions;
/**
* This check the getter and setter related to the category
*
@@ -52,6 +56,22 @@ class AbstractCasesTest extends TestCase
$this->assertEquals($process->PRO_ID, $actual);
}
/**
* This check the getter and setter related to the task
*
* @covers \ProcessMaker\BusinessModel\Cases\AbstractCases::setTaskId()
* @covers \ProcessMaker\BusinessModel\Cases\AbstractCases::getTaskId()
* @test
*/
public function it_return_set_get_task()
{
$task = factory(Task::class)->create();
$absCases = new AbstractCases();
$absCases->setTaskId($task->TAS_ID);
$actual = $absCases->getTaskId();
$this->assertEquals($task->TAS_ID, $actual);
}
/**
* This check the getter and setter related to the user
*
@@ -73,6 +93,61 @@ class AbstractCasesTest extends TestCase
$this->assertEquals($users->USR_ID, $actual);
}
/**
* This check the getter and setter related to the priority
*
* @covers \ProcessMaker\BusinessModel\Cases\AbstractCases::setPriority()
* @covers \ProcessMaker\BusinessModel\Cases\AbstractCases::getPriority()
* @test
*/
public function it_return_set_get_priority()
{
$absCases = new AbstractCases();
$arguments = [1 => 'VL', 2 => 'L', 3 => 'N', 4 => 'H', 5 => 'VH'];
$index = array_rand($arguments);
$absCases->setPriority($index);
$actual = $absCases->getPriority();
$this->assertEquals($index, $actual);
}
/**
* This check the getter and setter related to the case number
*
* @covers \ProcessMaker\BusinessModel\Cases\AbstractCases::setCaseNumber()
* @covers \ProcessMaker\BusinessModel\Cases\AbstractCases::getCaseNumber()
* @test
*/
public function it_return_set_get_case_number()
{
$case = factory(Application::class)->create();
$absCases = new AbstractCases();
$absCases->setCaseNumber($case->APP_NUMBER);
$actual = $absCases->getCaseNumber();
$this->assertEquals($case->APP_NUMBER, $actual);
}
/**
* This check the getter and setter related to the range of case number
*
* @covers \ProcessMaker\BusinessModel\Cases\AbstractCases::setRangeCaseNumber()
* @covers \ProcessMaker\BusinessModel\Cases\AbstractCases::getFromCaseNumber()
* @covers \ProcessMaker\BusinessModel\Cases\AbstractCases::getToCaseNumber()
* @test
*/
public function it_return_set_get_range_case_number()
{
$case1 = factory(Application::class)->create();
$case2 = factory(Application::class)->create([
'APP_NUMBER' => $case1->APP_NUMBER + 1
]);
$absCases = new AbstractCases();
$absCases->setRangeCaseNumber($case1->APP_NUMBER, $case2->APP_NUMBER);
$from = $absCases->getFromCaseNumber();
$to = $absCases->getToCaseNumber();
$this->assertEquals($case1->APP_NUMBER, $from);
$this->assertEquals($case2->APP_NUMBER, $to);
}
/**
* This check the getter and setter related to the search
*
@@ -306,7 +381,12 @@ class AbstractCasesTest extends TestCase
$properties = [
'category' => G::generateUniqueID(),
'process' => G::generateUniqueID(),
'task' => rand(),
'user' => G::generateUniqueID(),
'priority' => 1,
'caseNumber' => rand(),
'caseNumberFrom' => rand(),
'caseNumberTo' => rand(),
'search' => G::generateUniqueID(),
'caseLink' => G::generateUniqueID(),
'appUidCheck' => [G::generateUniqueID()],
@@ -323,8 +403,18 @@ class AbstractCasesTest extends TestCase
$this->assertEquals($properties['category'], $actual);
$actual = $absCases->getProcessUid();
$this->assertEquals($properties['process'], $actual);
$actual = $absCases->getTaskId();
$this->assertEquals($properties['task'], $actual);
$actual = $absCases->getUserUid();
$this->assertEquals($properties['user'], $actual);
$actual = $absCases->getPriority();
$this->assertEquals($properties['priority'], $actual);
$actual = $absCases->getCaseNumber();
$this->assertEquals($properties['caseNumber'], $actual);
$actual = $absCases->getFromCaseNumber();
$this->assertEquals($properties['caseNumberFrom'], $actual);
$actual = $absCases->getToCaseNumber();
$this->assertEquals($properties['caseNumberTo'], $actual);
$actual = $absCases->getValueToSearch();
$this->assertEquals($properties['search'], $actual);
$actual = $absCases->getCaseUid();

View File

@@ -0,0 +1,176 @@
<?php
namespace Tests\unit\workflow\engine\src\ProcessMaker\BusinessModel\Cases;
use Illuminate\Foundation\Testing\DatabaseTransactions;
use ProcessMaker\BusinessModel\Cases\Search;
use ProcessMaker\Model\Delegation;
use Tests\TestCase;
/**
* Class InboxTest
*
* @coversDefaultClass \ProcessMaker\BusinessModel\Cases\Search
*/
class SearchTest extends TestCase
{
use DatabaseTransactions;
/**
* Set up function.
*/
public function setUp()
{
parent::setUp();
Delegation::truncate();
}
/**
* Create participated cases factories
*
* @param int
*
* @return array
*/
public function createSearch($rows = 10)
{
$delegation = factory(Delegation::class, $rows)->states('foreign_keys')->create();
return $delegation;
}
/**
* It tests the getData method without filters
*
* @covers \ProcessMaker\BusinessModel\Cases\Search::getData()
* @test
*/
public function it_should_test_get_data_method_without_filters()
{
// Create factories related to the delegation cases
$cases = $this->createSearch();
// Create new Search object
$search = new Search();
$result = $search->getData();
// This assert that the expected numbers of results are returned
$this->assertEquals(count($cases), count($result));
}
/**
* It tests the getData with case number
*
* @covers \ProcessMaker\BusinessModel\Cases\Search::getData()
* @test
*/
public function it_should_test_get_data_method_with_specific_case_number()
{
// Create factories related to the delegation cases
$cases = $this->createSearch();
// Create new Search object
$search = new Search();
$search->setCaseNumber($cases[0]->APP_NUMBER);
// Set order by column value
$search->setOrderByColumn('APP_DELEGATION.APP_NUMBER');
$result = $search->getData();
// This assert that the expected numbers of results are returned
$this->assertEquals($cases[0]->APP_NUMBER, $result[0]['APP_NUMBER']);
}
/**
* It tests the getData with priority
*
* @covers \ProcessMaker\BusinessModel\Cases\Search::getData()
* @test
*/
public function it_should_test_get_data_method_with_specific_priority()
{
// Create factories related to the delegation cases
$cases = $this->createSearch();
// Create new Search object
$search = new Search();
$search->setPriority(3);
// Set order by column value
$search->setOrderByColumn('APP_DELEGATION.APP_NUMBER');
$result = $search->getData();
// This assert that the expected numbers of results are returned
$this->assertEquals(3, $result[0]['DEL_PRIORITY']);
}
/**
* It tests the getData with process
*
* @covers \ProcessMaker\BusinessModel\Cases\Search::getData()
* @test
*/
public function it_should_test_get_data_method_with_specific_process()
{
// Create factories related to the delegation cases
$cases = $this->createSearch();
// Create new Search object
$search = new Search();
$search->setProcessId($cases[0]->PRO_ID);
// Set order by column value
$search->setOrderByColumn('APP_DELEGATION.APP_NUMBER');
$result = $search->getData();
// This assert that the expected numbers of results are returned
$this->assertEquals($cases[0]->PRO_ID, $result[0]['PRO_ID']);
}
/**
* It tests the getData with task
*
* @covers \ProcessMaker\BusinessModel\Cases\Search::getData()
* @test
*/
public function it_should_test_get_data_method_with_specific_task()
{
// Create factories related to the delegation cases
$cases = $this->createSearch();
// Create new Search object
$search = new Search();
$search->setTaskId($cases[0]->TAS_ID);
// Set order by column value
$search->setOrderByColumn('APP_DELEGATION.APP_NUMBER');
$result = $search->getData();
// This assert that the expected numbers of results are returned
$this->assertEquals($cases[0]->TAS_ID, $result[0]['TAS_ID']);
}
/**
* It tests the getData with user
*
* @covers \ProcessMaker\BusinessModel\Cases\Search::getData()
* @test
*/
public function it_should_test_get_data_method_with_specific_user()
{
// Create factories related to the delegation cases
$cases = $this->createSearch();
// Create new Search object
$search = new Search();
$search->setUserId($cases[0]->USR_ID);
// Set order by column value
$search->setOrderByColumn('APP_DELEGATION.APP_NUMBER');
$result = $search->getData();
// This assert that the expected numbers of results are returned
$this->assertEquals($cases[0]->USR_ID, $result[0]['USR_ID']);
}
/**
* It tests the getCounter method
*
* @covers \ProcessMaker\BusinessModel\Cases\Search::getCounter()
* @test
*/
public function it_should_test_the_counter_for_search()
{
// Create factories related to the delegation cases
$cases = $this->createSearch();
// Create new Search object
$search = new Search();
// Set order by column value
$search->setOrderByColumn('APP_DELEGATION.APP_NUMBER');
$total = $search->getCounter();
$this->assertEquals(count($cases), $total);;
}
}