From 517c94aa780a21b91467975515f9b35974c8a4be Mon Sep 17 00:00:00 2001 From: Roly Rudy Gutierrez Pinto Date: Thu, 28 May 2020 17:52:47 -0400 Subject: [PATCH] PMCORE-1578 PMCORE-1559 Review this error: Call to a member function initRBAC() on null. --- .../engine/src/ProcessMaker/Cases/CasesTraitTest.php | 12 +++++++++--- .../engine/src/ProcessMaker/Core/JobsManager.php | 8 ++++++-- .../engine/src/ProcessMaker/Model/SubApplication.php | 4 +++- 3 files changed, 18 insertions(+), 6 deletions(-) diff --git a/tests/unit/workflow/engine/src/ProcessMaker/Cases/CasesTraitTest.php b/tests/unit/workflow/engine/src/ProcessMaker/Cases/CasesTraitTest.php index 8b2a84eda..e1fbb3d90 100644 --- a/tests/unit/workflow/engine/src/ProcessMaker/Cases/CasesTraitTest.php +++ b/tests/unit/workflow/engine/src/ProcessMaker/Cases/CasesTraitTest.php @@ -396,15 +396,19 @@ class CasesTraitTest extends TestCase ]; $cases = new Cases(); - $cases->routeCaseActionByEmail($appUid, $delIndex, $aber, $dynUid, $forms, $remoteAddr, $files); + $result = $cases->routeCaseActionByEmail($appUid, $delIndex, $aber, $dynUid, $forms, $remoteAddr, $files); + + //asserts + $this->assertEquals($aber, $result['ABE_REQ_UID']); + $this->assertArrayHasKey('ABE_RES_STATUS', $result); } /** - * This test verifies if the ABE form has been completed. + * This test verifies if the ABE form has not been completed and hope for an exception. * @test * @covers Cases::routeCaseActionByEmail */ - public function it_should_verify_if_abe_has_completed() + public function it_should_verify_if_abe_has_not_completed() { $delegation1 = factory(Delegation::class)->state('closed')->create(); $abeRequest = factory(AbeRequest::class)->create(); @@ -420,6 +424,7 @@ class CasesTraitTest extends TestCase $remoteAddr = '127.0.0.1'; $files = []; + //assert exception $this->expectException(\Exception::class); $cases = new Cases(); $cases->routeCaseActionByEmail($appUid, $delIndex, $aber, $dynUid, $forms, $remoteAddr, $files); @@ -446,6 +451,7 @@ class CasesTraitTest extends TestCase $remoteAddr = '127.0.0.1'; $files = []; + //assert exception $this->expectException(\Exception::class); $cases = new Cases(); $cases->routeCaseActionByEmail($appUid, $delIndex, $aber, $dynUid, $forms, $remoteAddr, $files); diff --git a/workflow/engine/src/ProcessMaker/Core/JobsManager.php b/workflow/engine/src/ProcessMaker/Core/JobsManager.php index cda12a92c..372bbe732 100644 --- a/workflow/engine/src/ProcessMaker/Core/JobsManager.php +++ b/workflow/engine/src/ProcessMaker/Core/JobsManager.php @@ -185,9 +185,13 @@ class JobsManager public function dispatch($name, $callback) { $environment = $this->getDataSnapshot(); - - $instance = $name::dispatch(function() use ($callback, $environment) { + global $RBAC; + $referrerRBAC = $RBAC; + $instance = $name::dispatch(function() use ($callback, $environment, $referrerRBAC) { try { + global $RBAC; + $RBAC = $referrerRBAC; + $this->recoverDataSnapshot($environment); $callback($environment); } catch (Exception $e) { diff --git a/workflow/engine/src/ProcessMaker/Model/SubApplication.php b/workflow/engine/src/ProcessMaker/Model/SubApplication.php index b22a03b58..a50cbf80e 100644 --- a/workflow/engine/src/ProcessMaker/Model/SubApplication.php +++ b/workflow/engine/src/ProcessMaker/Model/SubApplication.php @@ -33,6 +33,7 @@ class SubApplication extends Model 'SA_INIT_DATE' => '', 'SA_FINISH_DATE' => '' ]; + /** * The attributes that are mass assignable. * @@ -49,4 +50,5 @@ class SubApplication extends Model 'SA_INIT_DATE', 'SA_FINISH_DATE' ]; -} \ No newline at end of file + +}