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 { ...@@ -130,6 +130,11 @@ export default {
onResolve() { onResolve() {
this.$emit('handleResolve'); this.$emit('handleResolve');
}, },
closeTooltip() {
this.$nextTick(() => {
this.$root.$emit('bv::hide::tooltip');
});
},
}, },
showStaysResolved: true, showStaysResolved: true,
}; };
...@@ -207,6 +212,7 @@ export default { ...@@ -207,6 +212,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
...@@ -23,6 +23,7 @@ in `.gitlab-ci.yml`. ...@@ -23,6 +23,7 @@ in `.gitlab-ci.yml`.
## Timeout ## Timeout
Timeout defines the maximum amount of time in minutes that a job is able run. 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 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, 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. if the job surpasses the threshold, it is marked as failed.
......
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