summaryrefslogtreecommitdiff
path: root/spec/frontend/content_editor/components
diff options
context:
space:
mode:
Diffstat (limited to 'spec/frontend/content_editor/components')
-rw-r--r--spec/frontend/content_editor/components/content_editor_alert_spec.js (renamed from spec/frontend/content_editor/components/content_editor_error_spec.js)30
-rw-r--r--spec/frontend/content_editor/components/content_editor_spec.js6
-rw-r--r--spec/frontend/content_editor/components/wrappers/table_cell_base_spec.js8
-rw-r--r--spec/frontend/content_editor/components/wrappers/table_cell_body_spec.js8
-rw-r--r--spec/frontend/content_editor/components/wrappers/table_cell_header_spec.js8
5 files changed, 33 insertions, 27 deletions
diff --git a/spec/frontend/content_editor/components/content_editor_error_spec.js b/spec/frontend/content_editor/components/content_editor_alert_spec.js
index 8723fb5a338..2ddcd8f024e 100644
--- a/spec/frontend/content_editor/components/content_editor_error_spec.js
+++ b/spec/frontend/content_editor/components/content_editor_alert_spec.js
@@ -1,11 +1,11 @@
import { GlAlert } from '@gitlab/ui';
import { nextTick } from 'vue';
import { shallowMountExtended } from 'helpers/vue_test_utils_helper';
-import ContentEditorError from '~/content_editor/components/content_editor_error.vue';
+import ContentEditorAlert from '~/content_editor/components/content_editor_alert.vue';
import EditorStateObserver from '~/content_editor/components/editor_state_observer.vue';
import { createTestEditor, emitEditorEvent } from '../test_utils';
-describe('content_editor/components/content_editor_error', () => {
+describe('content_editor/components/content_editor_alert', () => {
let wrapper;
let tiptapEditor;
@@ -14,7 +14,7 @@ describe('content_editor/components/content_editor_error', () => {
const createWrapper = async () => {
tiptapEditor = createTestEditor();
- wrapper = shallowMountExtended(ContentEditorError, {
+ wrapper = shallowMountExtended(ContentEditorAlert, {
provide: {
tiptapEditor,
},
@@ -28,22 +28,28 @@ describe('content_editor/components/content_editor_error', () => {
wrapper.destroy();
});
- it('renders error when content editor emits an error event', async () => {
- const error = 'error message';
+ it.each`
+ variant | message
+ ${'danger'} | ${'An error occurred'}
+ ${'warning'} | ${'A warning'}
+ `(
+ 'renders error when content editor emits an error event for variant: $variant',
+ async ({ message, variant }) => {
+ createWrapper();
- createWrapper();
-
- await emitEditorEvent({ tiptapEditor, event: 'error', params: { error } });
+ await emitEditorEvent({ tiptapEditor, event: 'alert', params: { message, variant } });
- expect(findErrorAlert().text()).toBe(error);
- });
+ expect(findErrorAlert().text()).toBe(message);
+ expect(findErrorAlert().attributes().variant).toBe(variant);
+ },
+ );
it('allows dismissing the error', async () => {
- const error = 'error message';
+ const message = 'error message';
createWrapper();
- await emitEditorEvent({ tiptapEditor, event: 'error', params: { error } });
+ await emitEditorEvent({ tiptapEditor, event: 'alert', params: { message } });
findErrorAlert().vm.$emit('dismiss');
diff --git a/spec/frontend/content_editor/components/content_editor_spec.js b/spec/frontend/content_editor/components/content_editor_spec.js
index 3d1ef03083d..9a772c41e52 100644
--- a/spec/frontend/content_editor/components/content_editor_spec.js
+++ b/spec/frontend/content_editor/components/content_editor_spec.js
@@ -3,7 +3,7 @@ import { EditorContent } from '@tiptap/vue-2';
import { nextTick } from 'vue';
import { shallowMountExtended } from 'helpers/vue_test_utils_helper';
import ContentEditor from '~/content_editor/components/content_editor.vue';
-import ContentEditorError from '~/content_editor/components/content_editor_error.vue';
+import ContentEditorAlert from '~/content_editor/components/content_editor_alert.vue';
import ContentEditorProvider from '~/content_editor/components/content_editor_provider.vue';
import EditorStateObserver from '~/content_editor/components/editor_state_observer.vue';
import FormattingBubbleMenu from '~/content_editor/components/formatting_bubble_menu.vue';
@@ -111,10 +111,10 @@ describe('ContentEditor', () => {
]);
});
- it('renders content_editor_error component', () => {
+ it('renders content_editor_alert component', () => {
createWrapper();
- expect(wrapper.findComponent(ContentEditorError).exists()).toBe(true);
+ expect(wrapper.findComponent(ContentEditorAlert).exists()).toBe(true);
});
describe('when loading content', () => {
diff --git a/spec/frontend/content_editor/components/wrappers/table_cell_base_spec.js b/spec/frontend/content_editor/components/wrappers/table_cell_base_spec.js
index e48f59f6d9c..6017a145a87 100644
--- a/spec/frontend/content_editor/components/wrappers/table_cell_base_spec.js
+++ b/spec/frontend/content_editor/components/wrappers/table_cell_base_spec.js
@@ -11,13 +11,13 @@ jest.mock('prosemirror-tables');
describe('content/components/wrappers/table_cell_base', () => {
let wrapper;
let editor;
- let getPos;
+ let node;
const createWrapper = async (propsData = { cellType: 'td' }) => {
wrapper = shallowMountExtended(TableCellBaseWrapper, {
propsData: {
editor,
- getPos,
+ node,
...propsData,
},
});
@@ -36,7 +36,7 @@ describe('content/components/wrappers/table_cell_base', () => {
const setCurrentPositionInCell = () => {
const { $cursor } = editor.state.selection;
- getPos.mockReturnValue($cursor.pos - $cursor.parentOffset - 1);
+ jest.spyOn($cursor, 'node').mockReturnValue(node);
};
const mockDropdownHide = () => {
/*
@@ -48,7 +48,7 @@ describe('content/components/wrappers/table_cell_base', () => {
};
beforeEach(() => {
- getPos = jest.fn();
+ node = {};
editor = createTestEditor({});
});
diff --git a/spec/frontend/content_editor/components/wrappers/table_cell_body_spec.js b/spec/frontend/content_editor/components/wrappers/table_cell_body_spec.js
index 5d26c44ba03..2aefbc77545 100644
--- a/spec/frontend/content_editor/components/wrappers/table_cell_body_spec.js
+++ b/spec/frontend/content_editor/components/wrappers/table_cell_body_spec.js
@@ -6,19 +6,19 @@ import { createTestEditor } from '../../test_utils';
describe('content/components/wrappers/table_cell_body', () => {
let wrapper;
let editor;
- let getPos;
+ let node;
const createWrapper = async () => {
wrapper = shallowMount(TableCellBodyWrapper, {
propsData: {
editor,
- getPos,
+ node,
},
});
};
beforeEach(() => {
- getPos = jest.fn();
+ node = {};
editor = createTestEditor({});
});
@@ -30,7 +30,7 @@ describe('content/components/wrappers/table_cell_body', () => {
createWrapper();
expect(wrapper.findComponent(TableCellBaseWrapper).props()).toEqual({
editor,
- getPos,
+ node,
cellType: 'td',
});
});
diff --git a/spec/frontend/content_editor/components/wrappers/table_cell_header_spec.js b/spec/frontend/content_editor/components/wrappers/table_cell_header_spec.js
index e561191418d..e48df8734a6 100644
--- a/spec/frontend/content_editor/components/wrappers/table_cell_header_spec.js
+++ b/spec/frontend/content_editor/components/wrappers/table_cell_header_spec.js
@@ -6,19 +6,19 @@ import { createTestEditor } from '../../test_utils';
describe('content/components/wrappers/table_cell_header', () => {
let wrapper;
let editor;
- let getPos;
+ let node;
const createWrapper = async () => {
wrapper = shallowMount(TableCellHeaderWrapper, {
propsData: {
editor,
- getPos,
+ node,
},
});
};
beforeEach(() => {
- getPos = jest.fn();
+ node = {};
editor = createTestEditor({});
});
@@ -30,7 +30,7 @@ describe('content/components/wrappers/table_cell_header', () => {
createWrapper();
expect(wrapper.findComponent(TableCellBaseWrapper).props()).toEqual({
editor,
- getPos,
+ node,
cellType: 'th',
});
});