]> source.dussan.org Git - sonarqube.git/commitdiff
fix SONAR-6657 Cannot deactivate just activated rule
authorStas Vilchik <vilchiks@gmail.com>
Tue, 18 Aug 2015 13:39:55 +0000 (15:39 +0200)
committerStas Vilchik <vilchiks@gmail.com>
Tue, 18 Aug 2015 13:39:55 +0000 (15:39 +0200)
server/sonar-web/src/main/js/apps/coding-rules/rule/profile-activation-view.js
server/sonar-web/src/main/js/apps/coding-rules/workspace-list-item-view.js
server/sonar-web/test/medium/coding-rules.spec.js

index a310ce97674f926844b2b921f068264dc168ac1f..87296ca2e0fe55ce7a9b283be9eecb1ee15a9b5d 100644 (file)
@@ -112,7 +112,7 @@ define([
         }
       }).done(function () {
         that.destroy();
-        that.trigger('profileActivated', severity, params);
+        that.trigger('profileActivated', severity, params, profileKey);
       }).fail(function (jqXHR) {
         that.enableForm();
         that.showErrors(jqXHR.responseJSON.errors, jqXHR.responseJSON.warnings);
index b18ba7b52e13de52a55ed0eb79e23439bd18c82b..1041a326de94e3518f042348ac038713ef132173 100644 (file)
@@ -62,10 +62,12 @@ define([
             collection: new Backbone.Collection(othersQualityProfiles),
             app: this.options.app
           });
-      activationView.on('profileActivated', function (severity) {
+      activationView.on('profileActivated', function (severity, params, profile) {
         var activation = {
           severity: severity,
-          inherit: 'NONE'
+          inherit: 'NONE',
+          params: params,
+          qProfile: profile
         };
         that.model.set({ activation: activation });
       });
index cf50688cd965360575017a9ad56d0f02d26eb4f8..1247b6cb763c4bd3e95b31f8bd6c91a0c8b47f18 100644 (file)
@@ -920,5 +920,56 @@ define(function (require) {
           .checkElementExist('.coding-rules-detail-quality-profile-activate')
           .checkElementNotExist('.coding-rules-detail-quality-profile-deactivate');
     });
+
+    bdd.it('should deactivate just activated rule', function () {
+      return this.remote
+          .open()
+          .mockFromString('/api/l10n/index', '{}')
+          .mockFromFile('/api/rules/app', 'coding-rules-spec/app.json')
+          .mockFromFile('/api/rules/search', 'coding-rules-spec/search-inactive.json',
+          { data: { activation: 'false' } })
+          .mockFromFile('/api/rules/search', 'coding-rules-spec/search.json')
+          .mockFromString('/api/qualityprofiles/activate_rule', '{}',
+          {
+            data: {
+              profile_key: 'java-default-with-mojo-conventions-49307',
+              rule_key: 'common-java:FailedUnitTests'
+            }
+          })
+          .mockFromString('/api/qualityprofiles/deactivate_rule', '{}',
+          {
+            data: {
+              profile_key: 'java-default-with-mojo-conventions-49307',
+              rule_key: 'common-java:FailedUnitTests'
+            }
+          })
+          .startApp('coding-rules')
+          .checkElementExist('.coding-rule')
+          .clickElement('[data-property="qprofile"] .js-facet-toggle')
+          .checkElementExist('.js-facet[data-value="java-default-with-mojo-conventions-49307"]')
+          .clickElement('.js-facet[data-value="java-default-with-mojo-conventions-49307"]')
+
+          .clickElement('.js-facet[data-value="java-default-with-mojo-conventions-49307"] .js-inactive')
+          .checkElementNotExist('.coding-rule-activation .icon-severity-major')
+          .checkElementExist('.coding-rules-detail-quality-profile-activate')
+
+          .clickElement('.coding-rules-detail-quality-profile-activate')
+          .checkElementExist('.modal')
+          .checkElementExist('#coding-rules-quality-profile-activation-select')
+          .checkElementCount('#coding-rules-quality-profile-activation-select option', 1)
+          .checkElementExist('#coding-rules-quality-profile-activation-severity')
+          .clickElement('#coding-rules-quality-profile-activation-activate')
+          .checkElementExist('.coding-rule-activation .icon-severity-major')
+          .checkElementExist('.coding-rule-activation .icon-severity-major')
+          .checkElementNotExist('.coding-rules-detail-quality-profile-activate')
+          .checkElementExist('.coding-rules-detail-quality-profile-deactivate')
+
+          .clickElement('.coding-rules-detail-quality-profile-deactivate')
+          .clickElement('[data-confirm="yes"]')
+          .checkElementNotExist('.coding-rule-activation .icon-severity-major')
+          .checkElementNotExist('.coding-rule-activation .icon-severity-major')
+          .checkElementExist('.coding-rules-detail-quality-profile-activate')
+          .checkElementNotExist('.coding-rules-detail-quality-profile-deactivate');
+    });
   });
 });