diff options
Diffstat (limited to 'spec/frontend/pdf/page_spec.js')
-rw-r--r-- | spec/frontend/pdf/page_spec.js | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/spec/frontend/pdf/page_spec.js b/spec/frontend/pdf/page_spec.js new file mode 100644 index 00000000000..4e24b0696ec --- /dev/null +++ b/spec/frontend/pdf/page_spec.js @@ -0,0 +1,39 @@ +import Vue from 'vue'; +import PageComponent from '~/pdf/page/index.vue'; +import mountComponent from 'helpers/vue_mount_component_helper'; + +jest.mock('pdfjs-dist/webpack', () => { + return { default: jest.requireActual('pdfjs-dist/build/pdf') }; +}); + +describe('Page component', () => { + const Component = Vue.extend(PageComponent); + let vm; + + afterEach(() => { + vm.$destroy(); + }); + + it('renders the page when mounting', done => { + const promise = Promise.resolve(); + const testPage = { + render: jest.fn().mockReturnValue({ promise: Promise.resolve() }), + getViewport: jest.fn().mockReturnValue({}), + }; + + vm = mountComponent(Component, { + page: testPage, + number: 1, + }); + + expect(vm.rendering).toBe(true); + + promise + .then(() => { + expect(testPage.render).toHaveBeenCalledWith(vm.renderContext); + expect(vm.rendering).toBe(false); + }) + .then(done) + .catch(done.fail); + }); +}); |