diff options
Diffstat (limited to 'plugins/Goals/tests/System/TrackGoalsAllowMultipleConversionsPerVisitTest.php')
-rw-r--r-- | plugins/Goals/tests/System/TrackGoalsAllowMultipleConversionsPerVisitTest.php | 80 |
1 files changed, 80 insertions, 0 deletions
diff --git a/plugins/Goals/tests/System/TrackGoalsAllowMultipleConversionsPerVisitTest.php b/plugins/Goals/tests/System/TrackGoalsAllowMultipleConversionsPerVisitTest.php new file mode 100644 index 0000000000..b553d284cb --- /dev/null +++ b/plugins/Goals/tests/System/TrackGoalsAllowMultipleConversionsPerVisitTest.php @@ -0,0 +1,80 @@ +<?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\Goals\tests\System; + +use Piwik\Plugins\Goals\API; +use Piwik\Tests\Framework\TestCase\SystemTestCase; +use Piwik\Tests\Fixtures\SomeVisitsAllConversions; + +/** + * Tests API methods with goals that do and don't allow multiple + * conversions per visit. + * + * @group TrackGoalsAllowMultipleConversionsPerVisitTest + * @group Plugins + */ +class TrackGoalsAllowMultipleConversionsPerVisitTest extends SystemTestCase +{ + public static $fixture = null; + + /** + * @dataProvider getApiForTesting + */ + public function testApi($api, $params) + { + $this->runApiTests($api, $params); + } + + /** + * @depends testApi + */ + public function testCheck() + { + $idSite = self::$fixture->idSite; + + // test delete is working as expected + $goals = API::getInstance()->getGoals($idSite); + $this->assertTrue(5 == count($goals)); + API::getInstance()->deleteGoal($idSite, self::$fixture->idGoal_OneConversionPerVisit); + API::getInstance()->deleteGoal($idSite, self::$fixture->idGoal_MultipleConversionPerVisit); + $goals = API::getInstance()->getGoals($idSite); + $this->assertTrue(3 == count($goals)); + } + + public function getApiForTesting() + { + $apiToCall = array( + 'VisitTime.getVisitInformationPerServerTime', + 'VisitsSummary.get', + 'Goals.get' + ); + + return array( + array($apiToCall, array('idSite' => self::$fixture->idSite, 'date' => self::$fixture->dateTime)), + array(array('Goals.get'), array( + 'idSite' => self::$fixture->idSite, + 'date' => self::$fixture->dateTime, + 'segment' => 'pageUrl=@/', + 'testSuffix' => '_withLogLinkVisitActionSegment' + )), + + ); + } + + public static function getOutputPrefix() + { + return 'trackGoals_allowMultipleConversionsPerVisit'; + } + + public static function getPathToTestDirectory() + { + return dirname(__FILE__); + } +} + +TrackGoalsAllowMultipleConversionsPerVisitTest::$fixture = new SomeVisitsAllConversions();
\ No newline at end of file |