Merged in bugfix/PMCORE-3836 (pull request #8452)

PMCORE-3836

Approved-by: Julio Cesar Laura Avendaño
This commit is contained in:
Paula Quispe
2022-05-18 20:17:49 +00:00
committed by Julio Cesar Laura Avendaño
3 changed files with 79 additions and 15 deletions

View File

@@ -45,6 +45,7 @@ class HomeTest extends TestCase
/**
* This test the getDraft method.
* @test
* @covers \ProcessMaker\BusinessModel\Cases\Home::getUserId()
* @covers \ProcessMaker\BusinessModel\Cases\Home::getDraft()
*/
public function it_should_test_getDraft()
@@ -346,10 +347,10 @@ class HomeTest extends TestCase
'CAL_COLUMNS' => '[{"field":"case_number","enableFilter":false,"set":true},{"field":"case_title","enableFilter":false,"set":true},{"field":"process_name","enableFilter":false,"set":true},{"field":"task","enableFilter":false,"set":true},{"field":"send_by","enableFilter":false,"set":true},{"field":"due_date","enableFilter":false,"set":true},{"field":"delegation_date","enableFilter":false,"set":true},{"field":"priority","enableFilter":false,"set":true},{"field":"VAR1","enableFilter":false,"set":true},{"field":"VAR2","enableFilter":false,"set":true},{"field":"VAR3","enableFilter":false,"set":false}]',
'ADD_TAB_UID' => $additionalTables->ADD_TAB_UID
]);
$arguments = [$caseList->CAL_ID, 0, 0, 0, 0, 15, 0, '', '', 'APP_NUMBER,DESC'];
$arguments = [$caseList->CAL_ID, 0, 0, 0, 0, 15, 0, '', '', '', '', 'APP_NUMBER,DESC'];
$home = new Home($application->APP_INIT_USER);
$result = $home->getCustomDraft(...$arguments);
$result = $home->getCustomInbox(...$arguments);
$this->assertArrayHasKey('data', $result);
$this->assertArrayHasKey('total', $result);
@@ -425,10 +426,10 @@ class HomeTest extends TestCase
'CAL_COLUMNS' => '[{"field":"case_number","enableFilter":false,"set":true},{"field":"case_title","enableFilter":false,"set":true},{"field":"process_name","enableFilter":false,"set":true},{"field":"task","enableFilter":false,"set":true},{"field":"send_by","enableFilter":false,"set":true},{"field":"due_date","enableFilter":false,"set":true},{"field":"delegation_date","enableFilter":false,"set":true},{"field":"priority","enableFilter":false,"set":true},{"field":"VAR1","enableFilter":false,"set":true},{"field":"VAR2","enableFilter":false,"set":true},{"field":"VAR3","enableFilter":false,"set":false}]',
'ADD_TAB_UID' => $additionalTables->ADD_TAB_UID
]);
$arguments = [$caseList->CAL_ID, 0, 0, 0, 0, 15, 0, '', '', 'APP_NUMBER,DESC'];
$arguments = [$caseList->CAL_ID, 0, 0, 0, 0, 15, 0, '', '', '', '', 'APP_NUMBER,DESC'];
$home = new Home($application->APP_INIT_USER);
$result = $home->getCustomDraft(...$arguments);
$result = $home->getCustomUnassigned(...$arguments);
$this->assertArrayHasKey('data', $result);
$this->assertArrayHasKey('total', $result);
@@ -524,10 +525,10 @@ class HomeTest extends TestCase
'CAL_COLUMNS' => '[{"field":"case_number","enableFilter":false,"set":true},{"field":"case_title","enableFilter":false,"set":true},{"field":"process_name","enableFilter":false,"set":true},{"field":"task","enableFilter":false,"set":true},{"field":"send_by","enableFilter":false,"set":true},{"field":"due_date","enableFilter":false,"set":true},{"field":"delegation_date","enableFilter":false,"set":true},{"field":"priority","enableFilter":false,"set":true},{"field":"VAR1","enableFilter":false,"set":true},{"field":"VAR2","enableFilter":false,"set":true},{"field":"VAR3","enableFilter":false,"set":false}]',
'ADD_TAB_UID' => $additionalTables->ADD_TAB_UID
]);
$arguments = [$caseList->CAL_ID, 0, 0, 0, 0, 15, 0, '', '', 'APP_NUMBER,DESC'];
$arguments = [$caseList->CAL_ID, 0, 0, 0, 0, 15, 0, '', '', '', '', 'APP_NUMBER,DESC'];
$home = new Home($application1->APP_INIT_USER);
$result = $home->getCustomDraft(...$arguments);
$result = $home->getCustomPaused(...$arguments);
$this->assertArrayHasKey('data', $result);
$this->assertArrayHasKey('total', $result);

