diff options
Diffstat (limited to 'spec/frontend/repository/components/blob_viewers/lfs_viewer_spec.js')
-rw-r--r-- | spec/frontend/repository/components/blob_viewers/lfs_viewer_spec.js | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/spec/frontend/repository/components/blob_viewers/lfs_viewer_spec.js b/spec/frontend/repository/components/blob_viewers/lfs_viewer_spec.js new file mode 100644 index 00000000000..5caeb85834d --- /dev/null +++ b/spec/frontend/repository/components/blob_viewers/lfs_viewer_spec.js @@ -0,0 +1,41 @@ +import { GlLink, GlSprintf } from '@gitlab/ui'; +import { shallowMount } from '@vue/test-utils'; +import LfsViewer from '~/repository/components/blob_viewers/lfs_viewer.vue'; + +describe('LFS Viewer', () => { + let wrapper; + + const DEFAULT_BLOB_DATA = { + name: 'file_name.js', + rawPath: '/some/file/path', + }; + + const createComponent = () => { + wrapper = shallowMount(LfsViewer, { + propsData: { blob: { ...DEFAULT_BLOB_DATA } }, + stubs: { GlSprintf }, + }); + }; + + const findLink = () => wrapper.findComponent(GlLink); + + beforeEach(() => createComponent()); + + afterEach(() => wrapper.destroy()); + + it('renders the correct text', () => { + expect(wrapper.text()).toBe( + 'This content could not be displayed because it is stored in LFS. You can download it instead.', + ); + }); + + it('renders download link', () => { + const { rawPath, name } = DEFAULT_BLOB_DATA; + + expect(findLink().attributes()).toMatchObject({ + target: '_blank', + href: rawPath, + download: name, + }); + }); +}); |