Skip to content
Extraits de code Groupes Projets
TransitionsTest.php 3,23 ko
Newer Older
  • Learn to ignore specific revisions
  • BeezyT's avatar
    BeezyT a validé
    <?php
    
    /**
     * Piwik - free/libre analytics platform
     *
     * @link    http://piwik.org
     * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
     */
    
    use Piwik\Tests\Framework\TestCase\SystemTestCase;
    
    Thomas Steur's avatar
    Thomas Steur a validé
    use Piwik\Tests\Fixtures\SomeVisitsManyPageviewsWithTransitions;
    
    BeezyT's avatar
    BeezyT a validé
    
    /**
     * Tests the transitions plugin.
    
    BeezyT's avatar
    BeezyT a validé
     */
    
    class TransitionsTest extends SystemTestCase
    
    BeezyT's avatar
    BeezyT a validé
    {
    
        public static $fixture = null; // initialized below class definition
    
        /**
         * @dataProvider getApiForTesting
         */
        public function testApi($api, $params)
        {
            $this->runApiTests($api, $params);
        }
    
        public function getApiForTesting()
        {
            $return = array();
            $return[] = array('Transitions.getTransitionsForPageUrl', array(
                'idSite'                 => self::$fixture->idSite,
                'date'                   => self::$fixture->dateTime,
    
                'periods'                => array('day', 'month'),
                'testSuffix'             => '_noLimit',
                'otherRequestParameters' => array(
                    'pageUrl'            => 'http://example.org/page/one.html',
                )
            ));
            $return[] = array('Transitions.getTransitionsForPageTitle', array(
                'idSite'                 => self::$fixture->idSite,
                'date'                   => self::$fixture->dateTime,
                'periods'                => array('day', 'month'),
                'testSuffix'             => '_noLimit',
                'otherRequestParameters' => array(
                    'pageTitle'          => 'page title - page/one.html',
                )
            ));
    
            // test w/ pages that don't exist
            $return[] = array('Transitions.getTransitionsForPageUrl', array(
                'idSite'                 => self::$fixture->idSite,
                'date'                   => self::$fixture->dateTime,
                'periods'                => array('day', 'month'),
                'testSuffix'             => '_noData',
                'otherRequestParameters' => array(
                    'pageUrl'            => 'http://example.org/not/a/page.html',
                )
            ));
            $return[] = array('Transitions.getTransitionsForPageTitle', array(
                'idSite'                 => self::$fixture->idSite,
                'date'                   => self::$fixture->dateTime,
                'periods'                => array('day', 'month'),
                'testSuffix'             => '_noData',
                'otherRequestParameters' => array(
                    'pageTitle'          => 'not a page title',
                )
            ));
    
            $return[] = array('Transitions.getTransitionsForPageUrl', array( // test w/ limiting
                'idSite'                 => self::$fixture->idSite,
                'date'                   => self::$fixture->dateTime,
                'periods'                => array('day', 'month'),
    
                'otherRequestParameters' => array(
                    'pageUrl'             => 'http://example.org/page/one.html',
                    'limitBeforeGrouping' => 2
                )
    
    BeezyT's avatar
    BeezyT a validé
            ));
    
    BeezyT's avatar
    BeezyT a validé
    }
    
    TransitionsTest::$fixture = new SomeVisitsManyPageviewsWithTransitions();