Mongolid\Connection\ConnectionTest::testShouldConstructANewConnection PHP Method

testShouldConstructANewConnection() public method

    public function testShouldConstructANewConnection()
    {
        // Arrange
        $params = ['conn/my_db', ['options'], ['driver_opts']];
        $mongoClient = new Client();
        $mongoManager = new Manager('mongodb://localhost:27017');
        $container = m::mock(Container::class);
        Ioc::setContainer($container);
        // Act
        $expectedParams = $params;
        $expectedParams[2]['typeMap'] = ['array' => 'array', 'document' => 'array'];
        $container->shouldReceive('make')->once()->with(Client::class, $expectedParams)->andReturn($mongoClient);
        $container->shouldReceive('make')->once()->with(Manager::class, $expectedParams)->andReturn($mongoManager);
        // Assert
        $connection = new Connection($params[0], $params[1], $params[2]);
        $this->assertAttributeEquals($mongoClient, 'rawConnection', $connection);
        $this->assertAttributeEquals($mongoManager, 'rawManager', $connection);
        $this->assertAttributeEquals('my_db', 'defaultDatabase', $connection);
    }