Commit 0b83d9fc authored by GitLab Bot's avatar GitLab Bot

Automatic merge of gitlab-org/gitlab-ce master

parents 17bfedd6 3537f12f
......@@ -130,6 +130,11 @@ export default {
onResolve() {
this.$emit('handleResolve');
},
closeTooltip() {
this.$nextTick(() => {
this.$root.$emit('bv::hide::tooltip');
});
},
},
showStaysResolved: true,
};
......@@ -207,6 +212,7 @@ export default {
title="More actions"
class="note-action-button more-actions-toggle btn btn-transparent"
data-toggle="dropdown"
@click="closeTooltip"
>
<icon css-classes="icon" name="ellipsis_v" />
</button>
......
---
title: Close More Actions tooltip when menu opens
merge_request: 24285
author:
type: fixed
......@@ -23,6 +23,7 @@ in `.gitlab-ci.yml`.
## Timeout
Timeout defines the maximum amount of time in minutes that a job is able run.
This is configureable under your project's **Settings > CI/CD > General pipelines settings**.
The default value is 60 minutes. Decrease the time limit if you want to impose
a hard limit on your jobs' running time or increase it otherwise. In any case,
if the job surpasses the threshold, it is marked as failed.
......
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 noteActions from '~/notes/components/note_actions.vue';
import { TEST_HOST } from 'spec/test_constants';
......@@ -10,7 +10,7 @@ describe('noteActions', () => {
let store;
let props;
const createWrapper = propsData => {
const shallowMountNoteActions = propsData => {
const localVue = createLocalVue();
return shallowMount(noteActions, {
store,
......@@ -44,7 +44,7 @@ describe('noteActions', () => {
beforeEach(() => {
store.dispatch('setUserData', userDataMock);
wrapper = createWrapper(props);
wrapper = shallowMountNoteActions(props);
});
it('should render access level badge', () => {
......@@ -90,13 +90,27 @@ describe('noteActions', () => {
it('should be possible to delete comment', () => {
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', () => {
beforeEach(() => {
store.dispatch('setUserData', {});
wrapper = createWrapper({
wrapper = shallowMountNoteActions({
...props,
canDelete: false,
canEdit: false,
......@@ -127,7 +141,7 @@ describe('noteActions', () => {
describe('for showReply = true', () => {
beforeEach(() => {
wrapper = createWrapper({
wrapper = shallowMountNoteActions({
...props,
showReply: true,
});
......@@ -142,7 +156,7 @@ describe('noteActions', () => {
describe('for showReply = false', () => {
beforeEach(() => {
wrapper = createWrapper({
wrapper = shallowMountNoteActions({
...props,
showReply: false,
});
......@@ -169,7 +183,7 @@ describe('noteActions', () => {
describe('for showReply = true', () => {
beforeEach(() => {
wrapper = createWrapper({
wrapper = shallowMountNoteActions({
...props,
showReply: true,
});
......@@ -184,7 +198,7 @@ describe('noteActions', () => {
describe('for showReply = false', () => {
beforeEach(() => {
wrapper = createWrapper({
wrapper = shallowMountNoteActions({
...props,
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