diff options
Diffstat (limited to 'spec/javascripts/ide/components/new_dropdown/upload_spec.js')
-rw-r--r-- | spec/javascripts/ide/components/new_dropdown/upload_spec.js | 112 |
1 files changed, 0 insertions, 112 deletions
diff --git a/spec/javascripts/ide/components/new_dropdown/upload_spec.js b/spec/javascripts/ide/components/new_dropdown/upload_spec.js deleted file mode 100644 index 66ddf6c0ee6..00000000000 --- a/spec/javascripts/ide/components/new_dropdown/upload_spec.js +++ /dev/null @@ -1,112 +0,0 @@ -import Vue from 'vue'; -import createComponent from 'spec/helpers/vue_mount_component_helper'; -import upload from '~/ide/components/new_dropdown/upload.vue'; - -describe('new dropdown upload', () => { - let vm; - - beforeEach(() => { - const Component = Vue.extend(upload); - - vm = createComponent(Component, { - path: '', - }); - - vm.entryName = 'testing'; - - spyOn(vm, '$emit').and.callThrough(); - }); - - afterEach(() => { - vm.$destroy(); - }); - - describe('openFile', () => { - it('calls for each file', () => { - const files = ['test', 'test2', 'test3']; - - spyOn(vm, 'readFile'); - spyOnProperty(vm.$refs.fileUpload, 'files').and.returnValue(files); - - vm.openFile(); - - expect(vm.readFile.calls.count()).toBe(3); - - files.forEach((file, i) => { - expect(vm.readFile.calls.argsFor(i)).toEqual([file]); - }); - }); - }); - - describe('readFile', () => { - beforeEach(() => { - spyOn(FileReader.prototype, 'readAsDataURL'); - }); - - it('calls readAsDataURL for all files', () => { - const file = { - type: 'images/png', - }; - - vm.readFile(file); - - expect(FileReader.prototype.readAsDataURL).toHaveBeenCalledWith(file); - }); - }); - - describe('createFile', () => { - const textTarget = { - result: 'base64,cGxhaW4gdGV4dA==', - }; - const binaryTarget = { - result: 'base64,w4I=', - }; - const textFile = new File(['plain text'], 'textFile'); - - const binaryFile = { - name: 'binaryFile', - type: 'image/png', - }; - - beforeEach(() => { - spyOn(FileReader.prototype, 'readAsText').and.callThrough(); - }); - - it('calls readAsText and creates file in plain text (without encoding) if the file content is plain text', done => { - const waitForCreate = new Promise(resolve => vm.$on('create', resolve)); - - vm.createFile(textTarget, textFile); - - expect(FileReader.prototype.readAsText).toHaveBeenCalledWith(textFile); - - waitForCreate - .then(() => { - expect(vm.$emit).toHaveBeenCalledWith('create', { - name: textFile.name, - type: 'blob', - content: 'plain text', - base64: false, - binary: false, - rawPath: '', - }); - }) - .then(done) - .catch(done.fail); - }); - - it('splits content on base64 if binary', () => { - vm.createFile(binaryTarget, binaryFile); - - expect(FileReader.prototype.readAsText).not.toHaveBeenCalledWith(textFile); - - expect(vm.$emit).toHaveBeenCalledWith('create', { - name: binaryFile.name, - type: 'blob', - content: binaryTarget.result.split('base64,')[1], - base64: true, - binary: true, - rawPath: binaryTarget.result, - }); - }); - }); -}); |