<?php /** * Piwik - Open source web analytics * * @link http://piwik.org * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later */ /** * testing a segment containing all supported fields */ class Test_Piwik_Integration_TwoVisitsWithCustomVariables_SegmentMatchNONE extends IntegrationTestCase { public static $fixture = null; // initialized below class definition /** * @dataProvider getApiForTesting * @group Integration * @group TwoVisitsWithCustomVariables_SegmentMatchNONE */ public function testApi($api, $params) { $this->runApiTests($api, $params); } public function getApiForTesting() { $apiToCall = array('VisitsSummary.get', 'CustomVariables.getCustomVariables'); return array( array($apiToCall, array('idSite' => 'all', 'date' => self::$fixture->dateTime, 'periods' => array('day', 'week'), 'setDateLastN' => true, 'segment' => $this->getSegmentToTest())) ); } public function getSegmentToTest() { // Segment matching NONE $segments = Piwik_API_API::getInstance()->getSegmentsMetadata(self::$fixture->idSite); $segmentExpression = array(); $seenVisitorId = false; foreach ($segments as $segment) { $value = 'campaign'; if ($segment['segment'] == 'visitorId') { $seenVisitorId = true; $value = '34c31e04394bdc63'; } if ($segment['segment'] == 'visitEcommerceStatus') { $value = 'none'; } $segmentExpression[] = $segment['segment'] . '!=' . $value; } $segment = implode(";", $segmentExpression); // just checking that this segment was tested (as it has the only visible to admin flag) $this->assertTrue($seenVisitorId); $this->assertGreaterThan(100, strlen($segment)); return $segment; } public function getOutputPrefix() { return 'twoVisitsWithCustomVariables_segmentMatchNONE'; } } Test_Piwik_Integration_TwoVisitsWithCustomVariables_SegmentMatchNONE::$fixture = new Test_Piwik_Fixture_TwoVisitsWithCustomVariables(); Test_Piwik_Integration_TwoVisitsWithCustomVariables_SegmentMatchNONE::$fixture->doExtraQuoteTests = false;