Download plugins/CustomVariables/tests/Integration/CustomVariablesTest.php from Leon4gr45/matomo: direct link, hf CLI and curl.
- Browser
- Download file 3.42 kB
-
https://huggingface.co/spaces/Leon4gr45/matomo/resolve/main/plugins/CustomVariables/tests/Integration/CustomVariablesTest.php
- Command line
-
hf download hf://spaces/Leon4gr45/matomo/plugins/CustomVariables/tests/Integration/CustomVariablesTest.php
-
curl -L -o CustomVariablesTest.php https://huggingface.co/spaces/Leon4gr45/matomo/resolve/main/plugins/CustomVariables/tests/Integration/CustomVariablesTest.php
3.42 kB
| /** | |
| * Matomo - free/libre analytics platform | |
| * | |
| * @link https://matomo.org | |
| * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later | |
| */ | |
| namespace Piwik\Plugins\CustomVariables\tests\Integration; | |
| use Piwik\Plugins\CustomVariables\CustomVariables; | |
| use Piwik\Plugins\CustomVariables\Model; | |
| use Piwik\Tracker\Cache; | |
| use Piwik\Tests\Framework\TestCase\IntegrationTestCase; | |
| /** | |
| * @group CustomVariables | |
| * @group CustomVariablesTest | |
| * @group Plugins | |
| */ | |
| class CustomVariablesTest extends IntegrationTestCase | |
| { | |
| public function test_getNumUsableCustomVariables_ShouldDetectCorrectNumberOfVariables() | |
| { | |
| Cache::clearCacheGeneral(); | |
| $this->assertSame(5, CustomVariables::getNumUsableCustomVariables()); | |
| } | |
| public function test_getNumUsableCustomVariables_ShouldCacheTheResult() | |
| { | |
| CustomVariables::getNumUsableCustomVariables(); | |
| $cache = Cache::getCacheGeneral(); | |
| $this->assertSame(5, $cache[CustomVariables::MAX_NUM_CUSTOMVARS_CACHEKEY]); | |
| } | |
| public function test_getNumUsableCustomVariables_ShouldReadFromCacheIfPossible() | |
| { | |
| $cache = Cache::getCacheGeneral(); | |
| $cache[CustomVariables::MAX_NUM_CUSTOMVARS_CACHEKEY] = 10; | |
| Cache::setCacheGeneral($cache); | |
| $this->assertSame(10, CustomVariables::getNumUsableCustomVariables()); | |
| } | |
| public function test_getNumUsableCustomVariables_ShouldReturnMinVariables_IfOneTableHasLessEntriesThanOthers() | |
| { | |
| $this->assertEquals(5, CustomVariables::getNumUsableCustomVariables()); | |
| $scopes = Model::getScopes(); | |
| // removing custom vars step by step... as soon as one custom var is removed, | |
| // it should return the min count of available variables | |
| for ($i = 4; $i != -1; $i--) { | |
| foreach ($scopes as $scope) { | |
| $this->dropCustomVar($scope); | |
| $this->assertSame($i, CustomVariables::getNumUsableCustomVariables()); | |
| } | |
| } | |
| $this->assertEquals(0, CustomVariables::getNumUsableCustomVariables()); | |
| // add custom var, only once all custom vars are written it should write return a higher custom var number | |
| for ($i = 1; $i != 7; $i++) { | |
| foreach ($scopes as $index => $scope) { | |
| $isLastIndex = $index === (count($scopes) - 1); | |
| $this->addCustomVar($scope); | |
| if ($isLastIndex) { | |
| $this->assertSame($i, CustomVariables::getNumUsableCustomVariables()); | |
| // all scopes have been added, it should consider all custom var counts | |
| } else { | |
| $this->assertSame($i - 1, CustomVariables::getNumUsableCustomVariables()); | |
| // at least one scope is not added and should therefore return the old custom var count until all | |
| // tables have been updated | |
| } | |
| } | |
| } | |
| $this->assertEquals(6, CustomVariables::getNumUsableCustomVariables()); | |
| } | |
| private function dropCustomVar($scope) | |
| { | |
| $this->clearCache(); | |
| $model = new Model($scope); | |
| $model->removeCustomVariable(); | |
| } | |
| private function addCustomVar($scope) | |
| { | |
| $this->clearCache(); | |
| $model = new Model($scope); | |
| $model->addCustomVariable(); | |
| } | |
| private function clearCache() | |
| { | |
| Cache::clearCacheGeneral(); | |
| } | |
| } | |