]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-5856 fix default value for boolean fields
authorStas Vilchik <vilchiks@gmail.com>
Thu, 22 Sep 2016 09:45:44 +0000 (11:45 +0200)
committerStas Vilchik <vilchiks@gmail.com>
Thu, 22 Sep 2016 09:45:53 +0000 (11:45 +0200)
server/sonar-web/src/main/js/apps/settings/__tests__/utils-test.js
server/sonar-web/src/main/js/apps/settings/utils.js

index 4a401058aff45822fc86adf5d7016841414d15be..6e27ddf53009568802bfe0f1d96683147d4f609b 100644 (file)
@@ -17,7 +17,7 @@
  * along with this program; if not, write to the Free Software Foundation,
  * Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
  */
-import { getEmptyValue } from '../utils';
+import { getEmptyValue, getDefaultValue } from '../utils';
 import { TYPE_PROPERTY_SET, TYPE_STRING, TYPE_SINGLE_SELECT_LIST, TYPE_BOOLEAN } from '../constants';
 
 const fields = [
@@ -41,3 +41,15 @@ describe('#getEmptyValue()', () => {
     expect(getEmptyValue(setting)).toEqual([null]);
   });
 });
+
+describe('#getDefaultValue()', () => {
+  const check = (parentValue, expected) => {
+    const setting = { definition: { type: TYPE_BOOLEAN }, parentValue };
+    expect(getDefaultValue(setting)).toEqual(expected);
+  };
+
+  it('should work for boolean field when passing true', () => check(true, 'settings.boolean.true'));
+  it('should work for boolean field when passing "true"', () => check('true', 'settings.boolean.true'));
+  it('should work for boolean field when passing false', () => check(false, 'settings.boolean.false'));
+  it('should work for boolean field when passing "false"', () => check('false', 'settings.boolean.false'));
+});
index 5b40e2ed999d24ad617d3efa7352f4b0c0cfedb7..7814c009c14fe9929272781c121630a8ea7b28d4 100644 (file)
@@ -133,7 +133,8 @@ export function getDefaultValue (setting) {
   }
 
   if (setting.definition.type === TYPE_BOOLEAN) {
-    return parentValue ? translate('settings.boolean.true') : translate('settings.boolean.false');
+    const isTrue = parentValue === true || parentValue === 'true';
+    return isTrue ? translate('settings.boolean.true') : translate('settings.boolean.false');
   }
 
   return parentValue;