diff options
Diffstat (limited to 'spec/frontend/blob/sketch/index_spec.js')
-rw-r--r-- | spec/frontend/blob/sketch/index_spec.js | 50 |
1 files changed, 25 insertions, 25 deletions
diff --git a/spec/frontend/blob/sketch/index_spec.js b/spec/frontend/blob/sketch/index_spec.js index 7424897b22c..5e1922a24f4 100644 --- a/spec/frontend/blob/sketch/index_spec.js +++ b/spec/frontend/blob/sketch/index_spec.js @@ -1,20 +1,34 @@ -import JSZip from 'jszip'; import SketchLoader from '~/blob/sketch'; - -jest.mock('jszip'); +import { loadHTMLFixture, resetHTMLFixture } from 'helpers/fixtures'; +import waitForPromises from 'helpers/wait_for_promises'; + +jest.mock('jszip', () => { + return { + loadAsync: jest.fn().mockResolvedValue({ + files: { + 'previews/preview.png': { + async: jest.fn().mockResolvedValue('foo'), + }, + }, + }), + }; +}); describe('Sketch viewer', () => { beforeEach(() => { - loadFixtures('static/sketch_viewer.html'); + loadHTMLFixture('static/sketch_viewer.html'); + }); + + afterEach(() => { + resetHTMLFixture(); }); describe('with error message', () => { - beforeEach((done) => { + beforeEach(() => { jest.spyOn(SketchLoader.prototype, 'getZipFile').mockImplementation( () => new Promise((resolve, reject) => { reject(); - done(); }), ); @@ -35,26 +49,12 @@ describe('Sketch viewer', () => { }); describe('success', () => { - beforeEach((done) => { - const loadAsyncMock = { - files: { - 'previews/preview.png': { - async: jest.fn(), - }, - }, - }; - - loadAsyncMock.files['previews/preview.png'].async.mockImplementation( - () => - new Promise((resolve) => { - resolve('foo'); - done(); - }), - ); - + beforeEach(() => { jest.spyOn(SketchLoader.prototype, 'getZipFile').mockResolvedValue(); - jest.spyOn(JSZip, 'loadAsync').mockResolvedValue(loadAsyncMock); - return new SketchLoader(document.getElementById('js-sketch-viewer')); + // eslint-disable-next-line no-new + new SketchLoader(document.getElementById('js-sketch-viewer')); + + return waitForPromises(); }); it('does not render error message', () => { |