diff options
Diffstat (limited to 'tests/PHPUnit/System/FlattenReportsTest.php')
-rw-r--r-- | tests/PHPUnit/System/FlattenReportsTest.php | 128 |
1 files changed, 128 insertions, 0 deletions
diff --git a/tests/PHPUnit/System/FlattenReportsTest.php b/tests/PHPUnit/System/FlattenReportsTest.php new file mode 100644 index 0000000000..e38e10cf7f --- /dev/null +++ b/tests/PHPUnit/System/FlattenReportsTest.php @@ -0,0 +1,128 @@ +<?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\ManyVisitsWithSubDirReferrersAndCustomVars; + +/** + * Tests the flattening of reports. + * + * @group FlattenReportsTest + * @group Core + */ +class FlattenReportsTest 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; + $dateTime = self::$fixture->dateTime; + + $return = array(); + + // referrers + $return[] = array( + 'Referrers.getWebsites', + array( + 'idSite' => $idSite, + 'date' => $dateTime, + 'otherRequestParameters' => array( + 'flat' => '1', + 'expanded' => '0' + ) + )); + + // urls + $return[] = array( + 'Actions.getPageUrls', + array( + 'idSite' => $idSite, + 'date' => $dateTime, + 'period' => 'week', + 'otherRequestParameters' => array( + 'flat' => '1', + 'expanded' => '0' + ) + )); + $return[] = array( + 'Actions.getPageUrls', + array( + 'idSite' => $idSite, + 'date' => $dateTime, + 'period' => 'week', + 'testSuffix' => '_withAggregate', + 'otherRequestParameters' => array( + 'flat' => '1', + 'include_aggregate_rows' => '1', + 'expanded' => '0' + ) + )); + + // custom variables for multiple days + $return[] = array('CustomVariables.getCustomVariables', array( + 'idSite' => $idSite, + 'date' => $dateTime, + 'otherRequestParameters' => array( + 'date' => '2010-03-05,2010-03-08', + 'flat' => '1', + 'include_aggregate_rows' => '1', + 'expanded' => '0' + ) + )); + + // test expanded=1 w/ idSubtable=X + $return[] = array('Actions.getPageUrls', array('idSite' => $idSite, + 'date' => $dateTime, + 'periods' => array('week'), + 'apiModule' => 'Actions', + 'apiAction' => 'getPageUrls', + 'supertableApi' => 'Actions.getPageUrls', + 'testSuffix' => '_expandedSubtable', + 'otherRequestParameters' => array('expanded' => '1'))); + + // test expanded=1 & depth=1 + $return[] = array('Actions.getPageUrls', array('idSite' => $idSite, + 'date' => $dateTime, + 'periods' => array('week'), + 'testSuffix' => '_expandedWithDepth', + 'otherRequestParameters' => array('expanded' => '1', + 'depth' => '1'))); + + // test flat=1 w/ filter_pattern_recursive + $return[] = array('Actions.getPageUrls', array('idSite' => $idSite, + 'date' => $dateTime, + 'periods' => array('week'), + 'apiModule' => 'Actions', + 'apiAction' => 'getPageUrls', + 'testSuffix' => '_flatFilterPatternRecursive', + 'otherRequestParameters' => array( + 'flat' => '1', + 'expanded' => '0', + 'filter_pattern_recursive' => 'dir2/' + ))); + + return $return; + } + + public static function getOutputPrefix() + { + return 'FlattenReports'; + } +} + +FlattenReportsTest::$fixture = new ManyVisitsWithSubDirReferrersAndCustomVars();
\ No newline at end of file |