Skip to content
Snippets Groups Projects
Verified Commit af22ddaf authored by Phil Hughes's avatar Phil Hughes
Browse files

updated file references in specs

parent f527e6e1
No related branches found
No related tags found
No related merge requests found
Showing
with 145 additions and 104 deletions
Loading
Loading
@@ -30,9 +30,9 @@ export const setLastCommitMessage = ({ rootState, commit }, data) => {
const currentProject = rootState.projects[rootState.currentProjectId];
const commitStats = data.stats
? sprintf(__('with %{additions} additions, %{deletions} deletions.'), {
additions: data.stats.additions,
deletions: data.stats.deletions,
})
additions: data.stats.additions, // eslint-disable-line indent
deletions: data.stats.deletions, // eslint-disable-line indent
}) // eslint-disable-line indent
: '';
const commitMsg = sprintf(
__('Your changes have been committed. Commit %{commitId} %{commitStats}'),
Loading
Loading
import Vue from 'vue';
import changedFileIcon from 'ee/ide/components/changed_file_icon.vue';
import changedFileIcon from '~/ide/components/changed_file_icon.vue';
import createComponent from 'spec/helpers/vue_mount_component_helper';
 
describe('IDE changed file icon', () => {
Loading
Loading
import Vue from 'vue';
import store from 'ee/ide/stores';
import commitActions from 'ee/ide/components/commit_sidebar/actions.vue';
import store from '~/ide/stores';
import commitActions from '~/ide/components/commit_sidebar/actions.vue';
import { createComponentWithStore } from 'spec/helpers/vue_mount_component_helper';
import { resetStore } from 'spec/ide/helpers';
 
describe('IDE commit sidebar actions', () => {
let vm;
 
beforeEach((done) => {
beforeEach(done => {
const Component = Vue.extend(commitActions);
 
vm = createComponentWithStore(Component, store);
Loading
Loading
import Vue from 'vue';
import store from 'ee/ide/stores';
import listCollapsed from 'ee/ide/components/commit_sidebar/list_collapsed.vue';
import store from '~/ide/stores';
import listCollapsed from '~/ide/components/commit_sidebar/list_collapsed.vue';
import { createComponentWithStore } from 'spec/helpers/vue_mount_component_helper';
import { file } from '../../helpers';
 
Loading
Loading
import Vue from 'vue';
import listItem from 'ee/ide/components/commit_sidebar/list_item.vue';
import router from 'ee/ide/ide_router';
import listItem from '~/ide/components/commit_sidebar/list_item.vue';
import router from '~/ide/ide_router';
import mountComponent from 'spec/helpers/vue_mount_component_helper';
import { file } from '../../helpers';
 
Loading
Loading
@@ -23,7 +23,9 @@ describe('Multi-file editor commit sidebar list item', () => {
});
 
it('renders file path', () => {
expect(vm.$el.querySelector('.multi-file-commit-list-path').textContent.trim()).toBe(f.path);
expect(
vm.$el.querySelector('.multi-file-commit-list-path').textContent.trim(),
).toBe(f.path);
});
 
it('calls discardFileChanges when clicking discard button', () => {
Loading
Loading
import Vue from 'vue';
import store from 'ee/ide/stores';
import commitSidebarList from 'ee/ide/components/commit_sidebar/list.vue';
import store from '~/ide/stores';
import commitSidebarList from '~/ide/components/commit_sidebar/list.vue';
import { createComponentWithStore } from 'spec/helpers/vue_mount_component_helper';
import { file } from '../../helpers';
 
Loading
Loading
@@ -25,7 +25,7 @@ describe('Multi-file editor commit sidebar list', () => {
});
 
describe('with a list of files', () => {
beforeEach((done) => {
beforeEach(done => {
const f = file('file name');
f.changed = true;
vm.fileList.push(f);
Loading
Loading
@@ -39,7 +39,7 @@ describe('Multi-file editor commit sidebar list', () => {
});
 
describe('collapsed', () => {
beforeEach((done) => {
beforeEach(done => {
vm.$store.state.rightPanelCollapsed = true;
 
Vue.nextTick(done);
Loading
Loading
import Vue from 'vue';
import store from 'ee/ide/stores';
import radioGroup from 'ee/ide/components/commit_sidebar/radio_group.vue';
import store from '~/ide/stores';
import radioGroup from '~/ide/components/commit_sidebar/radio_group.vue';
import { createComponentWithStore } from 'spec/helpers/vue_mount_component_helper';
import { resetStore } from 'spec/ide/helpers';
 
describe('IDE commit sidebar radio group', () => {
let vm;
 
beforeEach((done) => {
beforeEach(done => {
const Component = Vue.extend(radioGroup);
 
store.state.commit.commitAction = '2';
Loading
Loading
@@ -33,7 +33,7 @@ describe('IDE commit sidebar radio group', () => {
expect(vm.$el.textContent).toContain('test');
});
 
it('uses slot if label is not present', (done) => {
it('uses slot if label is not present', done => {
vm.$destroy();
 
vm = new Vue({
Loading
Loading
@@ -59,7 +59,7 @@ describe('IDE commit sidebar radio group', () => {
});
});
 
it('updates store when changing radio button', (done) => {
it('updates store when changing radio button', done => {
vm.$el.querySelector('input').dispatchEvent(new Event('change'));
 
Vue.nextTick(() => {
Loading
Loading
@@ -69,7 +69,7 @@ describe('IDE commit sidebar radio group', () => {
});
});
 
it('renders helpText tooltip', (done) => {
it('renders helpText tooltip', done => {
vm.helpText = 'help text';
 
Vue.nextTick(() => {
Loading
Loading
@@ -83,7 +83,7 @@ describe('IDE commit sidebar radio group', () => {
});
 
describe('with input', () => {
beforeEach((done) => {
beforeEach(done => {
vm.$destroy();
 
const Component = Vue.extend(radioGroup);
Loading
Loading
@@ -106,7 +106,7 @@ describe('IDE commit sidebar radio group', () => {
expect(vm.$el.querySelector('.form-control')).not.toBeNull();
});
 
it('hides input when commitAction doesnt match value', (done) => {
it('hides input when commitAction doesnt match value', done => {
store.state.commit.commitAction = '2';
 
Vue.nextTick(() => {
Loading
Loading
@@ -115,7 +115,7 @@ describe('IDE commit sidebar radio group', () => {
});
});
 
it('updates branch name in store on input', (done) => {
it('updates branch name in store on input', done => {
const input = vm.$el.querySelector('.form-control');
input.value = 'testing-123';
input.dispatchEvent(new Event('input'));
Loading
Loading
import Vue from 'vue';
import store from 'ee/ide/stores';
import ideContextBar from 'ee/ide/components/ide_context_bar.vue';
import store from '~/ide/stores';
import ideContextBar from '~/ide/components/ide_context_bar.vue';
import { createComponentWithStore } from 'spec/helpers/vue_mount_component_helper';
 
describe('Multi-file editor right context bar', () => {
Loading
Loading
@@ -24,7 +24,7 @@ describe('Multi-file editor right context bar', () => {
});
 
describe('collapsed', () => {
beforeEach((done) => {
beforeEach(done => {
vm.$store.state.rightPanelCollapsed = true;
 
Vue.nextTick(done);
Loading
Loading
import Vue from 'vue';
import ideExternalLinks from 'ee/ide/components/ide_external_links.vue';
import ideExternalLinks from '~/ide/components/ide_external_links.vue';
import createComponent from 'spec/helpers/vue_mount_component_helper';
 
describe('ide external links component', () => {
Loading
Loading
import Vue from 'vue';
import ideRepoTree from 'ee/ide/components/ide_repo_tree.vue';
import ideRepoTree from '~/ide/components/ide_repo_tree.vue';
import createComponent from '../../helpers/vue_mount_component_helper';
import { file } from '../helpers';
 
Loading
Loading
@@ -29,11 +29,13 @@ describe('IdeRepoTree', () => {
expect(vm.$el.querySelector('.file')).not.toBeNull();
});
 
it('renders 3 loading files if tree is loading', (done) => {
it('renders 3 loading files if tree is loading', done => {
tree.loading = true;
 
vm.$nextTick(() => {
expect(vm.$el.querySelectorAll('.multi-file-loading-container').length).toEqual(3);
expect(
vm.$el.querySelectorAll('.multi-file-loading-container').length,
).toEqual(3);
 
done();
});
Loading
Loading
import Vue from 'vue';
import store from 'ee/ide/stores';
import ideSidebar from 'ee/ide/components/ide_side_bar.vue';
import store from '~/ide/stores';
import ideSidebar from '~/ide/components/ide_side_bar.vue';
import { createComponentWithStore } from 'spec/helpers/vue_mount_component_helper';
import { resetStore } from '../helpers';
 
Loading
Loading
@@ -20,15 +20,21 @@ describe('IdeSidebar', () => {
});
 
it('renders a sidebar', () => {
expect(vm.$el.querySelector('.multi-file-commit-panel-inner')).not.toBeNull();
expect(
vm.$el.querySelector('.multi-file-commit-panel-inner'),
).not.toBeNull();
});
 
it('renders loading icon component', (done) => {
it('renders loading icon component', done => {
vm.$store.state.loading = true;
 
vm.$nextTick(() => {
expect(vm.$el.querySelector('.multi-file-loading-container')).not.toBeNull();
expect(vm.$el.querySelectorAll('.multi-file-loading-container').length).toBe(3);
expect(
vm.$el.querySelector('.multi-file-loading-container'),
).not.toBeNull();
expect(
vm.$el.querySelectorAll('.multi-file-loading-container').length,
).toBe(3);
 
done();
});
Loading
Loading
import Vue from 'vue';
import store from 'ee/ide/stores';
import ide from 'ee/ide/components/ide.vue';
import store from '~/ide/stores';
import ide from '~/ide/components/ide.vue';
import { createComponentWithStore } from 'spec/helpers/vue_mount_component_helper';
import { file, resetStore } from '../helpers';
 
Loading
Loading
@@ -27,7 +27,7 @@ describe('ide component', () => {
expect(vm.$el.querySelector('.panel-right')).toBeNull();
});
 
it('renders panel right when files are open', (done) => {
it('renders panel right when files are open', done => {
vm.$store.state.trees['abcproject/mybranch'] = {
tree: [file()],
};
Loading
Loading
import Vue from 'vue';
import store from 'ee/ide/stores';
import newDropdown from 'ee/ide/components/new_dropdown/index.vue';
import store from '~/ide/stores';
import newDropdown from '~/ide/components/new_dropdown/index.vue';
import { createComponentWithStore } from 'spec/helpers/vue_mount_component_helper';
import { resetStore } from '../../helpers';
 
Loading
Loading
import Vue from 'vue';
import modal from 'ee/ide/components/new_dropdown/modal.vue';
import modal from '~/ide/components/new_dropdown/modal.vue';
import createComponent from 'spec/helpers/vue_mount_component_helper';
 
describe('new file modal component', () => {
Loading
Loading
@@ -10,7 +10,7 @@ describe('new file modal component', () => {
vm.$destroy();
});
 
['tree', 'blob'].forEach((type) => {
['tree', 'blob'].forEach(type => {
describe(type, () => {
beforeEach(() => {
vm = createComponent(Component, {
Loading
Loading
@@ -25,19 +25,25 @@ describe('new file modal component', () => {
it(`sets modal title as ${type}`, () => {
const title = type === 'tree' ? 'directory' : 'file';
 
expect(vm.$el.querySelector('.modal-title').textContent.trim()).toBe(`Create new ${title}`);
expect(vm.$el.querySelector('.modal-title').textContent.trim()).toBe(
`Create new ${title}`,
);
});
 
it(`sets button label as ${type}`, () => {
const title = type === 'tree' ? 'directory' : 'file';
 
expect(vm.$el.querySelector('.btn-success').textContent.trim()).toBe(`Create ${title}`);
expect(vm.$el.querySelector('.btn-success').textContent.trim()).toBe(
`Create ${title}`,
);
});
 
it(`sets form label as ${type}`, () => {
const title = type === 'tree' ? 'Directory' : 'File';
 
expect(vm.$el.querySelector('.label-light').textContent.trim()).toBe(`${title} name`);
expect(vm.$el.querySelector('.label-light').textContent.trim()).toBe(
`${title} name`,
);
});
 
describe('createEntryInStore', () => {
Loading
Loading
@@ -59,11 +65,15 @@ describe('new file modal component', () => {
it('focuses field on mount', () => {
document.body.innerHTML += '<div class="js-test"></div>';
 
vm = createComponent(Component, {
type: 'tree',
branchId: 'master',
path: '',
}, '.js-test');
vm = createComponent(
Component,
{
type: 'tree',
branchId: 'master',
path: '',
},
'.js-test',
);
 
expect(document.activeElement).toBe(vm.$refs.fieldName);
 
Loading
Loading
import Vue from 'vue';
import upload from 'ee/ide/components/new_dropdown/upload.vue';
import upload from '~/ide/components/new_dropdown/upload.vue';
import createComponent from 'spec/helpers/vue_mount_component_helper';
 
describe('new dropdown upload', () => {
Loading
Loading
import Vue from 'vue';
import store from 'ee/ide/stores';
import service from 'ee/ide/services';
import repoCommitSection from 'ee/ide/components/repo_commit_section.vue';
import store from '~/ide/stores';
import service from '~/ide/services';
import repoCommitSection from '~/ide/components/repo_commit_section.vue';
import { createComponentWithStore } from 'spec/helpers/vue_mount_component_helper';
import getSetTimeoutPromise from 'spec/helpers/set_timeout_promise_helper';
import { file, resetStore } from '../helpers';
Loading
Loading
@@ -31,30 +31,35 @@ describe('RepoCommitSection', () => {
vm.$store.state.rightPanelCollapsed = false;
vm.$store.state.currentBranch = 'master';
vm.$store.state.changedFiles = [file('file1'), file('file2')];
vm.$store.state.changedFiles.forEach(f => Object.assign(f, {
changed: true,
content: 'testing',
}));
vm.$store.state.changedFiles.forEach(f =>
Object.assign(f, {
changed: true,
content: 'testing',
}),
);
 
return vm.$mount();
}
 
beforeEach((done) => {
beforeEach(done => {
vm = createComponent();
 
spyOn(service, 'getTreeData').and.returnValue(Promise.resolve({
headers: {
'page-title': 'test',
},
json: () => Promise.resolve({
last_commit_path: 'last_commit_path',
parent_tree_url: 'parent_tree_url',
path: '/',
trees: [{ name: 'tree' }],
blobs: [{ name: 'blob' }],
submodules: [{ name: 'submodule' }],
spyOn(service, 'getTreeData').and.returnValue(
Promise.resolve({
headers: {
'page-title': 'test',
},
json: () =>
Promise.resolve({
last_commit_path: 'last_commit_path',
parent_tree_url: 'parent_tree_url',
path: '/',
trees: [{ name: 'tree' }],
blobs: [{ name: 'blob' }],
submodules: [{ name: 'submodule' }],
}),
}),
}));
);
 
Vue.nextTick(done);
});
Loading
Loading
@@ -75,27 +80,35 @@ describe('RepoCommitSection', () => {
committedStateSvgPath: 'svg',
}).$mount();
 
expect(vm.$el.querySelector('.js-empty-state').textContent.trim()).toContain('No changes');
expect(vm.$el.querySelector('.js-empty-state img').getAttribute('src')).toBe('nochangessvg');
expect(
vm.$el.querySelector('.js-empty-state').textContent.trim(),
).toContain('No changes');
expect(
vm.$el.querySelector('.js-empty-state img').getAttribute('src'),
).toBe('nochangessvg');
});
});
 
it('renders a commit section', () => {
const changedFileElements = [...vm.$el.querySelectorAll('.multi-file-commit-list li')];
const changedFileElements = [
...vm.$el.querySelectorAll('.multi-file-commit-list li'),
];
const submitCommit = vm.$el.querySelector('form .btn');
 
expect(vm.$el.querySelector('.multi-file-commit-form')).not.toBeNull();
expect(changedFileElements.length).toEqual(2);
 
changedFileElements.forEach((changedFile, i) => {
expect(changedFile.textContent.trim()).toContain(vm.$store.state.changedFiles[i].path);
expect(changedFile.textContent.trim()).toContain(
vm.$store.state.changedFiles[i].path,
);
});
 
expect(submitCommit.disabled).toBeTruthy();
expect(submitCommit.querySelector('.fa-spinner.fa-spin')).toBeNull();
});
 
it('updates commitMessage in store on input', (done) => {
it('updates commitMessage in store on input', done => {
const textarea = vm.$el.querySelector('textarea');
 
textarea.value = 'testing commit message';
Loading
Loading
@@ -104,7 +117,9 @@ describe('RepoCommitSection', () => {
 
getSetTimeoutPromise()
.then(() => {
expect(vm.$store.state.commit.commitMessage).toBe('testing commit message');
expect(vm.$store.state.commit.commitMessage).toBe(
'testing commit message',
);
})
.then(done)
.catch(done.fail);
Loading
Loading
@@ -112,10 +127,12 @@ describe('RepoCommitSection', () => {
 
describe('discard draft button', () => {
it('hidden when commitMessage is empty', () => {
expect(vm.$el.querySelector('.multi-file-commit-form .btn-default')).toBeNull();
expect(
vm.$el.querySelector('.multi-file-commit-form .btn-default'),
).toBeNull();
});
 
it('resets commitMessage when clicking discard button', (done) => {
it('resets commitMessage when clicking discard button', done => {
vm.$store.state.commit.commitMessage = 'testing commit message';
 
getSetTimeoutPromise()
Loading
Loading
@@ -124,7 +141,9 @@ describe('RepoCommitSection', () => {
})
.then(Vue.nextTick)
.then(() => {
expect(vm.$store.state.commit.commitMessage).not.toBe('testing commit message');
expect(vm.$store.state.commit.commitMessage).not.toBe(
'testing commit message',
);
})
.then(done)
.catch(done.fail);
Loading
Loading
@@ -136,7 +155,7 @@ describe('RepoCommitSection', () => {
spyOn(vm, 'commitChanges');
});
 
it('calls commitChanges', (done) => {
it('calls commitChanges', done => {
vm.$store.state.commit.commitMessage = 'testing commit message';
 
getSetTimeoutPromise()
Loading
Loading
import Vue from 'vue';
import store from 'ee/ide/stores';
import repoEditor from 'ee/ide/components/repo_editor.vue';
import monacoLoader from 'ee/ide/monaco_loader';
import Editor from 'ee/ide/lib/editor';
import store from '~/ide/stores';
import repoEditor from '~/ide/components/repo_editor.vue';
import monacoLoader from '~/ide/monaco_loader';
import Editor from '~/ide/lib/editor';
import { createComponentWithStore } from '../../helpers/vue_mount_component_helper';
import { file, resetStore } from '../helpers';
 
describe('RepoEditor', () => {
let vm;
 
beforeEach((done) => {
beforeEach(done => {
const f = file();
const RepoEditor = Vue.extend(repoEditor);
 
Loading
Loading
@@ -39,7 +39,7 @@ describe('RepoEditor', () => {
Editor.editorInstance.modelManager.dispose();
});
 
it('renders an ide container', (done) => {
it('renders an ide container', done => {
Vue.nextTick(() => {
expect(vm.shouldHideEditor).toBeFalsy();
 
Loading
Loading
@@ -48,7 +48,7 @@ describe('RepoEditor', () => {
});
 
describe('when open file is binary and not raw', () => {
beforeEach((done) => {
beforeEach(done => {
vm.file.binary = true;
 
vm.$nextTick(done);
Loading
Loading
@@ -64,7 +64,7 @@ describe('RepoEditor', () => {
});
 
describe('createEditorInstance', () => {
it('calls createInstance when viewer is editor', (done) => {
it('calls createInstance when viewer is editor', done => {
spyOn(vm.editor, 'createInstance');
 
vm.createEditorInstance();
Loading
Loading
@@ -76,7 +76,7 @@ describe('RepoEditor', () => {
});
});
 
it('calls createDiffInstance when viewer is diff', (done) => {
it('calls createDiffInstance when viewer is diff', done => {
vm.$store.state.viewer = 'diff';
 
spyOn(vm.editor, 'createDiffInstance');
Loading
Loading
@@ -124,7 +124,7 @@ describe('RepoEditor', () => {
expect(vm.model.events.size).toBe(1);
});
 
it('updates state when model content changed', (done) => {
it('updates state when model content changed', done => {
vm.model.setValue('testing 123');
 
setTimeout(() => {
Loading
Loading
import Vue from 'vue';
import repoFileButtons from 'ee/ide/components/repo_file_buttons.vue';
import repoFileButtons from '~/ide/components/repo_file_buttons.vue';
import createVueComponent from '../../helpers/vue_mount_component_helper';
import { file } from '../helpers';
 
Loading
Loading
@@ -23,7 +23,7 @@ describe('RepoFileButtons', () => {
vm.$destroy();
});
 
it('renders Raw, Blame, History, Permalink and Preview toggle', (done) => {
it('renders Raw, Blame, History, Permalink and Preview toggle', done => {
vm = createComponent();
 
vm.$nextTick(() => {
Loading
Loading
@@ -37,7 +37,9 @@ describe('RepoFileButtons', () => {
expect(blame.textContent.trim()).toEqual('Blame');
expect(history.href).toMatch(`/${activeFile.commitsPath}`);
expect(history.textContent.trim()).toEqual('History');
expect(vm.$el.querySelector('.permalink').textContent.trim()).toEqual('Permalink');
expect(vm.$el.querySelector('.permalink').textContent.trim()).toEqual(
'Permalink',
);
 
done();
});
Loading
Loading
import Vue from 'vue';
import store from 'ee/ide/stores';
import repoFile from 'ee/ide/components/repo_file.vue';
import router from 'ee/ide/ide_router';
import store from '~/ide/stores';
import repoFile from '~/ide/components/repo_file.vue';
import router from '~/ide/ide_router';
import { createComponentWithStore } from '../../helpers/vue_mount_component_helper';
import { file } from '../helpers';
 
Loading
Loading
import Vue from 'vue';
import store from 'ee/ide/stores';
import repoLoadingFile from 'ee/ide/components/repo_loading_file.vue';
import store from '~/ide/stores';
import repoLoadingFile from '~/ide/components/repo_loading_file.vue';
import { resetStore } from '../helpers';
 
describe('RepoLoadingFile', () => {
Loading
Loading
@@ -22,7 +22,7 @@ describe('RepoLoadingFile', () => {
}
 
function assertColumns(columns) {
columns.forEach((column) => {
columns.forEach(column => {
const container = column.querySelector('.animation-container');
const lines = [...container.querySelectorAll(':scope > div')];
 
Loading
Loading
@@ -46,7 +46,7 @@ describe('RepoLoadingFile', () => {
assertColumns(columns);
});
 
it('renders 1 column of animated LoC if isMini', (done) => {
it('renders 1 column of animated LoC if isMini', done => {
vm = createComponent();
vm.$store.state.leftPanelCollapsed = true;
vm.$store.state.openFiles.push('test');
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment