Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2020-10-30 21:08:56 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2020-10-30 21:08:56 +0300
commit98d7cc758fb73239fb957c297446c811ab4150d9 (patch)
tree227a5e8efe35d2ac158e762397609a3f1754b224 /spec/frontend/static_site_editor
parent038366a0932c5f88019cc3db85382f26af3933e7 (diff)
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'spec/frontend/static_site_editor')
-rw-r--r--spec/frontend/static_site_editor/components/edit_area_spec.js2
-rw-r--r--spec/frontend/static_site_editor/mock_data.js1
-rw-r--r--spec/frontend/static_site_editor/services/renderers/render_image_spec.js63
3 files changed, 66 insertions, 0 deletions
diff --git a/spec/frontend/static_site_editor/components/edit_area_spec.js b/spec/frontend/static_site_editor/components/edit_area_spec.js
index 8013e712558..36ace9fdab3 100644
--- a/spec/frontend/static_site_editor/components/edit_area_spec.js
+++ b/spec/frontend/static_site_editor/components/edit_area_spec.js
@@ -16,6 +16,7 @@ import {
sourceContentBody as body,
returnUrl,
mounts,
+ project,
} from '../mock_data';
jest.mock('~/static_site_editor/services/formatter', () => jest.fn(str => `${str} format-pass`));
@@ -33,6 +34,7 @@ describe('~/static_site_editor/components/edit_area.vue', () => {
content,
returnUrl,
mounts,
+ project,
savingChanges,
...propsData,
},
diff --git a/spec/frontend/static_site_editor/mock_data.js b/spec/frontend/static_site_editor/mock_data.js
index ce7c52e8277..956aadb23f3 100644
--- a/spec/frontend/static_site_editor/mock_data.js
+++ b/spec/frontend/static_site_editor/mock_data.js
@@ -27,6 +27,7 @@ export const sourceContentTitle = 'Handbook';
export const username = 'gitlabuser';
export const projectId = '123456';
+export const project = 'user1/project1';
export const returnUrl = 'https://www.gitlab.com';
export const sourcePath = 'foobar.md.html';
export const mergeRequestMeta = {
diff --git a/spec/frontend/static_site_editor/services/renderers/render_image_spec.js b/spec/frontend/static_site_editor/services/renderers/render_image_spec.js
new file mode 100644
index 00000000000..ab375d9e970
--- /dev/null
+++ b/spec/frontend/static_site_editor/services/renderers/render_image_spec.js
@@ -0,0 +1,63 @@
+import imageRenderer from '~/static_site_editor/services/renderers/render_image';
+import { mounts, project } from '../../mock_data';
+
+describe('rich_content_editor/renderers/render_image', () => {
+ let renderer;
+
+ beforeEach(() => {
+ renderer = imageRenderer.build(mounts, project);
+ });
+
+ describe('build', () => {
+ it('builds a renderer object containing `canRender` and `render` functions', () => {
+ expect(renderer).toHaveProperty('canRender', expect.any(Function));
+ expect(renderer).toHaveProperty('render', expect.any(Function));
+ });
+ });
+
+ describe('canRender', () => {
+ it.each`
+ input | result
+ ${{ type: 'image' }} | ${true}
+ ${{ type: 'text' }} | ${false}
+ ${{ type: 'htmlBlock' }} | ${false}
+ `('returns $result when input is $input', ({ input, result }) => {
+ expect(renderer.canRender(input)).toBe(result);
+ });
+ });
+
+ describe('render', () => {
+ let context;
+ let result;
+ const skipChildren = jest.fn();
+
+ beforeEach(() => {
+ const node = {
+ destination: '/some/path/image.png',
+ firstChild: {
+ type: 'img',
+ literal: 'Some Image',
+ },
+ };
+
+ context = { skipChildren };
+ result = renderer.render(node, context);
+ });
+
+ it('invokes `skipChildren`', () => {
+ expect(skipChildren).toHaveBeenCalled();
+ });
+
+ it('returns an image', () => {
+ expect(result).toEqual({
+ type: 'openTag',
+ tagName: 'img',
+ selfClose: true,
+ attributes: {
+ src: '/some/path/image.png',
+ alt: 'Some Image',
+ },
+ });
+ });
+ });
+});