Selaa lähdekoodia

AMBARI-9236 Rolling Upgrade: sort order gets reversed after dismissing and clicking on "Upgrade: In Process" link. (atkach)

Andrii Tkach 10 vuotta sitten
vanhempi
commit
9c82bd8a3d

+ 2 - 0
ambari-web/app/controllers/main/admin/stack_and_upgrade_controller.js

@@ -243,9 +243,11 @@ App.MainAdminStackAndUpgradeController = Em.Controller.extend(App.LocalStorage,
         oldItem.set('tasks', tasks);
         upgradeItems.pushObject(oldItem);
       });
+      upgradeItems.reverse();
       oldGroup.set('upgradeItems', upgradeItems);
       upgradeGroups.pushObject(oldGroup);
     });
+    upgradeGroups.reverse();
     this.set('upgradeData', Em.Object.create({
       upgradeGroups: upgradeGroups,
       Upgrade: newData.Upgrade

+ 1 - 7
ambari-web/app/views/main/admin/stack_upgrade/upgrade_wizard_view.js

@@ -78,13 +78,7 @@ App.upgradeWizardView = Em.View.extend({
    * @type {Array}
    */
   upgradeGroups: function () {
-    if (Em.isNone(this.get('controller.upgradeData.upgradeGroups'))) return [];
-    var upgradeGroups = this.get('controller.upgradeData.upgradeGroups');
-    upgradeGroups.forEach(function (group) {
-      group.get('upgradeItems').reverse();
-    });
-    upgradeGroups.reverse();
-    return upgradeGroups;
+    return this.get('controller.upgradeData.upgradeGroups') || [];
   }.property('controller.upgradeData.upgradeGroups'),
 
   /**

+ 25 - 3
ambari-web/test/controllers/main/admin/stack_and_upgrade_controller_test.js

@@ -359,16 +359,38 @@ describe('App.MainAdminStackAndUpgradeController', function() {
                     }
                   }
                 ]
+              },
+              {
+                UpgradeItem: {
+                  stage_id: 2
+                },
+                tasks: [
+                  {
+                    Tasks: {
+                      id: 2
+                    }
+                  }
+                ]
               }
             ]
+          },
+          {
+            UpgradeGroup: {
+              group_id: 2
+            },
+            upgrade_items: [
+
+            ]
           }
         ]
       };
       controller.initUpgradeData(newData);
       expect(controller.get('upgradeData.Upgrade.request_id')).to.equal(1);
-      expect(controller.get('upgradeData.upgradeGroups')[0].get('group_id')).to.equal(1);
-      expect(controller.get('upgradeData.upgradeGroups')[0].get('upgradeItems')[0].get('stage_id')).to.equal(1);
-      expect(controller.get('upgradeData.upgradeGroups')[0].get('upgradeItems')[0].get('tasks')[0].get('id')).to.equal(1);
+      expect(controller.get('upgradeData.upgradeGroups')[0].get('group_id')).to.equal(2);
+      expect(controller.get('upgradeData.upgradeGroups')[1].get('group_id')).to.equal(1);
+      expect(controller.get('upgradeData.upgradeGroups')[1].get('upgradeItems')[0].get('stage_id')).to.equal(2);
+      expect(controller.get('upgradeData.upgradeGroups')[1].get('upgradeItems')[1].get('stage_id')).to.equal(1);
+      expect(controller.get('upgradeData.upgradeGroups')[1].get('upgradeItems')[0].get('tasks')[0].get('id')).to.equal(2);
     });
   });