MongolidLaravel\MongolidServiceProvider::registerConnector PHP Method

registerConnector() public method

Register MongoDbConnector within the application.
public registerConnector ( ) : void
return void
    public function registerConnector()
    {
        $config = $this->app->make('config');
        MongolidIoc::setContainer($this->app);
        $connectionString = $this->buildConnectionString();
        $connection = new Connection($connectionString);
        $pool = new Pool();
        $eventService = new EventTriggerService();
        $eventService->registerEventDispatcher($this->app->make(LaravelEventTrigger::class));
        $pool->addConnection($connection);
        $this->app->instance(Pool::class, $pool);
        $this->app->instance(EventTriggerService::class, $eventService);
        $this->app->bind(CacheComponentInterface::class, function ($app) {
            return new LaravelCacheComponent($app[CacheRepository::class], $app[Serializer::class]);
        });
        $connection->defaultDatabase = $config->get('database.mongodb.default.database', 'mongolid');
    }

Usage Example

 public function testShouldRegisterConnectorWithUsernameAndPassword()
 {
     // Set
     $provider = new MongolidServiceProvider($this->app);
     config(['database.mongodb.default.database' => 'databaseName', 'database.mongodb.default.username' => 'us3r', 'database.mongodb.default.password' => 'p455']);
     // Actions
     $provider->registerConnector();
     $pool = Ioc::make(Pool::class);
     // Assertions
     $this->assertEquals('databaseName', $pool->getConnection()->defaultDatabase);
 }