Commit f944e9a4 authored by Jacques Erasmus's avatar Jacques Erasmus

Merge branch '324339-pdf-blob-viewer' into 'master'

Blob refactor: Use PDF Viewer when vewing a PDF blob

See merge request gitlab-org/gitlab!75469
parents 65db0ee1 eb578529
......@@ -12,6 +12,8 @@ export const loadViewer = (type) => {
return () => import(/* webpackChunkName: 'blob_image_viewer' */ './image_viewer.vue');
case 'video':
return () => import(/* webpackChunkName: 'blob_video_viewer' */ './video_viewer.vue');
case 'pdf':
return () => import(/* webpackChunkName: 'blob_pdf_viewer' */ './pdf_viewer.vue');
default:
return null;
}
......@@ -36,5 +38,8 @@ export const viewerProps = (type, blob) => {
video: {
url: blob.rawPath,
},
pdf: {
url: blob.rawPath,
},
}[type];
};
<script>
import PdfViewer from '~/blob/pdf/pdf_viewer.vue';
export default {
components: { PdfViewer },
props: {
url: {
type: String,
required: true,
},
},
};
</script>
<template>
<pdf-viewer :pdf="url" />
</template>
import { shallowMount } from '@vue/test-utils';
import Component from '~/repository/components/blob_viewers/pdf_viewer.vue';
import PdfViewer from '~/blob/pdf/pdf_viewer.vue';
describe('PDF Viewer', () => {
let wrapper;
const propsData = { url: 'some/pdf_blob.pdf' };
const createComponent = () => {
wrapper = shallowMount(Component, { propsData });
};
const findPDFViewer = () => wrapper.findComponent(PdfViewer);
it('renders a PDF Viewer component', () => {
createComponent();
expect(findPDFViewer().exists()).toBe(true);
expect(findPDFViewer().props('pdf')).toBe(propsData.url);
});
});
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment