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:
Diffstat (limited to 'plugins/Contents/tests/System/ContentsTest.php')
-rw-r--r--plugins/Contents/tests/System/ContentsTest.php135
1 files changed, 135 insertions, 0 deletions
diff --git a/plugins/Contents/tests/System/ContentsTest.php b/plugins/Contents/tests/System/ContentsTest.php
new file mode 100644
index 0000000000..d348133c2b
--- /dev/null
+++ b/plugins/Contents/tests/System/ContentsTest.php
@@ -0,0 +1,135 @@
+<?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\Plugins\Contents\tests\System;
+
+use Piwik\Tests\SystemTestCase;
+use Piwik\Plugins\Contents\tests\Fixtures\TwoVisitsWithContents;
+use Piwik\Translate;
+
+/**
+ * Testing Contents
+ *
+ * @group ContentsTest
+ * @group System
+ * @group Plugins
+ */
+class ContentsTest extends SystemTestCase
+{
+ public static $fixture = null; // initialized below class definition
+
+ /**
+ * @dataProvider getApiForTesting
+ */
+ public function testApi($api, $params)
+ {
+ $this->runApiTests($api, $params);
+ }
+
+ protected function getApiToCall()
+ {
+ return array(
+ 'Contents.getContentNames',
+ 'Contents.getContentPieces',
+ 'Actions.get',
+ 'Actions.getPageUrls',
+ 'Live.getLastVisitsDetails'
+ );
+ }
+
+ protected function setup()
+ {
+ parent::setup();
+ Translate::reloadLanguage('en');
+ }
+
+ protected function tearDown()
+ {
+ parent::tearDown();
+ }
+
+ public function getApiForTesting()
+ {
+ $dateTime = self::$fixture->dateTime;
+ $idSite1 = self::$fixture->idSite;
+
+ $apiToCallProcessedReportMetadata = $this->getApiToCall();
+
+ $dayPeriod = 'day';
+ $periods = array($dayPeriod, 'month');
+
+ $apisToTest = array('Contents', 'Actions.getPageUrls', 'Live.getLastVisitsDetails');
+ $result = array(
+ array($apiToCallProcessedReportMetadata, array(
+ 'idSite' => $idSite1,
+ 'date' => $dateTime,
+ 'periods' => $periods,
+ 'setDateLastN' => false,
+ 'testSuffix' => '')),
+
+ array($apisToTest, array(
+ 'idSite' => $idSite1,
+ 'date' => $dateTime,
+ 'periods' => $dayPeriod,
+ 'segment' => "contentName==ImageAd,contentPiece==".urlencode('Click to download Piwik now'),
+ 'setDateLastN' => false,
+ 'testSuffix' => 'contentNameOrPieceMatch')
+ ),
+
+ array($apisToTest, array(
+ 'idSite' => $idSite1,
+ 'date' => $dateTime,
+ 'periods' => $dayPeriod,
+ 'segment' => "contentTarget==".urlencode('http://www.example.com'),
+ 'setDateLastN' => false,
+ 'testSuffix' => '_contentTargetMatch')
+ ),
+
+ array($apisToTest, array(
+ 'idSite' => $idSite1,
+ 'date' => $dateTime,
+ 'periods' => $dayPeriod,
+ 'segment' => "contentInteraction==click",
+ 'setDateLastN' => false,
+ 'testSuffix' => '_contentInteractionMatch')
+ )
+ );
+
+ $apiToCallProcessedReportMetadata = array(
+ 'Contents.getContentNames',
+ 'Contents.getContentPieces'
+ );
+ // testing metadata API for Contents reports
+ foreach ($apiToCallProcessedReportMetadata as $api) {
+ list($apiModule, $apiAction) = explode(".", $api);
+
+ $result[] = array(
+ 'API.getProcessedReport', array('idSite' => $idSite1,
+ 'date' => $dateTime,
+ 'periods' => $dayPeriod,
+ 'setDateLastN' => true,
+ 'apiModule' => $apiModule,
+ 'apiAction' => $apiAction,
+ 'testSuffix' => '_' . $api . '_lastN')
+ );
+ }
+
+ return $result;
+ }
+
+ public static function getOutputPrefix()
+ {
+ return 'Contents';
+ }
+
+ public static function getPathToTestDirectory()
+ {
+ return dirname(__FILE__);
+ }
+}
+
+ContentsTest::$fixture = new TwoVisitsWithContents(); \ No newline at end of file