Commit 8df13b48 authored by Simon Knox's avatar Simon Knox

Hide Expand button on Performance MR Widget if no changes

parent 25cac8f4
...@@ -54,8 +54,7 @@ export default { ...@@ -54,8 +54,7 @@ export default {
return ( return (
this.mr.performanceMetrics && this.mr.performanceMetrics &&
((this.mr.performanceMetrics.degraded && this.mr.performanceMetrics.degraded.length > 0) || ((this.mr.performanceMetrics.degraded && this.mr.performanceMetrics.degraded.length > 0) ||
(this.mr.performanceMetrics.improved && this.mr.performanceMetrics.improved.length > 0) || (this.mr.performanceMetrics.improved && this.mr.performanceMetrics.improved.length > 0))
(this.mr.performanceMetrics.neutral && this.mr.performanceMetrics.neutral.length > 0))
); );
}, },
hasLicenseReportIssues() { hasLicenseReportIssues() {
...@@ -268,7 +267,6 @@ export default { ...@@ -268,7 +267,6 @@ export default {
:success-text="performanceText" :success-text="performanceText"
:unresolved-issues="mr.performanceMetrics.degraded" :unresolved-issues="mr.performanceMetrics.degraded"
:resolved-issues="mr.performanceMetrics.improved" :resolved-issues="mr.performanceMetrics.improved"
:neutral-issues="mr.performanceMetrics.neutral"
:has-issues="hasPerformanceMetrics" :has-issues="hasPerformanceMetrics"
:component="$options.componentNames.PerformanceIssueBody" :component="$options.componentNames.PerformanceIssueBody"
class="js-performance-widget mr-widget-border-top" class="js-performance-widget mr-widget-border-top"
......
...@@ -66,7 +66,6 @@ export default class MergeRequestStore extends CEMergeRequestStore { ...@@ -66,7 +66,6 @@ export default class MergeRequestStore extends CEMergeRequestStore {
this.performanceMetrics = { this.performanceMetrics = {
improved: [], improved: [],
degraded: [], degraded: [],
neutral: [],
}; };
} }
...@@ -97,7 +96,6 @@ export default class MergeRequestStore extends CEMergeRequestStore { ...@@ -97,7 +96,6 @@ export default class MergeRequestStore extends CEMergeRequestStore {
const improved = []; const improved = [];
const degraded = []; const degraded = [];
const neutral = [];
Object.keys(headMetricsIndexed).forEach(subject => { Object.keys(headMetricsIndexed).forEach(subject => {
const subjectMetrics = headMetricsIndexed[subject]; const subjectMetrics = headMetricsIndexed[subject];
...@@ -115,24 +113,18 @@ export default class MergeRequestStore extends CEMergeRequestStore { ...@@ -115,24 +113,18 @@ export default class MergeRequestStore extends CEMergeRequestStore {
delta: headMetricData.value - baseMetricData.value, delta: headMetricData.value - baseMetricData.value,
}; };
if (metricData.delta === 0) { if (metricData.delta !== 0) {
neutral.push(metricData); if (metricDirection > 0) {
} else if (metricData.delta * metricDirection > 0) { improved.push(metricData);
improved.push(metricData); } else {
} else { degraded.push(metricData);
degraded.push(metricData); }
} }
} else {
neutral.push({
name: metric,
path: subject,
score: headMetricData.value,
});
} }
}); });
}); });
this.performanceMetrics = { improved, degraded, neutral }; this.performanceMetrics = { improved, degraded };
} }
parseLicenseReportMetrics(headMetrics, baseMetrics) { parseLicenseReportMetrics(headMetrics, baseMetrics) {
......
---
title: Hide Expand button on empty MR widget Performance section
merge_request: 6685
author:
type: fixed
...@@ -484,21 +484,29 @@ describe('ee merge request widget options', () => { ...@@ -484,21 +484,29 @@ describe('ee merge request widget options', () => {
}); });
describe('with empty successful request', () => { describe('with empty successful request', () => {
beforeEach(() => { beforeEach(done => {
mock.onGet('head.json').reply(200, []); mock.onGet('head.json').reply(200, []);
mock.onGet('base.json').reply(200, []); mock.onGet('base.json').reply(200, []);
vm = mountComponent(Component); vm = mountComponent(Component);
// wait for network request from component created() method
setTimeout(done, 0);
}); });
it('should render provided data', done => { it('should render provided data', () => {
setTimeout(() => { expect(
expect( removeBreakLine(
removeBreakLine( vm.$el.querySelector('.js-performance-widget .js-code-text').textContent,
vm.$el.querySelector('.js-performance-widget .js-code-text').textContent, ),
), ).toEqual('No changes to performance metrics');
).toEqual('No changes to performance metrics'); });
done();
}, 0); it('does not show Expand button', () => {
const expandButton = vm.$el.querySelector('.js-performance-widget .js-collapse-btn');
expect(expandButton).toBeNull();
});
it('shows success icon', () => {
expect(vm.$el.querySelector('.js-performance-widget .js-ci-status-icon-success')).not.toBeNull();
}); });
}); });
......
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