From edeae3ff3b91ed35678c43f0466fb519467bfdfc Mon Sep 17 00:00:00 2001 From: Roly Rudy Gutierrez Pinto Date: Tue, 15 Sep 2020 14:53:17 -0400 Subject: [PATCH] PMCORE-2150 PMFUpdateUser() function doesn't update due date to all users in RBAC_USERS --- gulliver/system/class.rbac.php | 4 +++- tests/unit/gulliver/system/rbacTest.php | 22 ++++++++++++++++++++++ 2 files changed, 25 insertions(+), 1 deletion(-) diff --git a/gulliver/system/class.rbac.php b/gulliver/system/class.rbac.php index d211e625f..b06cbccaa 100644 --- a/gulliver/system/class.rbac.php +++ b/gulliver/system/class.rbac.php @@ -1165,12 +1165,14 @@ class RBAC $dataCase['USR_STATUS'] = 1; } } - + $currentUser = $this->userObj; + $this->userObj = new RbacUsers(); $this->userObj->update($dataCase); if ($rolCode != '') { $this->removeRolesFromUser($dataCase['USR_UID']); $this->assignRoleToUser($dataCase['USR_UID'], $rolCode); } + $this->userObj = $currentUser; } /** diff --git a/tests/unit/gulliver/system/rbacTest.php b/tests/unit/gulliver/system/rbacTest.php index e2337b6c5..60af0b1ca 100644 --- a/tests/unit/gulliver/system/rbacTest.php +++ b/tests/unit/gulliver/system/rbacTest.php @@ -28,4 +28,26 @@ class rbacTest extends TestCase ]; $this->assertContains($subset, $authorizedActions); } + + /** + * This test the updateUser method. + * @test + * @covers \RBAC::updateUser() + */ + public function it_should_test_updateUser_method() + { + $data = [ + 'USR_UID' => '00000000000000000000000000000001', + 'USR_DUE_DATE' => '2050-01-01', + 'USR_STATUS' => 'ACTIVE' + ]; + $rolCode = 'PROCESSMAKER_ADMIN'; + $rbac = new RBAC(); + $rbac->initRBAC(); + $result = $rbac->updateUser($data, $rolCode); + + //assert + $user = \ProcessMaker\Model\RbacUsers::where('USR_UID', '=', $data['USR_UID'])->first()->toArray(); + $this->assertEquals($data['USR_DUE_DATE'], $user['USR_DUE_DATE']); + } }