Syncs the vue test utils helpers
This commit is contained in:
parent
2d72602b7e
commit
97699bbda6
3 changed files with 20 additions and 36 deletions
|
@ -1,5 +1,3 @@
|
|||
/* eslint-disable import/prefer-default-export */
|
||||
|
||||
const vNodeContainsText = (vnode, text) =>
|
||||
(vnode.text && vnode.text.includes(text)) ||
|
||||
(vnode.children && vnode.children.filter(child => vNodeContainsText(child, text)).length);
|
||||
|
@ -19,3 +17,19 @@ 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();
|
||||
}
|
||||
});
|
||||
});
|
||||
|
|
|
@ -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';
|
||||
|
|
Loading…
Reference in a new issue