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 a2ee0bc3ca18f6d625ce1351cfe9ceb2ac22fa59..44e8167d6a3c909b3ba731721ab1d7d126b5b7ed 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 @@ -11,12 +11,12 @@ export default function deviseState(data) { return stateKey.checking; } else if (data.has_conflicts) { 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 (data.work_in_progress) { + return stateKey.workInProgress; } else if (this.hasMergeableDiscussionsState) { return stateKey.unresolvedDiscussions; } else if (this.isPipelineBlocked) { diff --git a/changelogs/unreleased/mr-rebase-button-move-to-bottom.yml b/changelogs/unreleased/mr-rebase-button-move-to-bottom.yml new file mode 100644 index 0000000000000000000000000000000000000000..45191e55ab81fe50e15deb5fa0a15658c371eef5 --- /dev/null +++ b/changelogs/unreleased/mr-rebase-button-move-to-bottom.yml @@ -0,0 +1,5 @@ +--- +title: Check WIP status after all other possible statuses +merge_request: 36624 +author: +type: changed diff --git a/spec/frontend/vue_mr_widget/stores/get_state_key_spec.js b/spec/frontend/vue_mr_widget/stores/get_state_key_spec.js index e54cd345a37d4cb630d976dd33de156fc8357013..1cb2c6c669b9409c54af84c4aefa35ace8acd300 100644 --- a/spec/frontend/vue_mr_widget/stores/get_state_key_spec.js +++ b/spec/frontend/vue_mr_widget/stores/get_state_key_spec.js @@ -49,14 +49,18 @@ describe('getStateKey', () => { expect(bound()).toEqual('unresolvedDiscussions'); + data.work_in_progress = true; + + expect(bound()).toEqual('workInProgress'); + context.onlyAllowMergeIfPipelineSucceeds = true; context.isPipelineFailed = true; expect(bound()).toEqual('pipelineFailed'); - data.work_in_progress = true; + context.shouldBeRebased = true; - expect(bound()).toEqual('workInProgress'); + expect(bound()).toEqual('rebase'); data.has_conflicts = true;