diff options
Diffstat (limited to 'spec/frontend/diffs/components/inline_findings_spec.js')
-rw-r--r-- | spec/frontend/diffs/components/inline_findings_spec.js | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/spec/frontend/diffs/components/inline_findings_spec.js b/spec/frontend/diffs/components/inline_findings_spec.js new file mode 100644 index 00000000000..71cc6ae49fd --- /dev/null +++ b/spec/frontend/diffs/components/inline_findings_spec.js @@ -0,0 +1,33 @@ +import { mountExtended } from 'helpers/vue_test_utils_helper'; +import InlineFindings from '~/diffs/components/inline_findings.vue'; +import DiffInlineFindings from '~/diffs/components/diff_inline_findings.vue'; +import { NEW_CODE_QUALITY_FINDINGS } from '~/diffs/i18n'; +import { threeCodeQualityFindingsRaw } from '../mock_data/inline_findings'; + +let wrapper; + +const diffInlineFindings = () => wrapper.findComponent(DiffInlineFindings); + +describe('InlineFindings', () => { + const createWrapper = () => { + return mountExtended(InlineFindings, { + propsData: { + codeQuality: threeCodeQualityFindingsRaw, + }, + }); + }; + + it('hides details and throws hideInlineFindings event on close click', async () => { + wrapper = createWrapper(); + expect(wrapper.findByTestId('inline-findings').exists()).toBe(true); + + await wrapper.findByTestId('inline-findings-close').trigger('click'); + expect(wrapper.emitted('hideInlineFindings')).toHaveLength(1); + }); + + it('renders diff inline findings component with correct props for codequality array', () => { + wrapper = createWrapper(); + expect(diffInlineFindings().props('title')).toBe(NEW_CODE_QUALITY_FINDINGS); + expect(diffInlineFindings().props('findings')).toBe(threeCodeQualityFindingsRaw); + }); +}); |