Contao\CoreBundle\Test\Doctrine\Schema\DcaSchemaProviderTest::testTableCreateDefinitions PHP Method

testTableCreateDefinitions() public method

Tests the table create definitions.
    public function testTableCreateDefinitions()
    {
        $provider = $this->getProvider(['tl_member' => ['TABLE_FIELDS' => ['id' => "`id` int(10) NOT NULL default '0'", 'pid' => '`pid` int(10) NULL', 'username' => "`username` varchar(128) NOT NULL default ''", 'firstname' => "`firstname` varchar(128) NOT NULL default ''", 'lastname' => "`lastname` varchar(128) NOT NULL default ''"], 'TABLE_CREATE_DEFINITIONS' => ['PRIMARY' => 'PRIMARY KEY (`id`)', 'pid' => 'KEY `pid` (`pid`)', 'username' => 'UNIQUE KEY `username` (`username`)', 'name' => 'KEY `name` (`firstname`, `lastname`)']]]);
        $schema = $provider->createSchema();
        $this->assertCount(1, $schema->getTableNames());
        $this->assertTrue($schema->hasTable('tl_member'));
        $table = $schema->getTable('tl_member');
        $this->assertTrue($table->hasIndex('PRIMARY'));
        $this->assertTrue($table->getIndex('PRIMARY')->isPrimary());
        $this->assertEquals(['id'], $table->getIndex('PRIMARY')->getColumns());
        $this->assertTrue($table->hasIndex('pid'));
        $this->assertFalse($table->getIndex('pid')->isUnique());
        $this->assertEquals(['pid'], $table->getIndex('pid')->getColumns());
        $this->assertTrue($table->hasIndex('username'));
        $this->assertTrue($table->getIndex('username')->isUnique());
        $this->assertEquals(['username'], $table->getIndex('username')->getColumns());
        $this->assertTrue($table->hasIndex('name'));
        $this->assertFalse($table->getIndex('name')->isUnique());
        $this->assertEquals(['firstname', 'lastname'], $table->getIndex('name')->getColumns());
    }