Doctrine\ODM\MongoDB\Tests\SchemaManagerTest::testEnsureDocumentSharding PHP Method

testEnsureDocumentSharding() public method

    public function testEnsureDocumentSharding()
    {
        $dbName = DOCTRINE_MONGODB_DATABASE;
        $classMetadata = $this->dm->getClassMetadata(\Documents\Sharded\ShardedUser::class);
        $collectionName = $classMetadata->getCollection();
        $dbMock = $this->getMockDatabase();
        $dbMock->method('getName')->willReturn($dbName);
        $adminDBMock = $this->getMockDatabase();
        $connMock = $this->getMockConnection();
        $connMock->method('selectDatabase')->with('admin')->willReturn($adminDBMock);
        $this->dm->connection = $connMock;
        $this->dm->documentDatabases = array($classMetadata->getName() => $dbMock);
        $adminDBMock->expects($this->at(0))->method('command')->with(array('enableSharding' => $dbName))->willReturn(array('ok' => 1));
        $adminDBMock->expects($this->at(1))->method('command')->with(array('shardCollection' => $dbName . '.' . $collectionName, 'key' => array('_id' => 'hashed')))->willReturn(array('ok' => 1));
        $this->schemaManager->ensureDocumentSharding($classMetadata->getName());
    }