diff options
Diffstat (limited to 'spec/javascripts/ide/components/ide_spec.js')
-rw-r--r-- | spec/javascripts/ide/components/ide_spec.js | 125 |
1 files changed, 0 insertions, 125 deletions
diff --git a/spec/javascripts/ide/components/ide_spec.js b/spec/javascripts/ide/components/ide_spec.js deleted file mode 100644 index 4241b994cba..00000000000 --- a/spec/javascripts/ide/components/ide_spec.js +++ /dev/null @@ -1,125 +0,0 @@ -import Vue from 'vue'; -import { createComponentWithStore } from 'spec/helpers/vue_mount_component_helper'; -import store from '~/ide/stores'; -import ide from '~/ide/components/ide.vue'; -import { file, resetStore } from '../helpers'; -import { projectData } from '../mock_data'; - -function bootstrap(projData) { - const Component = Vue.extend(ide); - - store.state.currentProjectId = 'abcproject'; - store.state.currentBranchId = 'master'; - store.state.projects.abcproject = Object.assign({}, projData); - Vue.set(store.state.trees, 'abcproject/master', { - tree: [], - loading: false, - }); - - return createComponentWithStore(Component, store, { - emptyStateSvgPath: 'svg', - noChangesStateSvgPath: 'svg', - committedStateSvgPath: 'svg', - }); -} - -describe('ide component, empty repo', () => { - let vm; - - beforeEach(() => { - const emptyProjData = Object.assign({}, projectData, { empty_repo: true, branches: {} }); - vm = bootstrap(emptyProjData); - vm.$mount(); - }); - - afterEach(() => { - vm.$destroy(); - - resetStore(vm.$store); - }); - - it('renders "New file" button in empty repo', done => { - vm.$nextTick(() => { - expect(vm.$el.querySelector('.ide-empty-state button[title="New file"]')).not.toBeNull(); - done(); - }); - }); -}); - -describe('ide component, non-empty repo', () => { - let vm; - - beforeEach(() => { - vm = bootstrap(projectData); - vm.$mount(); - }); - - afterEach(() => { - vm.$destroy(); - - resetStore(vm.$store); - }); - - it('shows error message when set', done => { - expect(vm.$el.querySelector('.gl-alert')).toBe(null); - - vm.$store.state.errorMessage = { - text: 'error', - }; - - vm.$nextTick(() => { - expect(vm.$el.querySelector('.gl-alert')).not.toBe(null); - - done(); - }); - }); - - describe('onBeforeUnload', () => { - it('returns undefined when no staged files or changed files', () => { - expect(vm.onBeforeUnload()).toBe(undefined); - }); - - it('returns warning text when their are changed files', () => { - vm.$store.state.changedFiles.push(file()); - - expect(vm.onBeforeUnload()).toBe('Are you sure you want to lose unsaved changes?'); - }); - - it('returns warning text when their are staged files', () => { - vm.$store.state.stagedFiles.push(file()); - - expect(vm.onBeforeUnload()).toBe('Are you sure you want to lose unsaved changes?'); - }); - - it('updates event object', () => { - const event = {}; - vm.$store.state.stagedFiles.push(file()); - - vm.onBeforeUnload(event); - - expect(event.returnValue).toBe('Are you sure you want to lose unsaved changes?'); - }); - }); - - describe('non-existent branch', () => { - it('does not render "New file" button for non-existent branch when repo is not empty', done => { - vm.$nextTick(() => { - expect(vm.$el.querySelector('.ide-empty-state button[title="New file"]')).toBeNull(); - done(); - }); - }); - }); - - describe('branch with files', () => { - beforeEach(() => { - store.state.trees['abcproject/master'].tree = [file()]; - }); - - it('does not render "New file" button', done => { - vm.$nextTick(() => { - expect(vm.$el.querySelector('.ide-empty-state button[title="New file"]')).toBeNull(); - done(); - }); - }); - }); -}); |