From 5a1eab97f54b44f57356b4276b9c9df2a8eef51b Mon Sep 17 00:00:00 2001 From: Thomas Steur Date: Sun, 5 Oct 2014 13:05:47 +0200 Subject: refs #5940 put tests in correct folders, better testsuite names, some tests still fail and I cannot figure out why --- ...torsTwoWebsitesDifferentDaysConversionsTest.php | 119 +++++++++++++++++++++ 1 file changed, 119 insertions(+) create mode 100755 tests/PHPUnit/System/TwoVisitorsTwoWebsitesDifferentDaysConversionsTest.php (limited to 'tests/PHPUnit/System/TwoVisitorsTwoWebsitesDifferentDaysConversionsTest.php') diff --git a/tests/PHPUnit/System/TwoVisitorsTwoWebsitesDifferentDaysConversionsTest.php b/tests/PHPUnit/System/TwoVisitorsTwoWebsitesDifferentDaysConversionsTest.php new file mode 100755 index 0000000000..243e9761c5 --- /dev/null +++ b/tests/PHPUnit/System/TwoVisitorsTwoWebsitesDifferentDaysConversionsTest.php @@ -0,0 +1,119 @@ +runApiTests($api, $params); + } + + public function getApiToCall() + { + return array('Goals.getDaysToConversion', + 'MultiSites.getAll' + ); + } + + public function getApiForTesting() + { + $dateTime = self::$fixture->dateTime; + $idSite1 = self::$fixture->idSite1; + + // NOTE: copied from TwoVisitors_TwoWebsites_DifferentDays (including the test or inheriting means + // the test will get run by phpunit, even when we only want to run this one. should be put into + // non-test class later.) + $apiToCall = $this->getApiToCall(); + $singlePeriodApi = array('VisitsSummary.get', 'Goals.get'); + + $periods = array( + 'day', + 'week', + 'month', + 'year' + ); + + $result = array( + // Request data for the last 6 periods and idSite=all + array($apiToCall, array('idSite' => 'all', + 'date' => $dateTime, + 'periods' => $periods, + 'setDateLastN' => true)), + + // Request data for the last 6 periods and idSite=1 + array($apiToCall, array('idSite' => $idSite1, + 'date' => $dateTime, + 'periods' => $periods, + 'setDateLastN' => true, + 'testSuffix' => '_idSiteOne_')), + + // We also test a single period to check that this use case (Reports per idSite in the response) works + 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') + ); + } + + // 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,' . Archiver::getRecordName('conversion_rate'); + + $result[] = array( + 'VisitsSummary.get', array('idSite' => 'all', 'date' => $dateTime, 'periods' => 'range', + 'otherRequestParameters' => array('columns' => $columns), + 'testSuffix' => '_getMetricsFromDifferentReports') + ); + + return $result; + } + + public static function getOutputPrefix() + { + return 'TwoVisitors_twoWebsites_differentDays_Conversions'; + } +} + +TwoVisitorsTwoWebsitesDifferentDaysConversionsTest::$fixture = new TwoSitesTwoVisitorsDifferentDays(); +TwoVisitorsTwoWebsitesDifferentDaysConversionsTest::$fixture->allowConversions = true; \ No newline at end of file -- cgit v1.2.3