/** * @dataProvider provideInsertSelect * @covers Database::insertSelect */ public function testInsertSelect($sql, $sqlTextNative, $sqlSelect, $sqlInsert) { $this->database->insertSelect($sql['destTable'], $sql['srcTable'], $sql['varMap'], $sql['conds'], __METHOD__, isset($sql['insertOptions']) ? $sql['insertOptions'] : [], isset($sql['selectOptions']) ? $sql['selectOptions'] : []); $this->assertLastSql($sqlTextNative); $dbWeb = new DatabaseTestHelper(__CLASS__, ['cliMode' => false]); $dbWeb->forceNextResult([array_flip(array_keys($sql['varMap']))]); $dbWeb->insertSelect($sql['destTable'], $sql['srcTable'], $sql['varMap'], $sql['conds'], __METHOD__, isset($sql['insertOptions']) ? $sql['insertOptions'] : [], isset($sql['selectOptions']) ? $sql['selectOptions'] : []); $this->assertLastSqlDb(implode('; ', [$sqlSelect, $sqlInsert]), $dbWeb); }
/** * @dataProvider provideInsertSelect * @covers DatabaseBase::insertSelect */ public function testInsertSelect($sql, $sqlText) { $this->database->insertSelect($sql['destTable'], $sql['srcTable'], $sql['varMap'], $sql['conds'], __METHOD__, isset($sql['insertOptions']) ? $sql['insertOptions'] : array(), isset($sql['selectOptions']) ? $sql['selectOptions'] : array()); $this->assertLastSql($sqlText); }