public function getApiToTest()
 {
     $result = parent::getApiToTest();
     // Tests that getting a visits summary metric (nb_visits) & a Goal's metric (Goal_revenue)
     // at the same time works.
     $dateTime = '2010-01-03,2010-01-06';
     $columns = 'nb_visits,' . Piwik_Goals::getRecordName('conversion_rate');
     $result[] = array('VisitsSummary.get', array('idSite' => 'all', 'date' => $dateTime, 'periods' => 'range', 'otherRequestParameters' => array('columns' => $columns), 'testSuffix' => '_getMetricsFromDifferentReports'));
     return $result;
 }
 public function __construct($title = '')
 {
     parent::__construct($title);
     $this->allowConversions = true;
 }
    public function testApi($api, $params)
    {
        $this->runApiTests($api, $params);
    }
    protected function getApiToCall()
    {
        return array('VisitFrequency.get', 'VisitsSummary.get', 'Referrers.getWebsites', 'Actions.getPageUrls', 'Actions.getPageTitles', 'Actions.getOutlinks', 'Actions.getPageTitle', 'Actions.getPageUrl', 'VisitorInterest.getNumberOfVisitsByDaysSinceLast');
    }
    public function getApiForTesting()
    {
        $idSite1 = self::$fixture->idSite1;
        $dateTime = self::$fixture->dateTime;
        $apiToCall = $this->getApiToCall();
        $singlePeriodApi = array('VisitsSummary.get', 'Goals.get');
        $periods = array('day', 'week', 'month', 'year');
        $result = array(array($apiToCall, array('idSite' => 'all', 'date' => $dateTime, 'periods' => $periods, 'setDateLastN' => true)), array($apiToCall, array('idSite' => $idSite1, 'date' => $dateTime, 'periods' => $periods, 'setDateLastN' => true, 'testSuffix' => '_idSiteOne_')), array($singlePeriodApi, array('idSite' => 'all', 'date' => $dateTime, 'periods' => array('day', 'month'), 'setDateLastN' => false, 'testSuffix' => '_NotLastNPeriods')));
        // testing metadata API for multiple periods
        $apiToCall = array_diff($apiToCall, array('Actions.getPageTitle', 'Actions.getPageUrl'));
        foreach ($apiToCall as $api) {
            list($apiModule, $apiAction) = explode(".", $api);
            $result[] = array('API.getProcessedReport', array('idSite' => $idSite1, 'date' => $dateTime, 'periods' => array('day'), 'setDateLastN' => true, 'apiModule' => $apiModule, 'apiAction' => $apiAction, 'testSuffix' => '_' . $api . '_firstSite_lastN'));
        }
        return array_merge($result, self::getApiForTestingScheduledReports($dateTime, 'month'));
    }
    public static function getOutputPrefix()
    {
        return 'TwoVisitors_twoWebsites_differentDays';
    }
}
Test_Piwik_Integration_TwoVisitors_TwoWebsites_DifferentDays::$fixture = new Test_Piwik_Fixture_TwoSitesTwoVisitorsDifferentDays();