diff options
Diffstat (limited to 'plugins/CustomDimensions/tests/Commands/InfoTest.php')
m--------- | plugins/CustomDimensions | 0 | ||||
-rw-r--r-- | plugins/CustomDimensions/tests/Commands/InfoTest.php | 81 |
2 files changed, 81 insertions, 0 deletions
diff --git a/plugins/CustomDimensions b/plugins/CustomDimensions deleted file mode 160000 -Subproject 318661a2fb1ef3b3e5d6d999ae8b9628cb5a113 diff --git a/plugins/CustomDimensions/tests/Commands/InfoTest.php b/plugins/CustomDimensions/tests/Commands/InfoTest.php new file mode 100644 index 0000000000..ad47473fea --- /dev/null +++ b/plugins/CustomDimensions/tests/Commands/InfoTest.php @@ -0,0 +1,81 @@ +<?php +/** + * 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\CustomDimensions\tests\Commands; + +use Piwik\Plugins\CustomDimensions\Commands\Info; +use Piwik\Plugins\CustomDimensions\CustomDimensions; +use Piwik\Plugins\CustomDimensions\Dao\LogTable; +use Symfony\Component\Console\Application; +use Symfony\Component\Console\Tester\CommandTester; +use Piwik\Tests\Framework\TestCase\IntegrationTestCase; + +/** + * @group CustomDimensions + * @group CustomDimensionsTest + * @group Plugins + * @group Plugins + */ +class InfoTest extends IntegrationTestCase +{ + public function testExecute_ShouldOutputInfoSuccess_IfEverythingIsOk() + { + $output = $this->executeCommand(); + + self::assertStringContainsString('./console customdimensions:add-custom-dimension --scope=visit" +Installed indexes are: +1 to remove this Custom Dimension execute ./console customdimensions:remove-custom-dimension --scope=visit --index=1 +2 to remove this Custom Dimension execute ./console customdimensions:remove-custom-dimension --scope=visit --index=2 +3 to remove this Custom Dimension execute ./console customdimensions:remove-custom-dimension --scope=visit --index=3 +4 to remove this Custom Dimension execute ./console customdimensions:remove-custom-dimension --scope=visit --index=4 +5 to remove this Custom Dimension execute ./console customdimensions:remove-custom-dimension --scope=visit --index=5 + +5 Custom Dimensions available in scope "action" +To add a Custom Dimension execute "./console customdimensions:add-custom-dimension --scope=action" +Installed indexes are: +1 to remove this Custom Dimension execute ./console customdimensions:remove-custom-dimension --scope=action --index=1 +2 to remove this Custom Dimension execute ./console customdimensions:remove-custom-dimension --scope=action --index=2 +3 to remove this Custom Dimension execute ./console customdimensions:remove-custom-dimension --scope=action --index=3 +4 to remove this Custom Dimension execute ./console customdimensions:remove-custom-dimension --scope=action --index=4 +5 to remove this Custom Dimension execute ./console customdimensions:remove-custom-dimension --scope=action --index=5 + +5 Custom Dimensions available in scope "conversion" +Custom Dimensions are automatically added via the scope "visit" and cannot be added manually +Installed indexes are: +1 to remove this Custom Dimension execute ./console customdimensions:remove-custom-dimension --scope=conversion --index=1 +2 to remove this Custom Dimension execute ./console customdimensions:remove-custom-dimension --scope=conversion --index=2 +3 to remove this Custom Dimension execute ./console customdimensions:remove-custom-dimension --scope=conversion --index=3 +4 to remove this Custom Dimension execute ./console customdimensions:remove-custom-dimension --scope=conversion --index=4 +5 to remove this Custom Dimension execute ./console customdimensions:remove-custom-dimension --scope=conversion --index=5', + $output); + } + + public function testExecute_ShouldOutputErrorMessage_IfColumnsDoNotMatch() + { + $model = new LogTable(CustomDimensions::SCOPE_CONVERSION); + $model->removeCustomDimension(5); + + self::assertStringContainsString('We found an error, Custom Dimensions in scope "conversion" are not correctly installed. Execute the following command to repair it: +./console customdimensions:add-custom-dimension --scope=conversion --count=1', $this->executeCommand()); + } + + private function executeCommand() + { + $infoCmd = new Info(); + + $application = new Application(); + $application->add($infoCmd); + $commandTester = new CommandTester($infoCmd); + + $commandTester->execute(array('command' => $infoCmd->getName())); + $result = $commandTester->getDisplay(); + + return $result; + } +} |