diff --git a/src/Jenssegers/Mongodb/MongodbQueueServiceProvider.php b/src/Jenssegers/Mongodb/MongodbQueueServiceProvider.php index 9b9d07525..54b32bae4 100644 --- a/src/Jenssegers/Mongodb/MongodbQueueServiceProvider.php +++ b/src/Jenssegers/Mongodb/MongodbQueueServiceProvider.php @@ -2,6 +2,7 @@ namespace Jenssegers\Mongodb; +use DB; use Illuminate\Queue\QueueServiceProvider; use Jenssegers\Mongodb\Queue\Failed\MongoFailedJobProvider; @@ -13,7 +14,7 @@ class MongodbQueueServiceProvider extends QueueServiceProvider protected function registerFailedJobServices() { // Add compatible queue failer if mongodb is configured. - if (config('queue.failed.database') == 'mongodb') { + if (DB::connection(config('queue.failed.database'))->getDriverName() == 'mongodb') { $this->app->singleton('queue.failer', function ($app) { return new MongoFailedJobProvider($app['db'], config('queue.failed.database'), config('queue.failed.table')); }); diff --git a/tests/QueueTest.php b/tests/QueueTest.php index 21306bfb1..99c945a39 100644 --- a/tests/QueueTest.php +++ b/tests/QueueTest.php @@ -1,6 +1,8 @@ assertEquals(0, Queue::getDatabase()->table(Config::get('queue.connections.database.table'))->count()); } + public function testFailQueueJob(): void + { + $provider = app('queue.failer'); + + $this->assertInstanceOf(MongoFailedJobProvider::class, $provider); + } + public function testFindFailJobNull(): void { Config::set('queue.failed.database', 'mongodb'); diff --git a/tests/TestCase.php b/tests/TestCase.php index c27fec178..a455b8576 100644 --- a/tests/TestCase.php +++ b/tests/TestCase.php @@ -28,6 +28,7 @@ protected function getPackageProviders($app) { return [ Jenssegers\Mongodb\MongodbServiceProvider::class, + Jenssegers\Mongodb\MongodbQueueServiceProvider::class, Jenssegers\Mongodb\Auth\PasswordResetServiceProvider::class, Jenssegers\Mongodb\Validation\ValidationServiceProvider::class, ]; @@ -50,6 +51,7 @@ protected function getEnvironmentSetUp($app) $app['config']->set('database.default', 'mongodb'); $app['config']->set('database.connections.mysql', $config['connections']['mysql']); $app['config']->set('database.connections.mongodb', $config['connections']['mongodb']); + $app['config']->set('database.connections.mongodb2', $config['connections']['mongodb']); $app['config']->set('database.connections.dsn_mongodb', $config['connections']['dsn_mongodb']); $app['config']->set('auth.model', 'User'); @@ -63,5 +65,6 @@ protected function getEnvironmentSetUp($app) 'queue' => 'default', 'expire' => 60, ]); + $app['config']->set('queue.failed.database', 'mongodb2'); } }