قرینه از
https://github.com/matomo-org/matomo.git
synced 2025-08-22 06:57:53 +00:00

* [Coding Style] Enable rule PSR12.Files.FileHeader * Apply CS * Replace Piwik with Matomo in file headers * Unify file headers (position, no. of lines, https links) * Rebuild dist files * Apply CS * Fix system test that relies on line numbers in a file that had the file header updated --------- Co-authored-by: Stefan Giehl <stefan@matomo.org>
103 خطوط
2.4 KiB
PHP
103 خطوط
2.4 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\UserCountry\tests\System;
|
|
|
|
use Piwik\Plugins\UserCountry\tests\Fixtures\ManySitesManyVisitsWithGeoIp;
|
|
use Piwik\Tests\Framework\TestCase\SystemTestCase;
|
|
|
|
/**
|
|
* @group UserCountry2
|
|
* @group ApiTest
|
|
* @group Plugins
|
|
*/
|
|
class ApiTest extends SystemTestCase
|
|
{
|
|
/**
|
|
* @var ManySitesManyVisitsWithGeoIp
|
|
*/
|
|
public static $fixture;
|
|
|
|
/**
|
|
* @dataProvider getApiForTesting
|
|
*/
|
|
public function testApi($api, $params)
|
|
{
|
|
$this->runApiTests($api, $params);
|
|
}
|
|
|
|
public function getApiForTesting()
|
|
{
|
|
$api = [
|
|
'UserCountry.getCountry',
|
|
'UserCountry.getContinent',
|
|
'UserCountry.getRegion',
|
|
'UserCountry.getCity',
|
|
];
|
|
$startDate = substr(self::$fixture->dateTime, 0, 10);
|
|
$endDate = date('Y-m-d', strtotime($startDate) + 3600 * 24 * 2);
|
|
|
|
$apiToTest = array();
|
|
// single period
|
|
$apiToTest[] = array(
|
|
$api,
|
|
array(
|
|
'date' => $startDate,
|
|
'periods' => array('day'),
|
|
'idSite' => 1,
|
|
'testSuffix' => ''
|
|
)
|
|
);
|
|
// multi period
|
|
$apiToTest[] = array(
|
|
$api,
|
|
array(
|
|
'date' => "$startDate,$endDate",
|
|
'periods' => array('day'),
|
|
'idSite' => 1,
|
|
'testSuffix' => 'multi_period'
|
|
)
|
|
);
|
|
// multi sites
|
|
$apiToTest[] = array(
|
|
$api,
|
|
array(
|
|
'date' => "$startDate",
|
|
'periods' => array('month'),
|
|
'idSite' => 'all',
|
|
'testSuffix' => 'multi_sites'
|
|
)
|
|
);
|
|
// multi sites & multi period
|
|
$apiToTest[] = array(
|
|
$api,
|
|
array(
|
|
'date' => "$startDate,$endDate",
|
|
'periods' => array('day'),
|
|
'idSite' => 'all',
|
|
'testSuffix' => 'multi_periods_and_sites'
|
|
)
|
|
);
|
|
|
|
return $apiToTest;
|
|
}
|
|
|
|
public static function getOutputPrefix()
|
|
{
|
|
return '';
|
|
}
|
|
|
|
public static function getPathToTestDirectory()
|
|
{
|
|
return dirname(__FILE__);
|
|
}
|
|
}
|
|
|
|
ApiTest::$fixture = new ManySitesManyVisitsWithGeoIp();
|