Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2019-10-01 12:10:39 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2019-10-01 12:10:39 +0300
commit1bab0ba591263cd739af2d2c7c3f1b03678a59b6 (patch)
tree39f499cf5c77338a6c1b94a2cad17153bcb7cada /spec/frontend/releases
parent2d03845a7606dc48107ac33e7a66a00956e76955 (diff)
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'spec/frontend/releases')
-rw-r--r--spec/frontend/releases/components/milestone_list_spec.js56
-rw-r--r--spec/frontend/releases/components/release_block_spec.js49
-rw-r--r--spec/frontend/releases/mock_data.js2
3 files changed, 44 insertions, 63 deletions
diff --git a/spec/frontend/releases/components/milestone_list_spec.js b/spec/frontend/releases/components/milestone_list_spec.js
deleted file mode 100644
index f267177ddab..00000000000
--- a/spec/frontend/releases/components/milestone_list_spec.js
+++ /dev/null
@@ -1,56 +0,0 @@
-import { shallowMount } from '@vue/test-utils';
-import { GlLink } from '@gitlab/ui';
-import MilestoneList from '~/releases/components/milestone_list.vue';
-import Icon from '~/vue_shared/components/icon.vue';
-import _ from 'underscore';
-import { milestones } from '../mock_data';
-
-describe('Milestone list', () => {
- let wrapper;
-
- const factory = milestonesProp => {
- wrapper = shallowMount(MilestoneList, {
- propsData: {
- milestones: milestonesProp,
- },
- sync: false,
- });
- };
-
- afterEach(() => {
- wrapper.destroy();
- });
-
- it('renders the milestone icon', () => {
- factory(milestones);
-
- expect(wrapper.find(Icon).exists()).toBe(true);
- });
-
- it('renders the label as "Milestone" if only a single milestone is passed in', () => {
- factory(milestones.slice(0, 1));
-
- expect(wrapper.find('.js-label-text').text()).toEqual('Milestone');
- });
-
- it('renders the label as "Milestones" if more than one milestone is passed in', () => {
- factory(milestones);
-
- expect(wrapper.find('.js-label-text').text()).toEqual('Milestones');
- });
-
- it('renders a link to the milestone with a tooltip', () => {
- const milestone = _.first(milestones);
- factory([milestone]);
-
- const milestoneLink = wrapper.find(GlLink);
-
- expect(milestoneLink.exists()).toBe(true);
-
- expect(milestoneLink.text()).toBe(milestone.title);
-
- expect(milestoneLink.attributes('href')).toBe(milestone.web_url);
-
- expect(milestoneLink.attributes('data-original-title')).toBe(milestone.description);
- });
-});
diff --git a/spec/frontend/releases/components/release_block_spec.js b/spec/frontend/releases/components/release_block_spec.js
index 229d3799ee1..5ce85a37121 100644
--- a/spec/frontend/releases/components/release_block_spec.js
+++ b/spec/frontend/releases/components/release_block_spec.js
@@ -3,6 +3,7 @@ import ReleaseBlock from '~/releases/components/release_block.vue';
import timeagoMixin from '~/vue_shared/mixins/timeago';
import { first } from 'underscore';
import { release } from '../mock_data';
+import Icon from '~/vue_shared/components/icon.vue';
describe('Release block', () => {
let wrapper;
@@ -15,7 +16,7 @@ describe('Release block', () => {
});
};
- const milestoneListExists = () => wrapper.find('.js-milestone-list').exists();
+ const milestoneListLabel = () => wrapper.find('.js-milestone-list-label');
afterEach(() => {
wrapper.destroy();
@@ -98,20 +99,56 @@ describe('Release block', () => {
});
});
- it('renders the milestone list if at least one milestone is associated to the release', () => {
- factory(release);
+ it('renders the milestone icon', () => {
+ expect(
+ milestoneListLabel()
+ .find(Icon)
+ .exists(),
+ ).toBe(true);
+ });
+
+ it('renders the label as "Milestones" if more than one milestone is passed in', () => {
+ expect(
+ milestoneListLabel()
+ .find('.js-label-text')
+ .text(),
+ ).toEqual('Milestones');
+ });
+
+ it('renders a link to the milestone with a tooltip', () => {
+ const milestone = first(release.milestones);
+ const milestoneLink = wrapper.find('.js-milestone-link');
+
+ expect(milestoneLink.exists()).toBe(true);
+
+ expect(milestoneLink.text()).toBe(milestone.title);
- expect(milestoneListExists()).toBe(true);
+ expect(milestoneLink.attributes('href')).toBe(milestone.web_url);
+
+ expect(milestoneLink.attributes('data-original-title')).toBe(milestone.description);
});
});
it('does not render the milestone list if no milestones are associated to the release', () => {
const releaseClone = JSON.parse(JSON.stringify(release));
- delete releaseClone.milestone;
+ delete releaseClone.milestones;
+
+ factory(releaseClone);
+
+ expect(milestoneListLabel().exists()).toBe(false);
+ });
+
+ it('renders the label as "Milestone" if only a single milestone is passed in', () => {
+ const releaseClone = JSON.parse(JSON.stringify(release));
+ releaseClone.milestones = releaseClone.milestones.slice(0, 1);
factory(releaseClone);
- expect(milestoneListExists()).toBe(false);
+ expect(
+ milestoneListLabel()
+ .find('.js-label-text')
+ .text(),
+ ).toEqual('Milestone');
});
it('renders upcoming release badge', () => {
diff --git a/spec/frontend/releases/mock_data.js b/spec/frontend/releases/mock_data.js
index aff441e675e..328199343f5 100644
--- a/spec/frontend/releases/mock_data.js
+++ b/spec/frontend/releases/mock_data.js
@@ -57,7 +57,7 @@ export const release = {
committed_date: '2019-08-26T17:47:07.000Z',
},
upcoming_release: false,
- milestone: milestones[0],
+ milestones,
assets: {
count: 5,
sources: [