Commit 36cf5526 authored by jboyson's avatar jboyson Committed by Denys Mishunov

Replace mount helper with mount from VTU

parent 54b1afcb
import Vue from 'vue';
import { cloneDeep } from 'lodash'; import { cloneDeep } from 'lodash';
import { createComponentWithStore } from 'helpers/vue_mount_component_helper'; import { mount } from '@vue/test-utils';
import { getByText } from '@testing-library/dom'; import { getByText } from '@testing-library/dom';
import { createStore } from '~/mr_notes/stores'; import { createStore } from '~/mr_notes/stores';
import DiffExpansionCell from '~/diffs/components/diff_expansion_cell.vue'; import DiffExpansionCell from '~/diffs/components/diff_expansion_cell.vue';
...@@ -59,7 +58,6 @@ describe('DiffExpansionCell', () => { ...@@ -59,7 +58,6 @@ describe('DiffExpansionCell', () => {
let mockFile; let mockFile;
let mockLine; let mockLine;
let store; let store;
let vm;
beforeEach(() => { beforeEach(() => {
mockFile = cloneDeep(diffFileMockData); mockFile = cloneDeep(diffFileMockData);
...@@ -70,7 +68,6 @@ describe('DiffExpansionCell', () => { ...@@ -70,7 +68,6 @@ describe('DiffExpansionCell', () => {
}); });
const createComponent = (options = {}) => { const createComponent = (options = {}) => {
const cmp = Vue.extend(DiffExpansionCell);
const defaults = { const defaults = {
fileHash: mockFile.file_hash, fileHash: mockFile.file_hash,
contextLinesPath: 'contextLinesPath', contextLinesPath: 'contextLinesPath',
...@@ -78,46 +75,46 @@ describe('DiffExpansionCell', () => { ...@@ -78,46 +75,46 @@ describe('DiffExpansionCell', () => {
isTop: false, isTop: false,
isBottom: false, isBottom: false,
}; };
const props = { ...defaults, ...options }; const propsData = { ...defaults, ...options };
vm = createComponentWithStore(cmp, store, props).$mount(); return mount(DiffExpansionCell, { store, propsData });
}; };
const findExpandUp = () => vm.$el.querySelector(EXPAND_UP_CLASS); const findExpandUp = wrapper => wrapper.find(EXPAND_UP_CLASS);
const findExpandDown = () => vm.$el.querySelector(EXPAND_DOWN_CLASS); const findExpandDown = wrapper => wrapper.find(EXPAND_DOWN_CLASS);
const findExpandAll = () => getByText(vm.$el, 'Show all unchanged lines'); const findExpandAll = ({ element }) => getByText(element, 'Show all unchanged lines');
describe('top row', () => { describe('top row', () => {
it('should have "expand up" and "show all" option', () => { it('should have "expand up" and "show all" option', () => {
createComponent({ const wrapper = createComponent({
isTop: true, isTop: true,
}); });
expect(findExpandUp()).not.toBe(null); expect(findExpandUp(wrapper).exists()).toBe(true);
expect(findExpandDown()).toBe(null); expect(findExpandDown(wrapper).exists()).toBe(false);
expect(findExpandAll()).not.toBe(null); expect(findExpandAll(wrapper)).not.toBe(null);
}); });
}); });
describe('middle row', () => { describe('middle row', () => {
it('should have "expand down", "show all", "expand up" option', () => { it('should have "expand down", "show all", "expand up" option', () => {
createComponent(); const wrapper = createComponent();
expect(findExpandUp()).not.toBe(null); expect(findExpandUp(wrapper).exists()).toBe(true);
expect(findExpandDown()).not.toBe(null); expect(findExpandDown(wrapper).exists()).toBe(true);
expect(findExpandAll()).not.toBe(null); expect(findExpandAll(wrapper)).not.toBe(null);
}); });
}); });
describe('bottom row', () => { describe('bottom row', () => {
it('should have "expand down" and "show all" option', () => { it('should have "expand down" and "show all" option', () => {
createComponent({ const wrapper = createComponent({
isBottom: true, isBottom: true,
}); });
expect(findExpandUp()).toBe(null); expect(findExpandUp(wrapper).exists()).toBe(false);
expect(findExpandDown()).not.toBe(null); expect(findExpandDown(wrapper).exists()).toBe(true);
expect(findExpandAll()).not.toBe(null); expect(findExpandAll(wrapper)).not.toBe(null);
}); });
}); });
...@@ -144,9 +141,9 @@ describe('DiffExpansionCell', () => { ...@@ -144,9 +141,9 @@ describe('DiffExpansionCell', () => {
newLineNumber, newLineNumber,
}); });
createComponent(); const wrapper = createComponent();
findExpandAll().click(); findExpandAll(wrapper).click();
expect(store.dispatch).toHaveBeenCalledWith( expect(store.dispatch).toHaveBeenCalledWith(
'diffs/loadMoreLines', 'diffs/loadMoreLines',
...@@ -167,9 +164,9 @@ describe('DiffExpansionCell', () => { ...@@ -167,9 +164,9 @@ describe('DiffExpansionCell', () => {
const oldLineNumber = mockLine.meta_data.old_pos; const oldLineNumber = mockLine.meta_data.old_pos;
const newLineNumber = mockLine.meta_data.new_pos; const newLineNumber = mockLine.meta_data.new_pos;
createComponent(); const wrapper = createComponent();
findExpandUp().click(); findExpandUp(wrapper).trigger('click');
expect(store.dispatch).toHaveBeenCalledWith( expect(store.dispatch).toHaveBeenCalledWith(
'diffs/loadMoreLines', 'diffs/loadMoreLines',
...@@ -195,9 +192,9 @@ describe('DiffExpansionCell', () => { ...@@ -195,9 +192,9 @@ describe('DiffExpansionCell', () => {
mockLine.meta_data.old_pos = 200; mockLine.meta_data.old_pos = 200;
mockLine.meta_data.new_pos = 200; mockLine.meta_data.new_pos = 200;
createComponent(); const wrapper = createComponent();
findExpandDown().click(); findExpandDown(wrapper).trigger('click');
expect(store.dispatch).toHaveBeenCalledWith('diffs/loadMoreLines', { expect(store.dispatch).toHaveBeenCalledWith('diffs/loadMoreLines', {
endpoint: 'contextLinesPath', endpoint: 'contextLinesPath',
......
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