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/OneVisitorOneWebsiteSeveralDaysDateRangeTest.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/OneVisitorOneWebsiteSeveralDaysDateRangeTest.php')
-rwxr-xr-xtests/PHPUnit/System/OneVisitorOneWebsiteSeveralDaysDateRangeTest.php103
1 files changed, 103 insertions, 0 deletions
diff --git a/tests/PHPUnit/System/OneVisitorOneWebsiteSeveralDaysDateRangeTest.php b/tests/PHPUnit/System/OneVisitorOneWebsiteSeveralDaysDateRangeTest.php
new file mode 100755
index 0000000000..e744859b70
--- /dev/null
+++ b/tests/PHPUnit/System/OneVisitorOneWebsiteSeveralDaysDateRangeTest.php
@@ -0,0 +1,103 @@
+<?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\Tests\SystemTestCase;
+use Piwik\Tests\Fixtures\VisitsOverSeveralDays;
+
+/**
+ * Use case testing various important features:
+ * - Test Multisites API use cases
+ * - testing period=range use case.
+ * - Recording data before and after, checking that the requested range is processed correctly
+ * - and more
+ *
+ * @group OneVisitorOneWebsiteSeveralDaysDateRangeTest
+ * @group Core
+ */
+class OneVisitorOneWebsiteSeveralDaysDateRangeTest extends SystemTestCase
+{
+ public static $fixture = null; // initialized below class definition
+
+ /**
+ * @dataProvider getApiForTesting
+ */
+ public function testApi($api, $params)
+ {
+ $this->runApiTests($api, $params);
+ }
+
+ public function getApiForTesting()
+ {
+ $idSite = self::$fixture->idSite;
+
+ return array(
+ // FIRST some MultiSites API goodness!
+
+ // range test
+ array('MultiSites.getAll', array('date' => '2010-12-15,2011-01-15',
+ 'periods' => array('range')
+ // Testing without &pattern= so should return all sites
+ )),
+
+ // test several dates (tests use of IndexedByDate w/ 'date1,date2,etc.')
+ array('MultiSites.getAll', array('date' => '2010-12-15',
+ 'periods' => array('day'),
+ 'testSuffix' => '_IndexedByDate',
+ // Testing the pattern to getAll restrict websites using name matching
+ 'otherRequestParameters' => array('pattern' => 'aAa')
+ )),
+
+ // test getOne call used in MobileMessaging SMS reports
+ array('MultiSites.getOne', array('date' => '2010-12-15,2011-01-15',
+ 'periods' => array('range'),
+ 'idSite' => $idSite,
+ // Testing without &pattern= so should return all sites
+ )),
+
+ // test that multiple periods are not supported
+ array('MultiSites.getAll', array('date' => '2010-12-15,2011-01-15',
+ 'periods' => array('day'),
+ 'testSuffix' => '_MultipleDatesNotSupported',
+ )),
+
+ //---------------------------------------
+ // THEN some Socials tests. Share these...
+ array('Referrers.getSocials', array('idSite' => 'all',
+ 'date' => '2010-12-13,2011-01-18',
+ 'periods' => array('range'))),
+
+ array('Referrers.getSocials', array('idSite' => 'all',
+ 'date' => '2010-12-10',
+ 'periods' => array('day'),
+ 'setDateLastN' => true,
+ 'testSuffix' => '_IndexedByDate')),
+
+ array('Referrers.getUrlsForSocial', array('idSite' => 'all', // test w/o idSubtable
+ 'date' => '2010-12-13,2011-01-18',
+ 'periods' => 'range',
+ 'testSuffix' => '_noIdSubtable')),
+
+ array('Referrers.getUrlsForSocial', array('idSite' => 1, // test w/ idSubtable
+ 'date' => '2010-12-13,2011-01-18',
+ 'periods' => 'range',
+ 'supertableApi' => 'Referrers.getSocials')),
+
+ array('UserCountry.getCountry', array('idSite' => $idSite,
+ 'date' => '2010-12-01,2011-01-15',
+ 'periods' => array('range'))),
+ );
+ }
+
+ public static function getOutputPrefix()
+ {
+ return 'oneVisitor_oneWebsite_severalDays_DateRange';
+ }
+}
+
+OneVisitorOneWebsiteSeveralDaysDateRangeTest::$fixture = new VisitsOverSeveralDays(); \ No newline at end of file