From 1b668e02bde65abc4d02d7f9ec72dccba080d495 Mon Sep 17 00:00:00 2001 From: GitLab Bot Date: Fri, 16 Apr 2021 06:09:34 +0000 Subject: [PATCH] Add latest changes from gitlab-org/gitlab@master --- .../filtered_search_bar/tokens/epic_token.vue | 133 +++++++++++++ .../roadmap/img/roadmap_filters_v13_11.png | Bin 0 -> 79098 bytes .../roadmap/img/roadmap_filters_v13_8.png | Bin 20766 -> 0 bytes doc/user/group/roadmap/index.md | 5 +- locale/gitlab.pot | 6 + .../filtered_search_bar/mock_data.js | 26 +++ .../tokens/epic_token_spec.js | 180 ++++++++++++++++++ 7 files changed, 349 insertions(+), 1 deletion(-) create mode 100644 app/assets/javascripts/vue_shared/components/filtered_search_bar/tokens/epic_token.vue create mode 100644 doc/user/group/roadmap/img/roadmap_filters_v13_11.png delete mode 100644 doc/user/group/roadmap/img/roadmap_filters_v13_8.png create mode 100644 spec/frontend/vue_shared/components/filtered_search_bar/tokens/epic_token_spec.js diff --git a/app/assets/javascripts/vue_shared/components/filtered_search_bar/tokens/epic_token.vue b/app/assets/javascripts/vue_shared/components/filtered_search_bar/tokens/epic_token.vue new file mode 100644 index 00000000000..101c7150c55 --- /dev/null +++ b/app/assets/javascripts/vue_shared/components/filtered_search_bar/tokens/epic_token.vue @@ -0,0 +1,133 @@ + + + diff --git a/doc/user/group/roadmap/img/roadmap_filters_v13_11.png b/doc/user/group/roadmap/img/roadmap_filters_v13_11.png new file mode 100644 index 0000000000000000000000000000000000000000..d2a76b4edce4db4c97d90bc13e0b610f8ce4b9cb GIT binary patch literal 79098 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 CI8dYj literal 0 HcmV?d00001 diff --git a/doc/user/group/roadmap/img/roadmap_filters_v13_8.png b/doc/user/group/roadmap/img/roadmap_filters_v13_8.png deleted file mode 100644 index d826909b02296fc202150499945177cef2ae9929..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20766 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 - Filtering roadmaps by milestone is recommended for production use. > - For GitLab self-managed instances, GitLab administrators can opt to [disable it](#enable-or-disable-filtering-roadmaps-by-milestone). **(PREMIUM SELF)** > - Filtering by epic confidentiality [introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/218624) in GitLab 13.9. +> - Filtering by epic [introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/218623) in GitLab 13.11. WARNING: Filtering roadmaps by milestone might not be available to you. Check the **version history** note above for details. @@ -69,8 +70,10 @@ You can also filter epics in the Roadmap view by the epics': - Label - Milestone - Confidentiality +- Epic +- Your Reaction -![roadmap date range in weeks](img/roadmap_filters_v13_8.png) +![roadmap date range in weeks](img/roadmap_filters_v13_11.png) Roadmaps can also be [visualized inside an epic](../epics/index.md#roadmap-in-epics). diff --git a/locale/gitlab.pot b/locale/gitlab.pot index f611b8a6a86..b23e9390fbb 100644 --- a/locale/gitlab.pot +++ b/locale/gitlab.pot @@ -15283,6 +15283,9 @@ msgstr "" msgid "GroupRoadmap|The roadmap shows the progress of your epics along a timeline" msgstr "" +msgid "GroupRoadmap|To make your epics appear in the roadmap, add start or due dates to them." +msgstr "" + msgid "GroupRoadmap|To view the roadmap, add a start or due date to one of the %{linkStart}child epics%{linkEnd}." msgstr "" @@ -31551,6 +31554,9 @@ msgstr "" msgid "There was a problem fetching emojis." msgstr "" +msgid "There was a problem fetching epics." +msgstr "" + msgid "There was a problem fetching groups." msgstr "" diff --git a/spec/frontend/vue_shared/components/filtered_search_bar/mock_data.js b/spec/frontend/vue_shared/components/filtered_search_bar/mock_data.js index 10910338cb0..c24528ba4d2 100644 --- a/spec/frontend/vue_shared/components/filtered_search_bar/mock_data.js +++ b/spec/frontend/vue_shared/components/filtered_search_bar/mock_data.js @@ -4,6 +4,7 @@ import Api from '~/api'; import AuthorToken from '~/vue_shared/components/filtered_search_bar/tokens/author_token.vue'; import BranchToken from '~/vue_shared/components/filtered_search_bar/tokens/branch_token.vue'; import EmojiToken from '~/vue_shared/components/filtered_search_bar/tokens/emoji_token.vue'; +import EpicToken from '~/vue_shared/components/filtered_search_bar/tokens/epic_token.vue'; import LabelToken from '~/vue_shared/components/filtered_search_bar/tokens/label_token.vue'; import MilestoneToken from '~/vue_shared/components/filtered_search_bar/tokens/milestone_token.vue'; @@ -60,6 +61,11 @@ export const mockMilestones = [ mockEscapedMilestone, ]; +export const mockEpics = [ + { iid: 1, id: 1, title: 'Foo' }, + { iid: 2, id: 2, title: 'Bar' }, +]; + export const mockEmoji1 = { name: 'thumbsup', }; @@ -114,6 +120,18 @@ export const mockMilestoneToken = { fetchMilestones: () => Promise.resolve({ data: mockMilestones }), }; +export const mockEpicToken = { + type: 'epic_iid', + icon: 'clock', + title: 'Epic', + unique: true, + symbol: '&', + token: EpicToken, + operators: [{ value: '=', description: 'is', default: 'true' }], + fetchEpics: () => Promise.resolve({ data: mockEpics }), + fetchSingleEpic: () => Promise.resolve({ data: mockEpics[0] }), +}; + export const mockReactionEmojiToken = { type: 'my_reaction_emoji', icon: 'thumb-up', @@ -189,6 +207,14 @@ export const tokenValuePlain = { value: { data: 'foo' }, }; +export const tokenValueEpic = { + type: 'epic_iid', + value: { + operator: '=', + data: '"foo"::&42', + }, +}; + export const mockHistoryItems = [ [tokenValueAuthor, tokenValueLabel, tokenValueMilestone, 'duo'], [tokenValueAuthor, 'si'], diff --git a/spec/frontend/vue_shared/components/filtered_search_bar/tokens/epic_token_spec.js b/spec/frontend/vue_shared/components/filtered_search_bar/tokens/epic_token_spec.js new file mode 100644 index 00000000000..0c3f9e1363f --- /dev/null +++ b/spec/frontend/vue_shared/components/filtered_search_bar/tokens/epic_token_spec.js @@ -0,0 +1,180 @@ +import { GlFilteredSearchToken, GlFilteredSearchTokenSegment } from '@gitlab/ui'; +import { mount } from '@vue/test-utils'; +import MockAdapter from 'axios-mock-adapter'; +import waitForPromises from 'helpers/wait_for_promises'; +import createFlash from '~/flash'; +import axios from '~/lib/utils/axios_utils'; + +import EpicToken from '~/vue_shared/components/filtered_search_bar/tokens/epic_token.vue'; + +import { mockEpicToken, mockEpics } from '../mock_data'; + +jest.mock('~/flash'); + +const defaultStubs = { + Portal: true, + GlFilteredSearchSuggestionList: { + template: '
', + methods: { + getValue: () => '=', + }, + }, +}; + +function createComponent(options = {}) { + const { + config = mockEpicToken, + value = { data: '' }, + active = false, + stubs = defaultStubs, + } = options; + return mount(EpicToken, { + propsData: { + config, + value, + active, + }, + provide: { + portalName: 'fake target', + alignSuggestions: function fakeAlignSuggestions() {}, + suggestionsListClass: 'custom-class', + }, + stubs, + }); +} + +describe('EpicToken', () => { + let mock; + let wrapper; + + beforeEach(() => { + mock = new MockAdapter(axios); + wrapper = createComponent(); + }); + + afterEach(() => { + mock.restore(); + wrapper.destroy(); + }); + + describe('computed', () => { + beforeEach(async () => { + wrapper = createComponent({ + data: { + epics: mockEpics, + }, + }); + + await wrapper.vm.$nextTick(); + }); + + describe('currentValue', () => { + it.each` + data | id + ${`${mockEpics[0].title}::&${mockEpics[0].iid}`} | ${mockEpics[0].iid} + ${mockEpics[0].iid} | ${mockEpics[0].iid} + ${'foobar'} | ${'foobar'} + `('$data returns $id', async ({ data, id }) => { + wrapper.setProps({ value: { data } }); + + await wrapper.vm.$nextTick(); + + expect(wrapper.vm.currentValue).toBe(id); + }); + }); + + describe('activeEpic', () => { + it('returns object for currently present `value.data`', async () => { + wrapper.setProps({ + value: { data: `${mockEpics[0].iid}` }, + }); + + await wrapper.vm.$nextTick(); + + expect(wrapper.vm.activeEpic).toEqual(mockEpics[0]); + }); + }); + }); + + describe('methods', () => { + describe('fetchEpicsBySearchTerm', () => { + it('calls `config.fetchEpics` with provided searchTerm param', () => { + jest.spyOn(wrapper.vm.config, 'fetchEpics'); + + wrapper.vm.fetchEpicsBySearchTerm('foo'); + + expect(wrapper.vm.config.fetchEpics).toHaveBeenCalledWith('foo'); + }); + + it('sets response to `epics` when request is successful', async () => { + jest.spyOn(wrapper.vm.config, 'fetchEpics').mockResolvedValue({ + data: mockEpics, + }); + + wrapper.vm.fetchEpicsBySearchTerm(); + + await waitForPromises(); + + expect(wrapper.vm.epics).toEqual(mockEpics); + }); + + it('calls `createFlash` with flash error message when request fails', async () => { + jest.spyOn(wrapper.vm.config, 'fetchEpics').mockRejectedValue({}); + + wrapper.vm.fetchEpicsBySearchTerm('foo'); + + await waitForPromises(); + + expect(createFlash).toHaveBeenCalledWith({ + message: 'There was a problem fetching epics.', + }); + }); + + it('sets `loading` to false when request completes', async () => { + jest.spyOn(wrapper.vm.config, 'fetchEpics').mockRejectedValue({}); + + wrapper.vm.fetchEpicsBySearchTerm('foo'); + + await waitForPromises(); + + expect(wrapper.vm.loading).toBe(false); + }); + }); + + describe('fetchSingleEpic', () => { + it('calls `config.fetchSingleEpic` with provided iid param', async () => { + jest.spyOn(wrapper.vm.config, 'fetchSingleEpic'); + + wrapper.vm.fetchSingleEpic(1); + + expect(wrapper.vm.config.fetchSingleEpic).toHaveBeenCalledWith(1); + + await waitForPromises(); + + expect(wrapper.vm.epics).toEqual([mockEpics[0]]); + }); + }); + }); + + describe('template', () => { + beforeEach(async () => { + wrapper = createComponent({ + value: { data: `${mockEpics[0].iid}` }, + data: { epics: mockEpics }, + }); + + await wrapper.vm.$nextTick(); + }); + + it('renders gl-filtered-search-token component', () => { + expect(wrapper.find(GlFilteredSearchToken).exists()).toBe(true); + }); + + it('renders token item when value is selected', () => { + const tokenSegments = wrapper.findAll(GlFilteredSearchTokenSegment); + + expect(tokenSegments).toHaveLength(3); + expect(tokenSegments.at(2).text()).toBe(`${mockEpics[0].title}::&${mockEpics[0].iid}`); + }); + }); +});