diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2023-04-19 18:19:34 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2023-04-19 18:19:34 +0300 |
commit | b6d63c915a91aeb7a4437349c53e68be8c50cf4e (patch) | |
tree | 8617959c1d6b9137e4cefad06aedbf574295cd6c /spec/frontend/vue_shared/components/markdown | |
parent | 2017bc90a671eac669f0114b6ef508e151409c4f (diff) |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'spec/frontend/vue_shared/components/markdown')
-rw-r--r-- | spec/frontend/vue_shared/components/markdown/suggestions_spec.js | 54 |
1 files changed, 18 insertions, 36 deletions
diff --git a/spec/frontend/vue_shared/components/markdown/suggestions_spec.js b/spec/frontend/vue_shared/components/markdown/suggestions_spec.js index 8f4235cfe41..2fdab40b4bd 100644 --- a/spec/frontend/vue_shared/components/markdown/suggestions_spec.js +++ b/spec/frontend/vue_shared/components/markdown/suggestions_spec.js @@ -1,4 +1,5 @@ -import Vue, { nextTick } from 'vue'; +import { nextTick } from 'vue'; +import { mountExtended } from 'helpers/vue_test_utils_helper'; import SuggestionsComponent from '~/vue_shared/components/markdown/suggestions.vue'; const MOCK_DATA = { @@ -48,56 +49,37 @@ const MOCK_DATA = { }; describe('Suggestion component', () => { - let vm; - let diffTable; + let wrapper; - beforeEach(async () => { - const Component = Vue.extend(SuggestionsComponent); + const createComponent = (props = {}) => { + wrapper = mountExtended(SuggestionsComponent, { + propsData: { + ...MOCK_DATA, + ...props, + }, + }); + }; - vm = new Component({ - propsData: MOCK_DATA, - }).$mount(); + const findSuggestionsContainer = () => wrapper.findByTestId('suggestions-container'); - diffTable = vm.generateDiff(0).$mount().$el; + beforeEach(async () => { + createComponent(); - jest.spyOn(vm, 'renderSuggestions').mockImplementation(() => {}); - vm.renderSuggestions(); await nextTick(); }); describe('mounted', () => { it('renders a flash container', () => { - expect(vm.$el.querySelector('.js-suggestions-flash')).not.toBeNull(); + expect(wrapper.find('.js-suggestions-flash').exists()).toBe(true); }); it('renders a container for suggestions', () => { - expect(vm.$refs.container).not.toBeNull(); + expect(findSuggestionsContainer().exists()).toBe(true); }); it('renders suggestions', () => { - expect(vm.renderSuggestions).toHaveBeenCalled(); - expect(vm.$el.innerHTML.includes('oldtest')).toBe(true); - expect(vm.$el.innerHTML.includes('newtest')).toBe(true); - }); - }); - - describe('generateDiff', () => { - it('generates a diff table', () => { - expect(diffTable.querySelector('.md-suggestion-diff')).not.toBeNull(); - }); - - it('generates a diff table that contains contents the suggested lines', () => { - MOCK_DATA.suggestions[0].diff_lines.forEach((line) => { - const text = line.text.substring(1); - - expect(diffTable.innerHTML.includes(text)).toBe(true); - }); - }); - - it('generates a diff table with the correct line number for each suggested line', () => { - const lines = diffTable.querySelectorAll('.old_line'); - - expect(parseInt([...lines][0].innerHTML, 10)).toBe(5); + expect(findSuggestionsContainer().text()).toContain('oldtest'); + expect(findSuggestionsContainer().text()).toContain('newtest'); }); }); }); |