53 lines
1.3 KiB
JavaScript
53 lines
1.3 KiB
JavaScript
import Vue from 'vue';
|
|
import { createComponentWithStore } from 'helpers/vue_mount_component_helper';
|
|
import { createStore } from '~/ide/stores';
|
|
import commitSidebarList from '~/ide/components/commit_sidebar/list.vue';
|
|
import { file } from '../../helpers';
|
|
|
|
describe('Multi-file editor commit sidebar list', () => {
|
|
let store;
|
|
let vm;
|
|
|
|
beforeEach(() => {
|
|
store = createStore();
|
|
|
|
const Component = Vue.extend(commitSidebarList);
|
|
|
|
vm = createComponentWithStore(Component, store, {
|
|
title: 'Staged',
|
|
fileList: [],
|
|
iconName: 'staged',
|
|
action: 'stageAllChanges',
|
|
actionBtnText: 'stage all',
|
|
actionBtnIcon: 'history',
|
|
activeFileKey: 'staged-testing',
|
|
keyPrefix: 'staged',
|
|
});
|
|
|
|
vm.$mount();
|
|
});
|
|
|
|
afterEach(() => {
|
|
vm.$destroy();
|
|
});
|
|
|
|
describe('with a list of files', () => {
|
|
beforeEach(done => {
|
|
const f = file('file name');
|
|
f.changed = true;
|
|
vm.fileList.push(f);
|
|
|
|
Vue.nextTick(done);
|
|
});
|
|
|
|
it('renders list', () => {
|
|
expect(vm.$el.querySelectorAll('.multi-file-commit-list > li').length).toBe(1);
|
|
});
|
|
});
|
|
|
|
describe('empty files array', () => {
|
|
it('renders no changes text when empty', () => {
|
|
expect(vm.$el.textContent).toContain('No changes');
|
|
});
|
|
});
|
|
});
|