diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2023-03-27 18:15:54 +0000 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2023-03-27 18:15:54 +0000 |
commit | c478950af927edd3cdafbdab68cb98601be2ee8c (patch) | |
tree | b55785ff8bb709d3e6af6f475cc9fd484237f10e /spec/frontend/vue_shared/components | |
parent | e77cb2465fa34b8883987206a42648603d5bf073 (diff) | |
download | gitlab-ce-c478950af927edd3cdafbdab68cb98601be2ee8c.tar.gz |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'spec/frontend/vue_shared/components')
-rw-r--r-- | spec/frontend/vue_shared/components/markdown/saved_replies_dropdown_spec.js | 30 |
1 files changed, 22 insertions, 8 deletions
diff --git a/spec/frontend/vue_shared/components/markdown/saved_replies_dropdown_spec.js b/spec/frontend/vue_shared/components/markdown/saved_replies_dropdown_spec.js index 8ad9ad30c1d..1b1c30f7739 100644 --- a/spec/frontend/vue_shared/components/markdown/saved_replies_dropdown_spec.js +++ b/spec/frontend/vue_shared/components/markdown/saved_replies_dropdown_spec.js @@ -4,9 +4,13 @@ import savedRepliesResponse from 'test_fixtures/graphql/saved_replies/saved_repl import { mountExtended } from 'helpers/vue_test_utils_helper'; import createMockApollo from 'helpers/mock_apollo_helper'; import waitForPromises from 'helpers/wait_for_promises'; +import { setHTMLFixture, resetHTMLFixture } from 'helpers/fixtures'; +import { updateText } from '~/lib/utils/text_markdown'; import SavedRepliesDropdown from '~/vue_shared/components/markdown/saved_replies_dropdown.vue'; import savedRepliesQuery from '~/vue_shared/components/markdown/saved_replies.query.graphql'; +jest.mock('~/lib/utils/text_markdown'); + let wrapper; let savedRepliesResp; @@ -24,6 +28,7 @@ function createComponent(options = {}) { const { mockApollo } = options; return mountExtended(SavedRepliesDropdown, { + attachTo: '#root', propsData: { newSavedRepliesPath: '/new', }, @@ -32,6 +37,14 @@ function createComponent(options = {}) { } describe('Saved replies dropdown', () => { + beforeEach(() => { + setHTMLFixture('<div class="md-area"><textarea></textarea><div id="root"></div></div>'); + }); + + afterEach(() => { + resetHTMLFixture(); + }); + it('fetches data when dropdown gets opened', async () => { const mockApollo = createMockApolloProvider(savedRepliesResponse); wrapper = createComponent({ mockApollo }); @@ -43,7 +56,7 @@ describe('Saved replies dropdown', () => { expect(savedRepliesResp).toHaveBeenCalled(); }); - it('adds markdown toolbar attributes to dropdown items', async () => { + it('adds content to textarea', async () => { const mockApollo = createMockApolloProvider(savedRepliesResponse); wrapper = createComponent({ mockApollo }); @@ -51,12 +64,13 @@ describe('Saved replies dropdown', () => { await waitForPromises(); - expect(wrapper.findByTestId('saved-reply-dropdown-item').attributes()).toEqual( - expect.objectContaining({ - 'data-md-cursor-offset': '0', - 'data-md-prepend': 'true', - 'data-md-tag': 'Saved Reply Content', - }), - ); + wrapper.find('.gl-new-dropdown-item').trigger('click'); + + expect(updateText).toHaveBeenCalledWith({ + textArea: document.querySelector('textarea'), + tag: savedRepliesResponse.data.currentUser.savedReplies.nodes[0].content, + cursorOffset: 0, + wrap: false, + }); }); }); |