fix ticket search unitary tests
This commit is contained in:
parent
b28e744ff7
commit
9cff8cd789
|
@ -112,6 +112,7 @@ class SearchController extends Controller {
|
|||
'orderBy' => json_decode(Controller::request('orderBy'),true),
|
||||
'page' => Controller::request('page'),
|
||||
'allowedDepartments' => Controller::getLoggedUser()->sharedDepartmentList->toArray(),
|
||||
'staffId' => Controller::getLoggedUser()->id
|
||||
];
|
||||
|
||||
|
||||
|
@ -172,7 +173,9 @@ class SearchController extends Controller {
|
|||
if(array_key_exists('unreadStaff',$inputs)) $this->setSeenFilter($inputs['unreadStaff'], $filters);
|
||||
if(array_key_exists('priority',$inputs)) $this->setPriorityFilter($inputs['priority'], $filters);
|
||||
if(array_key_exists('dateRange',$inputs)) $this->setDateFilter($inputs['dateRange'], $filters);
|
||||
if(array_key_exists('departments',$inputs)) $this->setDepartmentFilter($inputs['departments'],$inputs['allowedDepartments'], $filters);
|
||||
if(array_key_exists('departments',$inputs) && array_key_exists('allowedDepartments',$inputs) && array_key_exists('staffId',$inputs)){
|
||||
$this->setDepartmentFilter($inputs['departments'],$inputs['allowedDepartments'], $inputs['staffId'], $filters);
|
||||
}
|
||||
if(array_key_exists('authors',$inputs)) $this->setAuthorFilter($inputs['authors'], $filters);
|
||||
if(array_key_exists('query',$inputs)) $this->setStringFilter($inputs['query'], $filters);
|
||||
if($filters != "") $filters = " WHERE " . $filters;
|
||||
|
@ -244,8 +247,7 @@ class SearchController extends Controller {
|
|||
}
|
||||
}
|
||||
|
||||
private function setDepartmentFilter($departments,$allowedDepartments, &$filters){
|
||||
$idStaff = Controller::getLoggedUser()->id ;
|
||||
private function setDepartmentFilter($departments,$allowedDepartments, $idStaff, &$filters){
|
||||
if ($filters != "") $filters .= " and ";
|
||||
|
||||
$validDepartments = $this->generateValidDepartmentList($departments, $allowedDepartments);
|
||||
|
@ -265,7 +267,6 @@ class SearchController extends Controller {
|
|||
$filters .= "(";
|
||||
}
|
||||
$filters .= "ticket.author_staff_id = " . $idStaff . ")";
|
||||
|
||||
}
|
||||
|
||||
private function setAuthorFilter($authors, &$filters){
|
||||
|
|
|
@ -173,6 +173,7 @@ class SearchControllerTest extends TestCase {
|
|||
$this->assertEquals(
|
||||
$this->searchController->getSQLQuery([
|
||||
'departments' => null,
|
||||
'staffId' => 1,
|
||||
'allowedDepartments' => [
|
||||
[
|
||||
'id' => 2
|
||||
|
@ -185,12 +186,13 @@ class SearchControllerTest extends TestCase {
|
|||
]
|
||||
]
|
||||
]),
|
||||
'FROM (ticket LEFT JOIN tag_ticket ON tag_ticket.ticket_id = ticket.id LEFT JOIN ticketevent ON ticketevent.ticket_id = ticket.id) WHERE ( ticket.department_id = 2 or ticket.department_id = 1 or ticket.department_id = 3) GROUP BY ticket.id'
|
||||
'FROM (ticket LEFT JOIN tag_ticket ON tag_ticket.ticket_id = ticket.id LEFT JOIN ticketevent ON ticketevent.ticket_id = ticket.id) WHERE ( ticket.department_id = 2 or ticket.department_id = 1 or ticket.department_id = 3 or ticket.author_staff_id = 1) GROUP BY ticket.id'
|
||||
);
|
||||
|
||||
$this->assertEquals(
|
||||
$this->searchController->getSQLQuery([
|
||||
'departments' => [1],
|
||||
'staffId' => 1,
|
||||
'allowedDepartments' => [
|
||||
[
|
||||
'id' => 2
|
||||
|
@ -203,12 +205,13 @@ class SearchControllerTest extends TestCase {
|
|||
]
|
||||
]
|
||||
]),
|
||||
'FROM (ticket LEFT JOIN tag_ticket ON tag_ticket.ticket_id = ticket.id LEFT JOIN ticketevent ON ticketevent.ticket_id = ticket.id) WHERE ( ticket.department_id = 1) GROUP BY ticket.id'
|
||||
'FROM (ticket LEFT JOIN tag_ticket ON tag_ticket.ticket_id = ticket.id LEFT JOIN ticketevent ON ticketevent.ticket_id = ticket.id) WHERE ( ticket.department_id = 1 or ticket.author_staff_id = 1) GROUP BY ticket.id'
|
||||
);
|
||||
|
||||
$this->assertEquals(
|
||||
$this->searchController->getSQLQuery([
|
||||
'departments' => [1,2,3],
|
||||
'staffId' => 1,
|
||||
'allowedDepartments' => [
|
||||
[
|
||||
'id' => 2
|
||||
|
@ -221,7 +224,7 @@ class SearchControllerTest extends TestCase {
|
|||
]
|
||||
]
|
||||
]),
|
||||
'FROM (ticket LEFT JOIN tag_ticket ON tag_ticket.ticket_id = ticket.id LEFT JOIN ticketevent ON ticketevent.ticket_id = ticket.id) WHERE ( ticket.department_id = 1 or ticket.department_id = 2 or ticket.department_id = 3) GROUP BY ticket.id'
|
||||
'FROM (ticket LEFT JOIN tag_ticket ON tag_ticket.ticket_id = ticket.id LEFT JOIN ticketevent ON ticketevent.ticket_id = ticket.id) WHERE ( ticket.department_id = 1 or ticket.department_id = 2 or ticket.department_id = 3 or ticket.author_staff_id = 1) GROUP BY ticket.id'
|
||||
);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue