/**
  * @test
  *
  * @throws Tx_Phpunit_Exception_Database
  */
 public function getAutoIncrementReturnsOneForTruncatedTable()
 {
     Tx_Phpunit_Service_Database::enableQueryLogging();
     $dbResult = $GLOBALS['TYPO3_DB']->sql_query('TRUNCATE TABLE tx_phpunit_test;');
     if (!$dbResult) {
         throw new Tx_Phpunit_Exception_Database(1334438839);
     }
     $this->assertSame(1, $this->fixture->getAutoIncrement('tx_phpunit_test'));
 }
 /**
  * Updates an integer field of a database table by one. This is mainly needed
  * for counting up the relation counter when creating a database relation.
  *
  * The field to update must be of type integer.
  *
  * @param string $tableName
  *        name of the table, must not be empty
  * @param integer $uid
  *        the UID of the record to modify, must be > 0
  * @param string $fieldName
  *        the field name of the field to modify, must not be empty
  *
  * @return void
  *
  * @throws InvalidArgumentException
  * @throws Tx_Phpunit_Exception_Database
  */
 public function increaseRelationCounter($tableName, $uid, $fieldName)
 {
     if (!$this->isTableNameAllowed($tableName)) {
         throw new InvalidArgumentException('The table name "' . $tableName . '" is invalid. This means it is either empty or not in the list of allowed tables.', 1334439601);
     }
     if (!Tx_Phpunit_Service_Database::tableHasColumn($tableName, $fieldName)) {
         throw new InvalidArgumentException('The table ' . $tableName . ' has no column ' . $fieldName . '.', 1334439616);
     }
     Tx_Phpunit_Service_Database::enableQueryLogging();
     $dbResult = $GLOBALS['TYPO3_DB']->sql_query('UPDATE ' . $tableName . ' SET ' . $fieldName . '=' . $fieldName . '+1 WHERE uid=' . $uid);
     if (!$dbResult) {
         throw new Tx_Phpunit_Exception_Database(1334439623);
     }
     if ($GLOBALS['TYPO3_DB']->sql_affected_rows() === 0) {
         throw new Tx_Phpunit_Exception_Database(1334439632);
     }
     $this->markTableAsDirty($tableName);
 }
Beispiel #3
0
 /**
  * @test
  *
  * @throws \Tx_Phpunit_Exception_Database
  */
 public function getAutoIncrementReturnsOneForTruncatedTable()
 {
     \Tx_Phpunit_Service_Database::enableQueryLogging();
     $dbResult = \Tx_Phpunit_Service_Database::getDatabaseConnection()->sql_query('TRUNCATE TABLE tx_phpunit_test;');
     if ($dbResult === false) {
         throw new \Tx_Phpunit_Exception_Database(1334438839);
     }
     self::assertSame(1, $this->subject->getAutoIncrement('tx_phpunit_test'));
 }