diff options
Diffstat (limited to 'spec/javascripts/blob/sketch/index_spec.js')
-rw-r--r-- | spec/javascripts/blob/sketch/index_spec.js | 120 |
1 files changed, 0 insertions, 120 deletions
diff --git a/spec/javascripts/blob/sketch/index_spec.js b/spec/javascripts/blob/sketch/index_spec.js deleted file mode 100644 index 3d3129e10da..00000000000 --- a/spec/javascripts/blob/sketch/index_spec.js +++ /dev/null @@ -1,120 +0,0 @@ -/* eslint-disable no-new, promise/catch-or-return */ -import JSZip from 'jszip'; -import SketchLoader from '~/blob/sketch'; - -describe('Sketch viewer', () => { - const generateZipFileArrayBuffer = (zipFile, resolve, done) => { - zipFile.generateAsync({ type: 'arrayBuffer' }).then(content => { - resolve(content); - - setTimeout(() => { - done(); - }, 100); - }); - }; - - preloadFixtures('static/sketch_viewer.html'); - - beforeEach(() => { - loadFixtures('static/sketch_viewer.html'); - }); - - describe('with error message', () => { - beforeEach(done => { - spyOn(SketchLoader.prototype, 'getZipFile').and.callFake( - () => - new Promise((resolve, reject) => { - reject(); - - setTimeout(() => { - done(); - }); - }), - ); - - new SketchLoader(document.getElementById('js-sketch-viewer')); - }); - - it('renders error message', () => { - expect(document.querySelector('#js-sketch-viewer p')).not.toBeNull(); - - expect(document.querySelector('#js-sketch-viewer p').textContent.trim()).toContain( - 'Cannot show preview.', - ); - }); - - it('removes render the loading icon', () => { - expect(document.querySelector('.js-loading-icon')).toBeNull(); - }); - }); - - describe('success', () => { - beforeEach(done => { - spyOn(SketchLoader.prototype, 'getZipFile').and.callFake( - () => - new Promise(resolve => { - const zipFile = new JSZip(); - zipFile - .folder('previews') - .file( - 'preview.png', - 'iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAMAAAAoyzS7AAAAA1BMVEUAAACnej3aAAAAAXRSTlMAQObYZgAAAA1JREFUeNoBAgD9/wAAAAIAAVMrnDAAAAAASUVORK5CYII=', - { - base64: true, - }, - ); - - generateZipFileArrayBuffer(zipFile, resolve, done); - }), - ); - - new SketchLoader(document.getElementById('js-sketch-viewer')); - }); - - it('does not render error message', () => { - expect(document.querySelector('#js-sketch-viewer p')).toBeNull(); - }); - - it('removes render the loading icon', () => { - expect(document.querySelector('.js-loading-icon')).toBeNull(); - }); - - it('renders preview img', () => { - const img = document.querySelector('#js-sketch-viewer img'); - - expect(img).not.toBeNull(); - expect(img.classList.contains('img-fluid')).toBeTruthy(); - }); - - it('renders link to image', () => { - const img = document.querySelector('#js-sketch-viewer img'); - const link = document.querySelector('#js-sketch-viewer a'); - - expect(link.href).toBe(img.src); - expect(link.target).toBe('_blank'); - }); - }); - - describe('incorrect file', () => { - beforeEach(done => { - spyOn(SketchLoader.prototype, 'getZipFile').and.callFake( - () => - new Promise(resolve => { - const zipFile = new JSZip(); - - generateZipFileArrayBuffer(zipFile, resolve, done); - }), - ); - - new SketchLoader(document.getElementById('js-sketch-viewer')); - }); - - it('renders error message', () => { - expect(document.querySelector('#js-sketch-viewer p')).not.toBeNull(); - - expect(document.querySelector('#js-sketch-viewer p').textContent.trim()).toContain( - 'Cannot show preview.', - ); - }); - }); -}); |