Sokil\Mongo\CollectionTest::testEnsureFulltextIndex PHP Method

testEnsureFulltextIndex() public method

    public function testEnsureFulltextIndex()
    {
        try {
            $this->collection->ensureFulltextIndex(array('fieldname1', 'fieldname2'), array('fieldname1' => 1, 'fieldname2' => 2), 'spanish');
        } catch (\MongoWriteConcernException $e) {
            $this->assertEquals('127.0.0.1:27017: text search not enabled', $e->getMessage());
            return;
        }
        $indexes = $this->collection->getIndexes();
        $index = $indexes[1];
        // 'textIndexVersion' differ in different versions of mongodb
        $this->assertArrayHasKey('textIndexVersion', $index);
        $dbVersion = $this->collection->getDatabase()->getClient()->getDbVersion();
        if (version_compare($dbVersion, '2.6', '<')) {
            $this->assertEquals(1, $index['textIndexVersion']);
        } else {
            if (version_compare($dbVersion, '3.2', '<')) {
                $this->assertEquals(2, $index['textIndexVersion']);
            } else {
                $this->assertEquals(3, $index['textIndexVersion']);
            }
        }
        unset($index['textIndexVersion']);
        // chech other params
        $this->assertEquals($index, array('v' => 1, 'key' => array('_fts' => 'text', '_ftsx' => 1), 'name' => 'fieldname1_text_fieldname2_text', 'ns' => 'test.phpmongo_test_collection', 'default_language' => 'spanish', 'weights' => array('fieldname1' => 1, 'fieldname2' => 2), 'language_override' => 'language'));
    }
CollectionTest