diff --git a/src/app/Jobs/CommonJob.php b/src/app/Jobs/CommonJob.php --- a/src/app/Jobs/CommonJob.php +++ b/src/app/Jobs/CommonJob.php @@ -115,6 +115,10 @@ // @phpstan-ignore-next-line if ($this->job) { $this->job->release($delay); + } else { + // $this->job is only set when the job is dispatched, not if manually executed by calling handle(). + // When manually executed, release() does nothing, and we thus throw an exception. + throw new \Exception("Attempted to release a manually executed job"); } } diff --git a/src/tests/Feature/Jobs/Domain/CreateTest.php b/src/tests/Feature/Jobs/Domain/CreateTest.php --- a/src/tests/Feature/Jobs/Domain/CreateTest.php +++ b/src/tests/Feature/Jobs/Domain/CreateTest.php @@ -65,6 +65,7 @@ ); // Test job releasing on unknown identifier + $this->expectException(\Exception::class); $job = new \App\Jobs\Domain\CreateJob(123); $job->handle(); diff --git a/src/tests/Feature/Jobs/Group/CreateTest.php b/src/tests/Feature/Jobs/Group/CreateTest.php --- a/src/tests/Feature/Jobs/Group/CreateTest.php +++ b/src/tests/Feature/Jobs/Group/CreateTest.php @@ -41,6 +41,7 @@ $this->assertTrue($group->fresh()->isLdapReady()); // Test non-existing group ID + $this->expectException(\Exception::class); $job = new \App\Jobs\Group\CreateJob(123); $job->handle(); diff --git a/src/tests/Feature/Jobs/Resource/CreateTest.php b/src/tests/Feature/Jobs/Resource/CreateTest.php --- a/src/tests/Feature/Jobs/Resource/CreateTest.php +++ b/src/tests/Feature/Jobs/Resource/CreateTest.php @@ -35,6 +35,7 @@ Queue::fake(); // Test unknown resource + $this->expectException(\Exception::class); $job = new \App\Jobs\Resource\CreateJob(123); $job->handle(); diff --git a/src/tests/Feature/Jobs/SharedFolder/CreateTest.php b/src/tests/Feature/Jobs/SharedFolder/CreateTest.php --- a/src/tests/Feature/Jobs/SharedFolder/CreateTest.php +++ b/src/tests/Feature/Jobs/SharedFolder/CreateTest.php @@ -35,6 +35,7 @@ Queue::fake(); // Test unknown folder + $this->expectException(\Exception::class); $job = new \App\Jobs\SharedFolder\CreateJob(123); $job->handle(); diff --git a/src/tests/Feature/Jobs/User/CreateTest.php b/src/tests/Feature/Jobs/User/CreateTest.php --- a/src/tests/Feature/Jobs/User/CreateTest.php +++ b/src/tests/Feature/Jobs/User/CreateTest.php @@ -69,6 +69,7 @@ // TODO: Test failures on domain sanity checks + $this->expectException(\Exception::class); $job = new \App\Jobs\User\CreateJob(123); $job->handle();