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. * This test the getDraft method.
* @test * @test
* @covers \ProcessMaker\BusinessModel\Cases\Home::getUserId()
* @covers \ProcessMaker\BusinessModel\Cases\Home::getDraft() * @covers \ProcessMaker\BusinessModel\Cases\Home::getDraft()
*/ */
public function it_should_test_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}]', '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 '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); $home = new Home($application->APP_INIT_USER);
$result = $home->getCustomDraft(...$arguments); $result = $home->getCustomInbox(...$arguments);
$this->assertArrayHasKey('data', $result); $this->assertArrayHasKey('data', $result);
$this->assertArrayHasKey('total', $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}]', '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 '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); $home = new Home($application->APP_INIT_USER);
$result = $home->getCustomDraft(...$arguments); $result = $home->getCustomUnassigned(...$arguments);
$this->assertArrayHasKey('data', $result); $this->assertArrayHasKey('data', $result);
$this->assertArrayHasKey('total', $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}]', '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 '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); $home = new Home($application1->APP_INIT_USER);
$result = $home->getCustomDraft(...$arguments); $result = $home->getCustomPaused(...$arguments);
$this->assertArrayHasKey('data', $result); $this->assertArrayHasKey('data', $result);
$this->assertArrayHasKey('total', $result); $this->assertArrayHasKey('total', $result);

View File

@@ -33,7 +33,7 @@ class SearchTest extends TestCase
* *
* @param int * @param int
* *
* @return array * @return object
*/ */
public function createSearch($rows = 10) public function createSearch($rows = 10)
{ {
@@ -258,6 +258,48 @@ class SearchTest extends TestCase
$this->assertNotEmpty($result); $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 * It tests the getData with setStartCaseFrom and setStartCaseTo
* *
@@ -353,8 +395,6 @@ class SearchTest extends TestCase
*/ */
public function it_get_counter() public function it_get_counter()
{ {
// Create factories related to the delegation cases
$cases = $this->createSearch();
// Create new Search object // Create new Search object
$search = new Search(); $search = new Search();
$total = $search->getCounter(); $total = $search->getCounter();
@@ -362,6 +402,21 @@ class SearchTest extends TestCase
$this->assertEquals($total, 0); $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 * It tests the getPagingCounters method
* *
@@ -371,8 +426,6 @@ class SearchTest extends TestCase
*/ */
public function it_should_test_the_counter_for_search() public function it_should_test_the_counter_for_search()
{ {
// Create factories related to the delegation cases
$cases = $this->createSearch();
// Create new Search object // Create new Search object
$search = new Search(); $search = new Search();
$total = $search->getPagingCounters(); $total = $search->getPagingCounters();

View File

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