Commit f1ddfac4 authored by Phil Hughes's avatar Phil Hughes

added specs

parent 9cd0bb74
...@@ -149,47 +149,49 @@ describe('RepoEditor', () => { ...@@ -149,47 +149,49 @@ describe('RepoEditor', () => {
}); });
}); });
describe('setup editor for merge request viewing', () => { describe('editor updateDimensions', () => {
beforeEach(done => { beforeEach(() => {
// Resetting as the main test setup has already done it spyOn(vm.editor, 'updateDimensions').and.callThrough();
vm.$destroy(); spyOn(vm.editor, 'updateDiffView');
resetStore(vm.$store); });
Editor.editorInstance.modelManager.dispose();
const f = {
...file(),
active: true,
tempFile: true,
html: 'testing',
mrChange: { diff: 'ABC' },
baseRaw: 'testing',
content: 'test',
};
const RepoEditor = Vue.extend(repoEditor);
vm = createComponentWithStore(RepoEditor, store, {
file: f,
});
vm.$store.state.openFiles.push(f);
vm.$store.state.entries[f.path] = f;
vm.$store.state.viewer = 'mrdiff';
vm.monaco = true; it('calls updateDimensions when rightPanelCollapsed is changed', done => {
vm.$store.state.rightPanelCollapsed = true;
vm.$mount(); vm.$nextTick(() => {
expect(vm.editor.updateDimensions).toHaveBeenCalled();
expect(vm.editor.updateDiffView).toHaveBeenCalled();
monacoLoader(['vs/editor/editor.main'], () => { done();
setTimeout(done, 0);
}); });
}); });
it('attaches merge request model to editor when merge request diff', () => { it('calls updateDimensions when panelResizing is false', done => {
spyOn(vm.editor, 'attachMergeRequestModel').and.callThrough(); vm.$store.state.panelResizing = true;
vm
.$nextTick()
.then(() => {
vm.$store.state.panelResizing = false;
})
.then(vm.$nextTick)
.then(() => {
expect(vm.editor.updateDimensions).toHaveBeenCalled();
expect(vm.editor.updateDiffView).toHaveBeenCalled();
})
.then(done)
.catch(done.fail);
});
vm.setupEditor(); it('does not call updateDimensions when panelResizing is true', done => {
vm.$store.state.panelResizing = true;
expect(vm.editor.attachMergeRequestModel).toHaveBeenCalledWith(vm.model); vm.$nextTick(() => {
expect(vm.editor.updateDimensions).not.toHaveBeenCalled();
expect(vm.editor.updateDiffView).not.toHaveBeenCalled();
done();
});
}); });
}); });
}); });
...@@ -215,4 +215,56 @@ describe('Multi-file editor library', () => { ...@@ -215,4 +215,56 @@ describe('Multi-file editor library', () => {
expect(instance.decorationsController.dispose).not.toHaveBeenCalled(); expect(instance.decorationsController.dispose).not.toHaveBeenCalled();
}); });
}); });
describe('updateDiffView', () => {
describe('edit mode', () => {
it('does not update options', () => {
instance.createInstance(holder);
spyOn(instance.instance, 'updateOptions');
instance.updateDiffView();
expect(instance.instance.updateOptions).not.toHaveBeenCalled();
});
});
describe('diff mode', () => {
beforeEach(() => {
instance.createDiffInstance(holder);
spyOn(instance.instance, 'updateOptions').and.callThrough();
});
it('sets renderSideBySide to false if el is less than 700 pixels', () => {
spyOnProperty(instance.instance.getDomNode(), 'offsetWidth').and.returnValue(600);
expect(instance.instance.updateOptions).not.toHaveBeenCalledWith({
renderSideBySide: false,
});
});
it('sets renderSideBySide to false if el is more than 700 pixels', () => {
spyOnProperty(instance.instance.getDomNode(), 'offsetWidth').and.returnValue(800);
expect(instance.instance.updateOptions).not.toHaveBeenCalledWith({
renderSideBySide: true,
});
});
});
});
describe('isDiffEditorType', () => {
it('returns true when diff editor', () => {
instance.createDiffInstance(holder);
expect(instance.isDiffEditorType).toBe(true);
});
it('returns false when not diff editor', () => {
instance.createInstance(holder);
expect(instance.isDiffEditorType).toBe(false);
});
});
}); });
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment