assertSQLEquals('', $query->sql($parameters)); } public function testBasicUpdate() { $query = SQLUpdate::create() ->setTable('"SQLUpdateTestBase"') ->assign('"Description"', 'Description 1a') ->addWhere(array('"Title" = ?' => 'Object 1')); $sql = $query->sql($parameters); // Check SQL $this->assertSQLEquals('UPDATE "SQLUpdateTestBase" SET "Description" = ? WHERE ("Title" = ?)', $sql); $this->assertEquals(array('Description 1a', 'Object 1'), $parameters); // Check affected rows $query->execute(); $this->assertEquals(1, DB::affected_rows()); // Check item updated $item = DataObject::get_one('SQLUpdateTestBase', array('"Title"' => 'Object 1')); $this->assertEquals('Description 1a', $item->Description); } } class SQLUpdateTestBase extends DataObject implements TestOnly { private static $db = array( 'Title' => 'Varchar(255)', 'Description' => 'Text' ); } class SQLUpdateChild extends SQLUpdateTestBase { private static $db = array( 'Details' => 'Varchar(255)' ); }