From 7a13493aa7de02ef153107c581a2a2c9122b8c6f Mon Sep 17 00:00:00 2001 From: Fatih Acet Date: Thu, 19 Apr 2018 12:12:30 +0200 Subject: Add diff_file_spec. --- .../javascripts/diffs/components/diff_file_spec.js | 30 ++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 spec/javascripts/diffs/components/diff_file_spec.js diff --git a/spec/javascripts/diffs/components/diff_file_spec.js b/spec/javascripts/diffs/components/diff_file_spec.js new file mode 100644 index 00000000000..4d443286360 --- /dev/null +++ b/spec/javascripts/diffs/components/diff_file_spec.js @@ -0,0 +1,30 @@ +import Vue from 'vue'; +import DiffFileComponent from '~/diffs/components/diff_file.vue'; +import store from '~/mr_notes/stores'; +import { createComponentWithStore } from 'spec/helpers/vue_mount_component_helper'; +import diffFileMockData from '../mock_data/diff_file'; + +describe('DiffFile', () => { + let component; + const getDiffFileMock = () => Object.assign({}, diffFileMockData); + + beforeEach(() => { + component = createComponentWithStore(Vue.extend(DiffFileComponent), store, { + file: getDiffFileMock(), + }).$mount(document.createElement('div')); + }); + + describe('template', () => { + it('should render component with file header, file content components', () => { + const el = component.$el; + const { fileHash, filePath } = diffFileMockData; + + expect(el.id).toEqual(fileHash); + expect(el.classList.contains('diff-file')).toEqual(true); + expect(el.querySelector('.js-file-title')).toBeDefined(); + expect(el.querySelector('.file-title-name').innerText.indexOf(filePath) > -1).toEqual(true); + expect(el.querySelector('.js-syntax-highlight')).toBeDefined(); + expect(el.querySelectorAll('.line_content').length > 5).toEqual(true); + }); + }); +}); -- cgit v1.2.1