diff options
author | Thomas Steur <thomas.steur@googlemail.com> | 2014-10-05 15:05:47 +0400 |
---|---|---|
committer | Thomas Steur <thomas.steur@googlemail.com> | 2014-10-05 15:05:47 +0400 |
commit | 5a1eab97f54b44f57356b4276b9c9df2a8eef51b (patch) | |
tree | 83864ece2806ccf6e6bb49abf3fd65de92c13ad8 /tests/PHPUnit/System/OneVisitorOneWebsiteSeveralDaysDateRangeTest.php | |
parent | 19bcd2d262343eae9d553378e4c66ce7e033b4d8 (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-x | tests/PHPUnit/System/OneVisitorOneWebsiteSeveralDaysDateRangeTest.php | 103 |
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 |