Merge branch 'refactor/56369-extract-jump-to-next-discussion-button' into 'master'

Refactor/56369 extract jump to next discussion button

Closes #56369

See merge request gitlab-org/gitlab-ce!24506
This commit is contained in:
Phil Hughes 2019-01-28 17:33:20 +00:00
commit 958a819fce
5 changed files with 75 additions and 10 deletions

View file

@ -0,0 +1,28 @@
<script>
import icon from '~/vue_shared/components/icon.vue';
import { GlTooltipDirective } from '@gitlab/ui';
export default {
name: 'JumpToNextDiscussionButton',
components: {
icon,
},
directives: {
GlTooltip: GlTooltipDirective,
},
};
</script>
<template>
<div class="btn-group" role="group">
<button
ref="button"
v-gl-tooltip
class="btn btn-default discussion-next-btn"
:title="s__('MergeRequests|Jump to next unresolved discussion')"
@click="$emit('onClick')"
>
<icon name="comment-next" />
</button>
</div>
</template>

View file

@ -23,6 +23,7 @@ import autosave from '../mixins/autosave';
import noteable from '../mixins/noteable';
import resolvable from '../mixins/resolvable';
import discussionNavigation from '../mixins/discussion_navigation';
import jumpToNextDiscussionButton from './discussion_jump_to_next_button.vue';
export default {
name: 'NoteableDiscussion',
@ -34,6 +35,7 @@ export default {
noteSignedOutWidget,
noteEditedText,
noteForm,
jumpToNextDiscussionButton,
toggleRepliesWidget,
placeholderNote,
placeholderSystemNote,
@ -476,16 +478,10 @@ Please check your network connection and try again.`;
<icon name="issue-new" />
</a>
</div>
<div v-if="shouldShowJumpToNextDiscussion" class="btn-group" role="group">
<button
v-gl-tooltip
class="btn btn-default discussion-next-btn"
title="Jump to next unresolved discussion"
@click="jumpToNextDiscussion"
>
<icon name="comment-next" />
</button>
</div>
<jump-to-next-discussion-button
v-if="shouldShowJumpToNextDiscussion"
@onClick="jumpToNextDiscussion"
/>
</div>
</div>
</template>

View file

@ -0,0 +1,5 @@
---
title: Extracted JumpToNextDiscussionButton to its own component
author: Martin Hobert
merge_request: 24506
type: other

View file

@ -4345,6 +4345,9 @@ msgstr ""
msgid "Merge requests are a place to propose changes you've made to a project and discuss those changes with others"
msgstr ""
msgid "MergeRequests|Jump to next unresolved discussion"
msgstr ""
msgid "MergeRequests|Resolve this discussion in a new issue"
msgstr ""

View file

@ -0,0 +1,33 @@
import jumpToNextDiscussionButton from '~/notes/components/discussion_jump_to_next_button.vue';
import { shallowMount, createLocalVue } from '@vue/test-utils';
const localVue = createLocalVue();
describe('jumpToNextDiscussionButton', () => {
let wrapper;
beforeEach(() => {
wrapper = shallowMount(jumpToNextDiscussionButton, {
localVue,
sync: false,
});
});
afterEach(() => {
wrapper.destroy();
});
it('emits onClick event on button click', done => {
const button = wrapper.find({ ref: 'button' });
button.trigger('click');
localVue.nextTick(() => {
expect(wrapper.emitted()).toEqual({
onClick: [[]],
});
done();
});
});
});