From a9b542fe579319a9aefc4eba5e85ac8f05d7f427 Mon Sep 17 00:00:00 2001 From: Paula Quispe Date: Thu, 9 Jan 2025 11:46:25 -0400 Subject: [PATCH] FOUR-20590 --- .../Http/Controllers/Api/UserController.php | 1 - tests/Feature/Api/UsersTest.php | 55 ++++++++++++++++++- 2 files changed, 53 insertions(+), 3 deletions(-) diff --git a/ProcessMaker/Http/Controllers/Api/UserController.php b/ProcessMaker/Http/Controllers/Api/UserController.php index abbf47ab84..f8968544fd 100644 --- a/ProcessMaker/Http/Controllers/Api/UserController.php +++ b/ProcessMaker/Http/Controllers/Api/UserController.php @@ -895,7 +895,6 @@ public function getFilterConfiguration(String $name, Request $request) */ public function storeFilterConfiguration(String $name, Request $request) { - $request->json()->all(); $filter = SaveSession::setConfigFilter($name, $request->user(), $request->json()->all()); return response(['data' => $filter], 200); diff --git a/tests/Feature/Api/UsersTest.php b/tests/Feature/Api/UsersTest.php index 2e4637c0a5..90c62ea5ef 100644 --- a/tests/Feature/Api/UsersTest.php +++ b/tests/Feature/Api/UsersTest.php @@ -10,8 +10,6 @@ use ProcessMaker\Models\Process; use ProcessMaker\Models\ProcessRequest; use ProcessMaker\Models\ProcessRequestToken; -use ProcessMaker\Models\ProcessTaskAssignment; -use ProcessMaker\Models\Recommendation; use ProcessMaker\Models\RecommendationUser; use ProcessMaker\Models\Setting; use ProcessMaker\Models\User; @@ -885,4 +883,57 @@ public function testGetUsersTaskCount() // Assert the list of users now contains the admin user $this->assertContains($admin->id, collect($users)->pluck('id')->toArray()); } + + /** + * Test save and get filters per user saved in cache + */ + public function testGetDefaultUserConfiguration() + { + // Define an example of filters to save + $values = [ + 'filters' => [ + [ + 'subject' => [ + 'type' => 'Field', + 'value' => 'case_number', + ], + 'operator' => '=', + 'value' => '885', + ], + [ + 'subject' => [ + 'type' => 'Field', + 'value' => 'case_title', + ], + 'operator' => '=', + 'value' => 'TCP4_Case_title', + ], + ], + 'order' => [ + 'by' => 'id', + 'dir' => 'ASC', + ], + ]; + // Define the page filter to save + $pagesSaveFilters = [ + 'casesFilter', + 'casesFilter|in_progress', + 'casesFilter|completed', + 'casesFilter|all', + ]; + $randomKey = array_rand($pagesSaveFilters); + $name = $pagesSaveFilters[$randomKey]; + // Call the api PUT + $response = $this->apiCall('PUT', '/users/store_filter_configuration/' . $name, $values); + // Validate the header status code + $response->assertStatus(200); + $this->assertNotEmpty($response); + + // Call the api GET + $response = $this->apiCall('GET', '/users/get_filter_configuration/' . $name); + // Validate the header status code + $response->assertStatus(200); + $this->assertNotEmpty($response); + $response->assertJson(['data' => $values]); + } }