Add repo_loading_file_spec
This commit is contained in:
parent
4318afd29b
commit
e481cdf5a6
1 changed files with 79 additions and 0 deletions
79
spec/javascripts/repo/repo_loading_file_spec.js
Normal file
79
spec/javascripts/repo/repo_loading_file_spec.js
Normal file
|
@ -0,0 +1,79 @@
|
|||
import Vue from 'vue';
|
||||
import repoLoadingFile from '~/repo/repo_loading_file.vue';
|
||||
|
||||
describe('RepoLoadingFile', () => {
|
||||
const RepoLoadingFile = Vue.extend(repoLoadingFile);
|
||||
|
||||
function createComponent(propsData) {
|
||||
return new RepoLoadingFile({
|
||||
propsData,
|
||||
}).$mount();
|
||||
}
|
||||
|
||||
function assertLines(lines) {
|
||||
lines.forEach((line, n) => {
|
||||
const index = n + 1;
|
||||
expect(line.classList.contains(`line-of-code-${index}`)).toBeTruthy();
|
||||
});
|
||||
}
|
||||
|
||||
function assertColumns(columns) {
|
||||
columns.forEach((column) => {
|
||||
const container = column.querySelector('.animation-container');
|
||||
const lines = [...container.querySelectorAll(':scope > div')];
|
||||
|
||||
expect(container).toBeTruthy();
|
||||
expect(lines.length).toEqual(6);
|
||||
assertLines(lines);
|
||||
});
|
||||
}
|
||||
|
||||
it('renders 3 columns of animated LoC', () => {
|
||||
const vm = createComponent({
|
||||
loading: {
|
||||
tree: true,
|
||||
},
|
||||
hasFiles: false,
|
||||
});
|
||||
const columns = [...vm.$el.querySelectorAll('td')];
|
||||
|
||||
expect(columns.length).toEqual(3);
|
||||
assertColumns(columns);
|
||||
});
|
||||
|
||||
it('renders 1 column of animated LoC if isMini', () => {
|
||||
const vm = createComponent({
|
||||
loading: {
|
||||
tree: true,
|
||||
},
|
||||
hasFiles: false,
|
||||
isMini: true,
|
||||
});
|
||||
const columns = [...vm.$el.querySelectorAll('td')];
|
||||
|
||||
expect(columns.length).toEqual(1);
|
||||
assertColumns(columns);
|
||||
});
|
||||
|
||||
it('does not render if tree is not loading', () => {
|
||||
const vm = createComponent({
|
||||
loading: {
|
||||
tree: false,
|
||||
},
|
||||
hasFiles: false,
|
||||
});
|
||||
|
||||
expect(vm.$el.innerHTML).toBeFalsy();
|
||||
});
|
||||
|
||||
it('does not render if hasFiles is true', () => {
|
||||
const vm = createComponent({
|
||||
loading: {
|
||||
tree: true,
|
||||
},
|
||||
hasFiles: true,
|
||||
});
|
||||
|
||||
expect(vm.$el.innerHTML).toBeFalsy();
|
||||
});
|
||||
});
|
Loading…
Reference in a new issue