summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFilipa Lacerda <filipa@gitlab.com>2019-01-10 15:15:28 +0000
committerFilipa Lacerda <filipa@gitlab.com>2019-01-10 15:15:28 +0000
commit336070913cee4d88dc62faefc016b6d922d97df8 (patch)
tree36fcfb15389a35e70e2a81a8dbce26f2dae57edb
parentcfa96a839ef39db1fcbf183f0e14d6cdb60d646e (diff)
parent81a52c27c3d4e8db91bd60ce4619b6200dcda3ac (diff)
downloadgitlab-ce-336070913cee4d88dc62faefc016b6d922d97df8.tar.gz
Merge branch 'mr-rebase-failing-tests' into 'master'
Correctly show rebase state in MR widget Closes #45942 See merge request gitlab-org/gitlab-ce!24300
-rw-r--r--app/assets/javascripts/vue_merge_request_widget/stores/get_state_key.js4
-rw-r--r--changelogs/unreleased/mr-rebase-failing-tests.yml5
-rw-r--r--spec/javascripts/vue_mr_widget/stores/get_state_key_spec.js24
3 files changed, 31 insertions, 2 deletions
diff --git a/app/assets/javascripts/vue_merge_request_widget/stores/get_state_key.js b/app/assets/javascripts/vue_merge_request_widget/stores/get_state_key.js
index 066a3b833d7..0cc4fd59f5e 100644
--- a/app/assets/javascripts/vue_merge_request_widget/stores/get_state_key.js
+++ b/app/assets/javascripts/vue_merge_request_widget/stores/get_state_key.js
@@ -13,6 +13,8 @@ export default function deviseState(data) {
return stateKey.conflicts;
} else if (data.work_in_progress) {
return stateKey.workInProgress;
+ } else if (this.shouldBeRebased) {
+ return stateKey.rebase;
} else if (this.onlyAllowMergeIfPipelineSucceeds && this.isPipelineFailed) {
return stateKey.pipelineFailed;
} else if (this.hasMergeableDiscussionsState) {
@@ -25,8 +27,6 @@ export default function deviseState(data) {
return this.mergeError ? stateKey.autoMergeFailed : stateKey.mergeWhenPipelineSucceeds;
} else if (!this.canMerge) {
return stateKey.notAllowedToMerge;
- } else if (this.shouldBeRebased) {
- return stateKey.rebase;
} else if (this.canBeMerged) {
return stateKey.readyToMerge;
}
diff --git a/changelogs/unreleased/mr-rebase-failing-tests.yml b/changelogs/unreleased/mr-rebase-failing-tests.yml
new file mode 100644
index 00000000000..07ae05766b1
--- /dev/null
+++ b/changelogs/unreleased/mr-rebase-failing-tests.yml
@@ -0,0 +1,5 @@
+---
+title: Fixed rebase button not showing in merge request widget
+merge_request:
+author:
+type: fixed
diff --git a/spec/javascripts/vue_mr_widget/stores/get_state_key_spec.js b/spec/javascripts/vue_mr_widget/stores/get_state_key_spec.js
index 61ef26cd080..b356ea85cad 100644
--- a/spec/javascripts/vue_mr_widget/stores/get_state_key_spec.js
+++ b/spec/javascripts/vue_mr_widget/stores/get_state_key_spec.js
@@ -76,4 +76,28 @@ describe('getStateKey', () => {
expect(bound()).toEqual('archived');
});
+
+ it('returns rebased state key', () => {
+ const context = {
+ mergeStatus: 'checked',
+ mergeWhenPipelineSucceeds: false,
+ canMerge: true,
+ onlyAllowMergeIfPipelineSucceeds: true,
+ isPipelineFailed: true,
+ hasMergeableDiscussionsState: false,
+ isPipelineBlocked: false,
+ canBeMerged: false,
+ shouldBeRebased: true,
+ };
+ const data = {
+ project_archived: false,
+ branch_missing: false,
+ commits_count: 2,
+ has_conflicts: false,
+ work_in_progress: false,
+ };
+ const bound = getStateKey.bind(context, data);
+
+ expect(bound()).toEqual('rebase');
+ });
});