summaryrefslogtreecommitdiff
path: root/spec/frontend/vue_shared
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2023-03-27 18:15:54 +0000
committerGitLab Bot <gitlab-bot@gitlab.com>2023-03-27 18:15:54 +0000
commitc478950af927edd3cdafbdab68cb98601be2ee8c (patch)
treeb55785ff8bb709d3e6af6f475cc9fd484237f10e /spec/frontend/vue_shared
parente77cb2465fa34b8883987206a42648603d5bf073 (diff)
downloadgitlab-ce-c478950af927edd3cdafbdab68cb98601be2ee8c.tar.gz
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'spec/frontend/vue_shared')
-rw-r--r--spec/frontend/vue_shared/components/markdown/saved_replies_dropdown_spec.js30
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,
+ });
});
});