From 4c358f8ee89cddc977c8f1d9329c5ae22a0475c9 Mon Sep 17 00:00:00 2001 From: Stas Vilchik Date: Tue, 18 Aug 2015 15:39:55 +0200 Subject: [PATCH] fix SONAR-6657 Cannot deactivate just activated rule --- .../rule/profile-activation-view.js | 2 +- .../coding-rules/workspace-list-item-view.js | 6 ++- .../test/medium/coding-rules.spec.js | 51 +++++++++++++++++++ 3 files changed, 56 insertions(+), 3 deletions(-) diff --git a/server/sonar-web/src/main/js/apps/coding-rules/rule/profile-activation-view.js b/server/sonar-web/src/main/js/apps/coding-rules/rule/profile-activation-view.js index a310ce97674..87296ca2e0f 100644 --- a/server/sonar-web/src/main/js/apps/coding-rules/rule/profile-activation-view.js +++ b/server/sonar-web/src/main/js/apps/coding-rules/rule/profile-activation-view.js @@ -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); diff --git a/server/sonar-web/src/main/js/apps/coding-rules/workspace-list-item-view.js b/server/sonar-web/src/main/js/apps/coding-rules/workspace-list-item-view.js index b18ba7b52e1..1041a326de9 100644 --- a/server/sonar-web/src/main/js/apps/coding-rules/workspace-list-item-view.js +++ b/server/sonar-web/src/main/js/apps/coding-rules/workspace-list-item-view.js @@ -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 }); }); diff --git a/server/sonar-web/test/medium/coding-rules.spec.js b/server/sonar-web/test/medium/coding-rules.spec.js index cf50688cd96..1247b6cb763 100644 --- a/server/sonar-web/test/medium/coding-rules.spec.js +++ b/server/sonar-web/test/medium/coding-rules.spec.js @@ -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'); + }); }); }); -- 2.39.5