array( 'sort_name', 'first_name', 'email', 'total_amount', ), 'filters' => array( 'total_amount_op' => 'gte', 'total_amount_value' => 50, ), // FIXME: add filters ), 'fixtures/dataset-ascii.sql', 'fixtures/report-ascii.csv', ) ); } public function setUp() { parent::setUp(); $this->foreignKeyChecksOff(); $this->quickCleanup($this->_tablesToTruncate); } public function tearDown() { parent::tearDown(); CRM_Core_DAO::executeQuery('DROP TEMPORARY TABLE IF EXISTS civireport_contribution_detail_temp1'); CRM_Core_DAO::executeQuery('DROP TEMPORARY TABLE IF EXISTS civireport_contribution_detail_temp2'); CRM_Core_DAO::executeQuery('DROP TEMPORARY TABLE IF EXISTS civireport_contribution_detail_temp3'); } /** * @dataProvider dataProvider */ public function testReportOutput($reportClass, $inputParams, $dataSet, $expectedOutputCsvFile) { $config = CRM_Core_Config::singleton(); CRM_Utils_File::sourceSQLFile($config->dsn, dirname(__FILE__) . "/{$dataSet}"); $reportCsvFile = $this->getReportOutputAsCsv($reportClass, $inputParams); $reportCsvArray = $this->getArrayFromCsv($reportCsvFile); $expectedOutputCsvArray = $this->getArrayFromCsv(dirname(__FILE__) . "/{$expectedOutputCsvFile}"); $this->assertCsvArraysEqual($expectedOutputCsvArray, $reportCsvArray); } }