View File

@@ -33,7 +33,7 @@ class SearchTest extends TestCase
*
* @param int
*
* @return array
* @return object
*/
public function createSearch($rows = 10)
{
@@ -258,6 +258,48 @@ class SearchTest extends TestCase
$this->assertNotEmpty($result);
}
/**
* It tests the getData with user
*
* @covers \ProcessMaker\BusinessModel\Cases\Search::getData()
* @covers \ProcessMaker\BusinessModel\Cases\Search::getColumnsView()
* @covers \ProcessMaker\BusinessModel\Cases\Search::filters()
* @covers \ProcessMaker\BusinessModel\Cases\Search::setUserStartedId()
* @test
*/
public function it_filter_by_user_started()
{
// Create factories related to the delegation cases
$cases = $this->createSearch();
// Create new Search object
$search = new Search();
$search->setUserStartedId($cases[0]->USR_ID);
$result = $search->getData();
// Asserts with the result
$this->assertEmpty($result);
}
/**
* It tests the getData with user completed
*
* @covers \ProcessMaker\BusinessModel\Cases\Search::getData()
* @covers \ProcessMaker\BusinessModel\Cases\Search::getColumnsView()
* @covers \ProcessMaker\BusinessModel\Cases\Search::filters()
* @covers \ProcessMaker\BusinessModel\Cases\Search::setUserCompletedId()
* @test
*/
public function it_filter_by_user_completed()
{
// Create factories related to the delegation cases
$cases = $this->createSearch();
// Create new Search object
$search = new Search();
$search->setUserCompletedId($cases[0]->USR_ID);
$result = $search->getData();
// Asserts with the result
$this->assertNotEmpty($result);
}
/**
* It tests the getData with setStartCaseFrom and setStartCaseTo
*
@@ -353,8 +395,6 @@ class SearchTest extends TestCase
*/
public function it_get_counter()
{
// Create factories related to the delegation cases
$cases = $this->createSearch();
// Create new Search object
$search = new Search();
$total = $search->getCounter();
@@ -362,6 +402,21 @@ class SearchTest extends TestCase
$this->assertEquals($total, 0);
}
/**
* It tests the getCounter method
*
* @covers \ProcessMaker\BusinessModel\Cases\Search::atLeastOne()
* @test
*/
public function it_get_at_least_one()
{
// Create new Search object
$search = new Search();
$res = $search->atLeastOne();
// The count for search was disabled for performance issues
$this->assertFalse($res);
}
/**
* It tests the getPagingCounters method
*
@@ -371,8 +426,6 @@ class SearchTest extends TestCase
*/
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();
$total = $search->getPagingCounters();

View File

@@ -85,8 +85,13 @@ class Search extends AbstractCases
$query->joinDelegation();
// Add the filter
$query->userId($this->getUserId());
// Get only the open threads related to the user
$query->where('APP_DELEGATION.DEL_THREAD_STATUS', '=', 'OPEN');
// Get only the open threads related to the user or the last index
$query->where(function ($query) {
$query->where('APP_DELEGATION.DEL_THREAD_STATUS', 'OPEN');
$query->orWhere(function ($query) {
$query->where('APP_DELEGATION.DEL_LAST_INDEX', '1');
});
});
}
// Filter by user who started
if ($this->getUserStartedId()) {
@@ -108,8 +113,13 @@ class Search extends AbstractCases
}
// Add the filter
$query->task($this->getTaskId());
// Get only the open threads related to the task
$query->where('APP_DELEGATION.DEL_THREAD_STATUS', '=', 'OPEN');
// Get only the open threads related to the task or the last index
$query->where(function ($query) {
$query->where('APP_DELEGATION.DEL_THREAD_STATUS', 'OPEN');
$query->orWhere(function ($query) {
$query->where('APP_DELEGATION.DEL_LAST_INDEX', '1');
});
});
}
// Specific start case date from
if (!empty($this->getStartCaseFrom())) {