Ejemplo n.º 1
0
 public function testStringToIndexStatement_003()
 {
     $fieldString = "\n                <field>\n                    <name>group_id</name>\n                    <type>integer</type>\n                </field>";
     $field = Setup_Backend_Schema_Field_Factory::factory('Xml', $fieldString);
     $this->_backend->addCol($this->_table->name, $field);
     $fieldString = "\n                <field>\n                    <name>account_id</name>\n                    <type>integer</type>\n                </field>";
     $field = Setup_Backend_Schema_Field_Factory::factory('Xml', $fieldString);
     $this->_backend->addCol($this->_table->name, $field);
     $string = "\n                <index>\n                    <name>group_id-account_id</name>\n                    <unique>true</unique>\n                    <field>\n                        <name>group_id</name>\n                    </field>\n                    <field>\n                        <name>account_id</name>\n                    </field>\n                </index> ";
     $index = Setup_Backend_Schema_Index_Factory::factory('Xml', $string);
     $this->_backend->addIndex($this->_table->name, $index);
     $db = Tinebase_Core::getDb();
     $tableName = SQL_TABLE_PREFIX . $this->_table->name;
     $db->insert($tableName, array('name' => 'test1', 'group_id' => 1, 'account_id' => 1));
     $db->insert($tableName, array('name' => 'test2', 'group_id' => 1, 'account_id' => 2));
     $db->insert($tableName, array('name' => 'test3', 'group_id' => 2, 'account_id' => 1));
     $this->setExpectedException('Zend_Db_Statement_Exception');
     //unique constraint violation
     $db->insert($tableName, array('name' => 'test4', 'group_id' => 1, 'account_id' => 1));
 }