قرینه از
https://github.com/matomo-org/matomo.git
synced 2025-08-22 15:07:44 +00:00

* Disable autosanitize for MultiSites API * Add proper type hints accross MultiSites plugin * cs/ws * Replace Common::getRequestVar with Request class methods * some more type hints * simplify table filter * updates expected UI test file * clean up more code & bring code to phpstan lvl 5 * Add tooltips to table header * small code improvements
125 خطوط
3.3 KiB
PHP
125 خطوط
3.3 KiB
PHP
<?php
|
|
|
|
/**
|
|
* Matomo - free/libre analytics platform
|
|
*
|
|
* @link https://matomo.org
|
|
* @license https://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
|
|
*/
|
|
|
|
namespace Piwik\Plugins\MultiSites\tests\System;
|
|
|
|
use Piwik\Piwik;
|
|
use Piwik\Plugins\MultiSites\tests\Fixtures\ManySitesWithVisits;
|
|
use Piwik\Tests\Framework\TestCase\SystemTestCase;
|
|
|
|
/**
|
|
* @group MultiSites
|
|
* @group ApiTest
|
|
* @group Plugins
|
|
*/
|
|
class ApiTest extends SystemTestCase
|
|
{
|
|
/** @var ManySitesWithVisits */
|
|
public static $fixture = null; // initialized below class definition
|
|
|
|
/**
|
|
* @dataProvider getApiForTesting
|
|
*/
|
|
public function testApi($api, $params)
|
|
{
|
|
$this->runApiTests($api, $params);
|
|
}
|
|
|
|
public function getApiForTesting()
|
|
{
|
|
return [
|
|
[
|
|
'MultiSites.getAllWithGroups',
|
|
[
|
|
'period' => 'day',
|
|
'date' => '2013-01-23',
|
|
'otherRequestParameters' => [
|
|
'filter_limit' => 20,
|
|
],
|
|
'testSuffix' => '',
|
|
],
|
|
],
|
|
[
|
|
'MultiSites.getAllWithGroups',
|
|
[
|
|
'period' => 'day',
|
|
'date' => '2013-01-23',
|
|
'otherRequestParameters' => [
|
|
'filter_limit' => 5,
|
|
],
|
|
'testSuffix' => 'limited',
|
|
],
|
|
],
|
|
[
|
|
'MultiSites.getAllWithGroups',
|
|
[
|
|
'period' => 'day',
|
|
'date' => '2013-01-23',
|
|
'otherRequestParameters' => [
|
|
'filter_limit' => 5,
|
|
'filter_offset' => 4,
|
|
],
|
|
'testSuffix' => 'limitedWithOffset',
|
|
],
|
|
],
|
|
[
|
|
'MultiSites.getAllWithGroups',
|
|
[
|
|
'period' => 'day',
|
|
'date' => '2013-01-23',
|
|
'otherRequestParameters' => [
|
|
'filter_limit' => 5,
|
|
'pattern' => 'Site 1',
|
|
],
|
|
'testSuffix' => 'limitedWithPattern',
|
|
],
|
|
],
|
|
[
|
|
'MultiSites.getAllWithGroups',
|
|
[
|
|
'period' => 'day',
|
|
'date' => '2013-01-23,2013-01-25',
|
|
'otherRequestParameters' => [
|
|
'filter_limit' => 5,
|
|
],
|
|
'testSuffix' => 'multiplePeriods',
|
|
],
|
|
]
|
|
];
|
|
}
|
|
|
|
/**
|
|
* @dataProvider getApiForTesting
|
|
*/
|
|
public function testApiFiltered($api, $params)
|
|
{
|
|
$params['testSuffix'] .= '_filtered';
|
|
|
|
Piwik::addAction('MultiSites.filterSites', function (&$idSites) {
|
|
$idSites = array_filter($idSites, function ($idSite) {
|
|
return $idSite != 2 && $idSite != 10;
|
|
});
|
|
});
|
|
|
|
$this->runApiTests($api, $params);
|
|
}
|
|
|
|
public static function getOutputPrefix()
|
|
{
|
|
return '';
|
|
}
|
|
|
|
public static function getPathToTestDirectory()
|
|
{
|
|
return dirname(__FILE__);
|
|
}
|
|
}
|
|
|
|
ApiTest::$fixture = new ManySitesWithVisits();
|