Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam Beckham <sbeckham@gitlab.com>2019-08-02 16:11:37 +0300
committerPaul Slaughter <pslaughter@gitlab.com>2019-08-02 16:11:37 +0300
commit97699bbda6077a6f3adfb6a6f2079a0890818a5d (patch)
tree85d982afeb8e51d73c0288069a679a4e3675fdd4 /spec/javascripts/helpers
parent2d72602b7ee426ad605312c80dc38793ce41b911 (diff)
Syncs the vue test utils helpers
Diffstat (limited to 'spec/javascripts/helpers')
-rw-r--r--spec/javascripts/helpers/vue_test_utils_helper.js38
-rw-r--r--spec/javascripts/helpers/vue_test_utils_helper_spec.js48
2 files changed, 4 insertions, 82 deletions
diff --git a/spec/javascripts/helpers/vue_test_utils_helper.js b/spec/javascripts/helpers/vue_test_utils_helper.js
index 68326e37ae7..5b749b11246 100644
--- a/spec/javascripts/helpers/vue_test_utils_helper.js
+++ b/spec/javascripts/helpers/vue_test_utils_helper.js
@@ -1,35 +1,5 @@
-const vNodeContainsText = (vnode, text) =>
- (vnode.text && vnode.text.includes(text)) ||
- (vnode.children && vnode.children.filter(child => vNodeContainsText(child, text)).length);
+// No new code should be added to this file. Instead, modify the
+// file this one re-exports from. For more detail about why, see:
+// https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/31349
-/**
- * Determines whether a `shallowMount` Wrapper contains text
- * within one of it's slots. This will also work on Wrappers
- * acquired with `find()`, but only if it's parent Wrapper
- * was shallowMounted.
- * NOTE: Prefer checking the rendered output of a component
- * wherever possible using something like `text()` instead.
- * @param {Wrapper} shallowWrapper - Vue test utils wrapper (shallowMounted)
- * @param {String} slotName
- * @param {String} text
- */
-export const shallowWrapperContainsSlotText = (shallowWrapper, slotName, text) =>
- Boolean(
- shallowWrapper.vm.$slots[slotName].filter(vnode => vNodeContainsText(vnode, text)).length,
- );
-
-/**
- * Returns a promise that waits for a mutation to be fired before resolving
- * NOTE: There's no reject action here so it will hang if it waits for a mutation that won't happen.
- * @param {Object} store - The Vue store that contains the mutations
- * @param {String} expectedMutationType - The Mutation to wait for
- */
-export const waitForMutation = (store, expectedMutationType) =>
- new Promise(resolve => {
- const unsubscribe = store.subscribe(mutation => {
- if (mutation.type === expectedMutationType) {
- unsubscribe();
- resolve();
- }
- });
- });
+export * from '../../frontend/helpers/vue_test_utils_helper';
diff --git a/spec/javascripts/helpers/vue_test_utils_helper_spec.js b/spec/javascripts/helpers/vue_test_utils_helper_spec.js
deleted file mode 100644
index 41714066da5..00000000000
--- a/spec/javascripts/helpers/vue_test_utils_helper_spec.js
+++ /dev/null
@@ -1,48 +0,0 @@
-import { shallowMount } from '@vue/test-utils';
-import { shallowWrapperContainsSlotText } from './vue_test_utils_helper';
-
-describe('Vue test utils helpers', () => {
- describe('shallowWrapperContainsSlotText', () => {
- const mockText = 'text';
- const mockSlot = `<div>${mockText}</div>`;
- let mockComponent;
-
- beforeEach(() => {
- mockComponent = shallowMount(
- {
- render(h) {
- h(`<div>mockedComponent</div>`);
- },
- },
- {
- slots: {
- default: mockText,
- namedSlot: mockSlot,
- },
- },
- );
- });
-
- it('finds text within shallowWrapper default slot', () => {
- expect(shallowWrapperContainsSlotText(mockComponent, 'default', mockText)).toBe(true);
- });
-
- it('finds text within shallowWrapper named slot', () => {
- expect(shallowWrapperContainsSlotText(mockComponent, 'namedSlot', mockText)).toBe(true);
- });
-
- it('returns false when text is not present', () => {
- const searchText = 'absent';
-
- expect(shallowWrapperContainsSlotText(mockComponent, 'default', searchText)).toBe(false);
- expect(shallowWrapperContainsSlotText(mockComponent, 'namedSlot', searchText)).toBe(false);
- });
-
- it('searches with case-sensitivity', () => {
- const searchText = mockText.toUpperCase();
-
- expect(shallowWrapperContainsSlotText(mockComponent, 'default', searchText)).toBe(false);
- expect(shallowWrapperContainsSlotText(mockComponent, 'namedSlot', searchText)).toBe(false);
- });
- });
-});