diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2020-06-15 15:08:44 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2020-06-15 15:08:44 +0300 |
commit | 67441623767b3084d594288408bb078b2eb9f83e (patch) | |
tree | 0593430be110f1cbf67531081b0b8e5784efa6e4 /spec/javascripts | |
parent | b109901317f810e6708d4165e52b334b70297beb (diff) |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'spec/javascripts')
-rw-r--r-- | spec/javascripts/dropzone_input_spec.js | 109 | ||||
-rw-r--r-- | spec/javascripts/pdf/index_spec.js | 58 | ||||
-rw-r--r-- | spec/javascripts/pdf/page_spec.js | 49 | ||||
-rw-r--r-- | spec/javascripts/performance_bar/index_spec.js | 80 |
4 files changed, 0 insertions, 296 deletions
diff --git a/spec/javascripts/dropzone_input_spec.js b/spec/javascripts/dropzone_input_spec.js deleted file mode 100644 index 6f6f20ccca2..00000000000 --- a/spec/javascripts/dropzone_input_spec.js +++ /dev/null @@ -1,109 +0,0 @@ -import $ from 'jquery'; -import { TEST_HOST } from 'spec/test_constants'; -import dropzoneInput from '~/dropzone_input'; -import PasteMarkdownTable from '~/behaviors/markdown/paste_markdown_table'; - -const TEST_FILE = new File([], 'somefile.jpg'); -TEST_FILE.upload = {}; - -const TEST_UPLOAD_PATH = `${TEST_HOST}/upload/file`; -const TEST_ERROR_MESSAGE = 'A big error occurred!'; -const TEMPLATE = `<form class="gfm-form" data-uploads-path="${TEST_UPLOAD_PATH}"> - <textarea class="js-gfm-input"></textarea> - <div class="uploading-error-message"></div> -</form>`; - -describe('dropzone_input', () => { - it('returns null when failed to initialize', () => { - const dropzone = dropzoneInput($('<form class="gfm-form"></form>')); - - expect(dropzone).toBeNull(); - }); - - it('returns valid dropzone when successfully initialize', () => { - const dropzone = dropzoneInput($(TEMPLATE)); - - expect(dropzone.version).toBeTruthy(); - }); - - describe('handlePaste', () => { - beforeEach(() => { - loadFixtures('issues/new-issue.html'); - - const form = $('#new_issue'); - form.data('uploads-path', TEST_UPLOAD_PATH); - dropzoneInput(form); - }); - - it('pastes Markdown tables', () => { - const event = $.Event('paste'); - const origEvent = new Event('paste'); - const pasteData = new DataTransfer(); - pasteData.setData('text/plain', 'Hello World'); - pasteData.setData('text/html', '<table><tr><td>Hello World</td></tr></table>'); - origEvent.clipboardData = pasteData; - event.originalEvent = origEvent; - - spyOn(PasteMarkdownTable.prototype, 'isTable').and.callThrough(); - spyOn(PasteMarkdownTable.prototype, 'convertToTableMarkdown').and.callThrough(); - - $('.js-gfm-input').trigger(event); - - expect(PasteMarkdownTable.prototype.isTable).toHaveBeenCalled(); - expect(PasteMarkdownTable.prototype.convertToTableMarkdown).toHaveBeenCalled(); - }); - }); - - describe('shows error message', () => { - let form; - let dropzone; - let xhr; - let oldXMLHttpRequest; - - beforeEach(() => { - form = $(TEMPLATE); - - dropzone = dropzoneInput(form); - - xhr = jasmine.createSpyObj(Object.keys(XMLHttpRequest.prototype)); - oldXMLHttpRequest = window.XMLHttpRequest; - window.XMLHttpRequest = () => xhr; - }); - - afterEach(() => { - window.XMLHttpRequest = oldXMLHttpRequest; - }); - - it('when AJAX fails with json', () => { - xhr = { - ...xhr, - statusCode: 400, - readyState: 4, - responseText: JSON.stringify({ message: TEST_ERROR_MESSAGE }), - getResponseHeader: () => 'application/json', - }; - - dropzone.processFile(TEST_FILE); - - xhr.onload(); - - expect(form.find('.uploading-error-message').text()).toEqual(TEST_ERROR_MESSAGE); - }); - - it('when AJAX fails with text', () => { - xhr = { - ...xhr, - statusCode: 400, - readyState: 4, - responseText: TEST_ERROR_MESSAGE, - getResponseHeader: () => 'text/plain', - }; - - dropzone.processFile(TEST_FILE); - - xhr.onload(); - - expect(form.find('.uploading-error-message').text()).toEqual(TEST_ERROR_MESSAGE); - }); - }); -}); diff --git a/spec/javascripts/pdf/index_spec.js b/spec/javascripts/pdf/index_spec.js deleted file mode 100644 index 39cd4dacd70..00000000000 --- a/spec/javascripts/pdf/index_spec.js +++ /dev/null @@ -1,58 +0,0 @@ -import Vue from 'vue'; - -import { FIXTURES_PATH } from 'spec/test_constants'; -import PDFLab from '~/pdf/index.vue'; - -const pdf = `${FIXTURES_PATH}/blob/pdf/test.pdf`; - -const Component = Vue.extend(PDFLab); - -describe('PDF component', () => { - let vm; - - const checkLoaded = done => { - if (vm.loading) { - setTimeout(() => { - checkLoaded(done); - }, 100); - } else { - done(); - } - }; - - describe('without PDF data', () => { - beforeEach(done => { - vm = new Component({ - propsData: { - pdf: '', - }, - }); - - vm.$mount(); - - checkLoaded(done); - }); - - it('does not render', () => { - expect(vm.$el.tagName).toBeUndefined(); - }); - }); - - describe('with PDF data', () => { - beforeEach(done => { - vm = new Component({ - propsData: { - pdf, - }, - }); - - vm.$mount(); - - checkLoaded(done); - }); - - it('renders pdf component', () => { - expect(vm.$el.tagName).toBeDefined(); - }); - }); -}); diff --git a/spec/javascripts/pdf/page_spec.js b/spec/javascripts/pdf/page_spec.js deleted file mode 100644 index cc2cc204ee3..00000000000 --- a/spec/javascripts/pdf/page_spec.js +++ /dev/null @@ -1,49 +0,0 @@ -import Vue from 'vue'; -import pdfjsLib from 'pdfjs-dist/webpack'; - -import mountComponent from 'spec/helpers/vue_mount_component_helper'; -import { FIXTURES_PATH } from 'spec/test_constants'; -import PageComponent from '~/pdf/page/index.vue'; - -const testPDF = `${FIXTURES_PATH}/blob/pdf/test.pdf`; - -describe('Page component', () => { - const Component = Vue.extend(PageComponent); - let vm; - let testPage; - - beforeEach(done => { - pdfjsLib - .getDocument(testPDF) - .promise.then(pdf => pdf.getPage(1)) - .then(page => { - testPage = page; - }) - .then(done) - .catch(done.fail); - }); - - afterEach(() => { - vm.$destroy(); - }); - - it('renders the page when mounting', done => { - const promise = Promise.resolve(); - spyOn(testPage, 'render').and.returnValue({ promise }); - - 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); - }); -}); diff --git a/spec/javascripts/performance_bar/index_spec.js b/spec/javascripts/performance_bar/index_spec.js deleted file mode 100644 index 3957edce9e0..00000000000 --- a/spec/javascripts/performance_bar/index_spec.js +++ /dev/null @@ -1,80 +0,0 @@ -import MockAdapter from 'axios-mock-adapter'; -import axios from '~/lib/utils/axios_utils'; -import '~/performance_bar/components/performance_bar_app.vue'; -import performanceBar from '~/performance_bar'; -import PerformanceBarService from '~/performance_bar/services/performance_bar_service'; - -describe('performance bar wrapper', () => { - let mock; - let vm; - - beforeEach(() => { - const peekWrapper = document.createElement('div'); - - peekWrapper.setAttribute('id', 'js-peek'); - peekWrapper.setAttribute('data-env', 'development'); - peekWrapper.setAttribute('data-request-id', '123'); - peekWrapper.setAttribute('data-peek-url', '/-/peek/results'); - peekWrapper.setAttribute('data-profile-url', '?lineprofiler=true'); - - document.body.appendChild(peekWrapper); - - mock = new MockAdapter(axios); - - mock.onGet('/-/peek/results').reply( - 200, - { - data: { - gc: { - invokes: 0, - invoke_time: '0.00', - use_size: 0, - total_size: 0, - total_object: 0, - gc_time: '0.00', - }, - host: { hostname: 'web-01' }, - }, - }, - {}, - ); - - vm = performanceBar({ container: '#js-peek' }); - }); - - afterEach(() => { - vm.$destroy(); - mock.restore(); - }); - - describe('loadRequestDetails', () => { - beforeEach(() => { - spyOn(vm.store, 'addRequest').and.callThrough(); - }); - - it('does nothing if the request cannot be tracked', () => { - spyOn(vm.store, 'canTrackRequest').and.callFake(() => false); - - vm.loadRequestDetails('123', 'https://gitlab.com/'); - - expect(vm.store.addRequest).not.toHaveBeenCalled(); - }); - - it('adds the request immediately', () => { - vm.loadRequestDetails('123', 'https://gitlab.com/'); - - expect(vm.store.addRequest).toHaveBeenCalledWith('123', 'https://gitlab.com/'); - }); - - it('makes an HTTP request for the request details', () => { - spyOn(PerformanceBarService, 'fetchRequestDetails').and.callThrough(); - - vm.loadRequestDetails('456', 'https://gitlab.com/'); - - expect(PerformanceBarService.fetchRequestDetails).toHaveBeenCalledWith( - '/-/peek/results', - '456', - ); - }); - }); -}); |