Commit be485a78 authored by Simon Knox's avatar Simon Knox Committed by Simon Knox

Hide More Actions tooltip when the menu opens

parent 3daa53e8
...@@ -126,6 +126,11 @@ export default { ...@@ -126,6 +126,11 @@ export default {
onResolve() { onResolve() {
this.$emit('handleResolve'); this.$emit('handleResolve');
}, },
closeTooltip() {
this.$nextTick(() => {
this.$root.$emit('bv::hide::tooltip');
});
},
}, },
}; };
</script> </script>
...@@ -202,6 +207,7 @@ export default { ...@@ -202,6 +207,7 @@ export default {
title="More actions" title="More actions"
class="note-action-button more-actions-toggle btn btn-transparent" class="note-action-button more-actions-toggle btn btn-transparent"
data-toggle="dropdown" data-toggle="dropdown"
@click="closeTooltip"
> >
<icon css-classes="icon" name="ellipsis_v" /> <icon css-classes="icon" name="ellipsis_v" />
</button> </button>
......
---
title: Close More Actions tooltip when menu opens
merge_request: 24285
author:
type: fixed
import Vue from 'vue'; import Vue from 'vue';
import { shallowMount, createLocalVue } from '@vue/test-utils'; import { shallowMount, createLocalVue, createWrapper } from '@vue/test-utils';
import createStore from '~/notes/stores'; import createStore from '~/notes/stores';
import noteActions from '~/notes/components/note_actions.vue'; import noteActions from '~/notes/components/note_actions.vue';
import { TEST_HOST } from 'spec/test_constants'; import { TEST_HOST } from 'spec/test_constants';
...@@ -10,7 +10,7 @@ describe('noteActions', () => { ...@@ -10,7 +10,7 @@ describe('noteActions', () => {
let store; let store;
let props; let props;
const createWrapper = propsData => { const shallowMountNoteActions = propsData => {
const localVue = createLocalVue(); const localVue = createLocalVue();
return shallowMount(noteActions, { return shallowMount(noteActions, {
store, store,
...@@ -44,7 +44,7 @@ describe('noteActions', () => { ...@@ -44,7 +44,7 @@ describe('noteActions', () => {
beforeEach(() => { beforeEach(() => {
store.dispatch('setUserData', userDataMock); store.dispatch('setUserData', userDataMock);
wrapper = createWrapper(props); wrapper = shallowMountNoteActions(props);
}); });
it('should render access level badge', () => { it('should render access level badge', () => {
...@@ -90,13 +90,27 @@ describe('noteActions', () => { ...@@ -90,13 +90,27 @@ describe('noteActions', () => {
it('should be possible to delete comment', () => { it('should be possible to delete comment', () => {
expect(wrapper.find('.js-note-delete').exists()).toBe(true); expect(wrapper.find('.js-note-delete').exists()).toBe(true);
}); });
it('closes tooltip when dropdown opens', done => {
wrapper.find('.more-actions-toggle').trigger('click');
const rootWrapper = createWrapper(wrapper.vm.$root);
Vue.nextTick()
.then(() => {
const emitted = Object.keys(rootWrapper.emitted());
expect(emitted).toEqual(['bv::hide::tooltip']);
done();
})
.catch(done.fail);
});
}); });
}); });
describe('user is not logged in', () => { describe('user is not logged in', () => {
beforeEach(() => { beforeEach(() => {
store.dispatch('setUserData', {}); store.dispatch('setUserData', {});
wrapper = createWrapper({ wrapper = shallowMountNoteActions({
...props, ...props,
canDelete: false, canDelete: false,
canEdit: false, canEdit: false,
...@@ -127,7 +141,7 @@ describe('noteActions', () => { ...@@ -127,7 +141,7 @@ describe('noteActions', () => {
describe('for showReply = true', () => { describe('for showReply = true', () => {
beforeEach(() => { beforeEach(() => {
wrapper = createWrapper({ wrapper = shallowMountNoteActions({
...props, ...props,
showReply: true, showReply: true,
}); });
...@@ -142,7 +156,7 @@ describe('noteActions', () => { ...@@ -142,7 +156,7 @@ describe('noteActions', () => {
describe('for showReply = false', () => { describe('for showReply = false', () => {
beforeEach(() => { beforeEach(() => {
wrapper = createWrapper({ wrapper = shallowMountNoteActions({
...props, ...props,
showReply: false, showReply: false,
}); });
...@@ -169,7 +183,7 @@ describe('noteActions', () => { ...@@ -169,7 +183,7 @@ describe('noteActions', () => {
describe('for showReply = true', () => { describe('for showReply = true', () => {
beforeEach(() => { beforeEach(() => {
wrapper = createWrapper({ wrapper = shallowMountNoteActions({
...props, ...props,
showReply: true, showReply: true,
}); });
...@@ -184,7 +198,7 @@ describe('noteActions', () => { ...@@ -184,7 +198,7 @@ describe('noteActions', () => {
describe('for showReply = false', () => { describe('for showReply = false', () => {
beforeEach(() => { beforeEach(() => {
wrapper = createWrapper({ wrapper = shallowMountNoteActions({
...props, ...props,
showReply: false, showReply: false,
}); });
......
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