Commit 161851de authored by Kushal Pandya's avatar Kushal Pandya

Merge branch 'winh-jest-gitlab-ui' into 'master'

Make Jest work with gitlab-ui

Closes #56689

See merge request gitlab-org/gitlab-ce!25440
parents 98dbde0c db735b66
/* eslint-disable import/no-commonjs, filenames/match-regex */
const BABEL_ENV = process.env.BABEL_ENV || process.env.NODE_ENV || null; const BABEL_ENV = process.env.BABEL_ENV || process.env.NODE_ENV || null;
const presets = [ const presets = [
......
...@@ -31,4 +31,5 @@ module.exports = { ...@@ -31,4 +31,5 @@ module.exports = {
'^.+\\.js$': 'babel-jest', '^.+\\.js$': 'babel-jest',
'^.+\\.vue$': 'vue-jest', '^.+\\.vue$': 'vue-jest',
}, },
transformIgnorePatterns: ['node_modules/(?!(@gitlab/ui)/)'],
}; };
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`JumpToNextDiscussionButton matches the snapshot 1`] = `
<div
class="btn-group"
role="group"
>
<button
class="btn btn-default discussion-next-btn"
data-original-title="Jump to next unresolved discussion"
title=""
>
<icon-stub
cssclasses=""
name="comment-next"
size="16"
/>
</button>
</div>
`;
import jumpToNextDiscussionButton from '~/notes/components/discussion_jump_to_next_button.vue'; import JumpToNextDiscussionButton from '~/notes/components/discussion_jump_to_next_button.vue';
import { shallowMount, createLocalVue } from '@vue/test-utils'; import { shallowMount } from '@vue/test-utils';
const localVue = createLocalVue(); describe('JumpToNextDiscussionButton', () => {
describe('jumpToNextDiscussionButton', () => {
let wrapper; let wrapper;
beforeEach(() => { beforeEach(() => {
wrapper = shallowMount(jumpToNextDiscussionButton, { wrapper = shallowMount(JumpToNextDiscussionButton, {
localVue,
sync: false, sync: false,
}); });
}); });
...@@ -17,17 +14,17 @@ describe('jumpToNextDiscussionButton', () => { ...@@ -17,17 +14,17 @@ describe('jumpToNextDiscussionButton', () => {
wrapper.destroy(); wrapper.destroy();
}); });
it('emits onClick event on button click', done => { it('matches the snapshot', () => {
expect(wrapper.vm.$el).toMatchSnapshot();
});
it('emits onClick event on button click', () => {
const button = wrapper.find({ ref: 'button' }); const button = wrapper.find({ ref: 'button' });
button.trigger('click'); button.trigger('click');
localVue.nextTick(() => {
expect(wrapper.emitted()).toEqual({ expect(wrapper.emitted()).toEqual({
onClick: [[]], onClick: [[]],
}); });
done();
});
}); });
}); });
import Vue from 'vue';
import Translate from '~/vue_shared/translate';
import axios from '~/lib/utils/axios_utils'; import axios from '~/lib/utils/axios_utils';
const testTimeoutInMs = 300; const testTimeoutInMs = 300;
...@@ -28,3 +30,5 @@ beforeEach(done => { ...@@ -28,3 +30,5 @@ beforeEach(done => {
done(); done();
}); });
Vue.use(Translate);
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