diff options
Diffstat (limited to 'spec/frontend/vue_mr_widget/stores/get_state_key_spec.js')
-rw-r--r-- | spec/frontend/vue_mr_widget/stores/get_state_key_spec.js | 24 |
1 files changed, 24 insertions, 0 deletions
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 0f5d47b3bfe..e54cd345a37 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 @@ -35,10 +35,12 @@ describe('getStateKey', () => { expect(bound()).toEqual('autoMergeEnabled'); + context.canMerge = true; context.isSHAMismatch = true; expect(bound()).toEqual('shaMismatch'); + context.canMerge = false; context.isPipelineBlocked = true; expect(bound()).toEqual('pipelineBlocked'); @@ -100,4 +102,26 @@ describe('getStateKey', () => { expect(bound()).toEqual('rebase'); }); + + it.each` + canMerge | isSHAMismatch | stateKey + ${true} | ${true} | ${'shaMismatch'} + ${false} | ${true} | ${'notAllowedToMerge'} + ${false} | ${false} | ${'notAllowedToMerge'} + `( + 'returns $stateKey when canMerge is $canMerge and isSHAMismatch is $isSHAMismatch', + ({ canMerge, isSHAMismatch, stateKey }) => { + const bound = getStateKey.bind( + { + canMerge, + isSHAMismatch, + }, + { + commits_count: 2, + }, + ); + + expect(bound()).toEqual(stateKey); + }, + ); }); |