Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/matomo-org/matomo.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'tests/PHPUnit/Integration/Settings/BaseSettingsTestCase.php')
-rw-r--r--tests/PHPUnit/Integration/Settings/BaseSettingsTestCase.php38
1 files changed, 38 insertions, 0 deletions
diff --git a/tests/PHPUnit/Integration/Settings/BaseSettingsTestCase.php b/tests/PHPUnit/Integration/Settings/BaseSettingsTestCase.php
index 4a91af3a1c..2d56a0dce7 100644
--- a/tests/PHPUnit/Integration/Settings/BaseSettingsTestCase.php
+++ b/tests/PHPUnit/Integration/Settings/BaseSettingsTestCase.php
@@ -11,6 +11,7 @@ namespace Piwik\Tests\Integration\Settings;
use Piwik\Db;
use Piwik\Piwik;
use Piwik\Settings\FieldConfig;
+use Piwik\Settings\Setting;
/**
* @group PluginSettings
@@ -122,4 +123,41 @@ class BaseSettingsTestCase extends IntegrationTestCase
return $this->settings->makeSetting($name, $default = '', $type, function () {});
}
+ public function test_addSetting_shouldAddNewSetting()
+ {
+ $settingName = 'testSetting';
+ $setting = $this->buildSetting($settingName);
+ $settings = $this->createSettingsInstance();
+
+ $this->assertEmpty($settings->getSetting($settingName));
+
+ $settings->addSetting($setting);
+
+ $this->assertSame($setting, $settings->getSetting($settingName));
+ }
+
+ /**
+ * @expectedException \Exception
+ * @expectedExceptionMessage "testSetting" does already exist
+ */
+ public function test_addSetting_throwsException_IfSameSettingAddedTwice()
+ {
+ $settingName = 'testSetting';
+ $setting = $this->buildSetting($settingName);
+ $settings = $this->createSettingsInstance();
+
+ $settings->addSetting($setting);
+ $settings->addSetting($setting);
+ }
+
+ private function buildSetting($name, $type = null, $default = '')
+ {
+ if (!isset($type)) {
+ $type = FieldConfig::TYPE_STRING;
+ }
+
+ $userSetting = new Setting($name, $default, $type, 'MyPluginName');
+
+ return $userSetting;
+ }
}