Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/matomo-org/matomo.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Steur <thomas.steur@googlemail.com>2014-10-05 15:05:47 +0400
committerThomas Steur <thomas.steur@googlemail.com>2014-10-05 15:05:47 +0400
commit5a1eab97f54b44f57356b4276b9c9df2a8eef51b (patch)
tree83864ece2806ccf6e6bb49abf3fd65de92c13ad8 /tests/PHPUnit/System/TwoVisitorsTwoWebsitesDifferentDaysConversionsTest.php
parent19bcd2d262343eae9d553378e4c66ce7e033b4d8 (diff)
refs #5940 put tests in correct folders, better testsuite names, some tests still fail and I cannot figure out why
Diffstat (limited to 'tests/PHPUnit/System/TwoVisitorsTwoWebsitesDifferentDaysConversionsTest.php')
-rwxr-xr-xtests/PHPUnit/System/TwoVisitorsTwoWebsitesDifferentDaysConversionsTest.php119
1 files changed, 119 insertions, 0 deletions
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 @@
+<?php
+/**
+ * Piwik - free/libre analytics platform
+ *
+ * @link http://piwik.org
+ * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
+ */
+namespace Piwik\Tests\System;
+
+use Piwik\Plugins\Goals\Archiver;
+use Piwik\Tests\SystemTestCase;
+use Piwik\Tests\Fixtures\TwoSitesTwoVisitorsDifferentDays;
+
+require_once 'Goals/Goals.php';
+
+/**
+ * Same as TwoVisitors_twoWebsites_differentDays but with goals that convert
+ * on every url.
+ *
+ * @group TwoVisitorsTwoWebsitesDifferentDaysConversionsTest
+ * @group Plugins
+ */
+class TwoVisitorsTwoWebsitesDifferentDaysConversionsTest extends SystemTestCase
+{
+ public static $fixture = null; // initialized below class definition
+
+ /**
+ * @dataProvider getApiForTesting
+ */
+ public function testApi($api, $params)
+ {
+ $this->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