فهرست منبع

AMBARI-10704. Installer showing incorrect error count for enhanced config tab (onechiporenko)

Oleg Nechiporenko 10 سال پیش
والد
کامیت
64cae309c9

+ 1 - 1
ambari-web/app/controllers/main/service/info/configs.js

@@ -179,7 +179,7 @@ App.MainServiceInfoConfigsController = Em.Controller.extend(App.ServerValidatorM
   errorsCount: function () {
     return this.get('selectedService.configs').filter(function (config) {
       return Em.isNone(config.get('widget'));
-    }).filterProperty('isValid', false).length;
+    }).filterProperty('isValid', false).filterProperty('isVisible').length;
   }.property('selectedService.configs.@each.isValid'),
 
   /**

+ 1 - 1
ambari-web/app/controllers/wizard/step7_controller.js

@@ -139,7 +139,7 @@ App.WizardStep7Controller = Em.Controller.extend(App.ServerValidatorMixin, App.E
   errorsCount: function () {
     return this.get('selectedService.configs').filter(function (config) {
       return Em.isNone(config.get('widget'));
-    }).filterProperty('isValid', false).length;
+    }).filterProperty('isValid', false).filterProperty('isVisible').length;
   }.property('selectedService.configs.@each.isValid'),
 
   /**

+ 20 - 4
ambari-web/test/controllers/main/service/info/config_test.js

@@ -1311,10 +1311,26 @@ describe("App.MainServiceInfoConfigsController", function () {
 
       mainServiceInfoConfigsController.reopen({selectedService: {
         configs: [
-          Em.Object.create({widget: Em.View, isValid: false}),
-          Em.Object.create({widget: Em.View, isValid: true}),
-          Em.Object.create({isValid: true}),
-          Em.Object.create({isValid: false})
+          Em.Object.create({isVisible: true, widget: Em.View, isValid: false}),
+          Em.Object.create({isVisible: true, widget: Em.View, isValid: true}),
+          Em.Object.create({isVisible: true, isValid: true}),
+          Em.Object.create({isVisible: true, isValid: false})
+        ]
+      }});
+
+      expect(mainServiceInfoConfigsController.get('errorsCount')).to.equal(1);
+
+    });
+
+    it('should ignore configs with widgets (enhanced configs) and hidden configs', function () {
+
+      mainServiceInfoConfigsController.reopen({selectedService: {
+        configs: [
+          Em.Object.create({isVisible: true, widget: Em.View, isValid: false}),
+          Em.Object.create({isVisible: true, widget: Em.View, isValid: true}),
+          Em.Object.create({isVisible: false, isValid: false}),
+          Em.Object.create({isVisible: true, isValid: true}),
+          Em.Object.create({isVisible: true, isValid: false})
         ]
       }});
 

+ 21 - 5
ambari-web/test/controllers/wizard/step7_test.js

@@ -1958,10 +1958,26 @@ describe('App.InstallerStep7Controller', function () {
 
       installerStep7Controller.reopen({selectedService: {
         configs: [
-          Em.Object.create({widget: Em.View, isValid: false}),
-          Em.Object.create({widget: Em.View, isValid: true}),
-          Em.Object.create({isValid: true}),
-          Em.Object.create({isValid: false})
+          Em.Object.create({isVisible: true, widget: Em.View, isValid: false}),
+          Em.Object.create({isVisible: true, widget: Em.View, isValid: true}),
+          Em.Object.create({isVisible: true, isValid: true}),
+          Em.Object.create({isVisible: true, isValid: false})
+        ]
+      }});
+
+      expect(installerStep7Controller.get('errorsCount')).to.equal(1);
+
+    });
+
+    it('should ignore configs with widgets (enhanced configs) and hidden configs', function () {
+
+      installerStep7Controller.reopen({selectedService: {
+        configs: [
+          Em.Object.create({isVisible: true, widget: Em.View, isValid: false}),
+          Em.Object.create({isVisible: true, widget: Em.View, isValid: true}),
+          Em.Object.create({isVisible: false, isValid: false}),
+          Em.Object.create({isVisible: true, isValid: true}),
+          Em.Object.create({isVisible: true, isValid: false})
         ]
       }});
 
@@ -1971,4 +1987,4 @@ describe('App.InstallerStep7Controller', function () {
 
   });
 
-});
+});