diff options
Diffstat (limited to 'spec/frontend/vue_merge_request_widget/components/merge_checks_spec.js')
-rw-r--r-- | spec/frontend/vue_merge_request_widget/components/merge_checks_spec.js | 37 |
1 files changed, 27 insertions, 10 deletions
diff --git a/spec/frontend/vue_merge_request_widget/components/merge_checks_spec.js b/spec/frontend/vue_merge_request_widget/components/merge_checks_spec.js index 48c01e3efad..054e90640c5 100644 --- a/spec/frontend/vue_merge_request_widget/components/merge_checks_spec.js +++ b/spec/frontend/vue_merge_request_widget/components/merge_checks_spec.js @@ -136,19 +136,19 @@ describe('Merge request merge checks component', () => { }); it.each` - identifier - ${'conflict'} - ${'discussions_not_resolved'} - ${'need_rebase'} - ${'default'} - `('renders $identifier merge check', async ({ identifier }) => { + identifier | componentName + ${'conflict'} | ${'conflict'} + ${'discussions_not_resolved'} | ${'discussions_not_resolved'} + ${'need_rebase'} | ${'need_rebase'} + ${'policies_denied'} | ${'default'} + `('renders $identifier merge check', async ({ identifier, componentName }) => { shallowMountComponent({ mergeabilityChecks: [{ status: 'failed', identifier }] }); wrapper.findComponent(StateContainer).vm.$emit('toggle'); await waitForPromises(); - const { default: component } = await COMPONENTS[identifier](); + const { default: component } = await COMPONENTS[componentName](); expect(wrapper.findComponent(component).exists()).toBe(true); }); @@ -166,9 +166,9 @@ describe('Merge request merge checks component', () => { it('sorts merge checks', async () => { mountComponent({ mergeabilityChecks: [ - { identifier: 'discussions', status: 'SUCCESS' }, - { identifier: 'discussions', status: 'INACTIVE' }, - { identifier: 'rebase', status: 'FAILED' }, + { identifier: 'discussions_not_resolved', status: 'SUCCESS' }, + { identifier: 'status_checks_must_pass', status: 'INACTIVE' }, + { identifier: 'need_rebase', status: 'FAILED' }, ], }); @@ -184,4 +184,21 @@ describe('Merge request merge checks component', () => { expect.objectContaining({ status: 'SUCCESS' }), ); }); + + it('does not render check component if no message exists', async () => { + mountComponent({ + mergeabilityChecks: [ + { identifier: 'discussions_not_resolved', status: 'SUCCESS' }, + { identifier: 'fakemessage', status: 'FAILED' }, + ], + }); + + await waitForPromises(); + + await wrapper.findByTestId('widget-toggle').trigger('click'); + + const mergeChecks = wrapper.findAllByTestId('merge-check'); + + expect(mergeChecks.length).toBe(1); + }); }); |