summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon Knox <psimyn@gmail.com>2018-02-12 18:20:52 +1100
committerSimon Knox <psimyn@gmail.com>2018-02-12 18:22:32 +1100
commit4e732deca8feb3d3c1a0538ddb9a98e3c442bb27 (patch)
treee79c8751a2981409cf7893f07cddbcba666b2943
parent498ade4801a822f8704390b10d178af9fe7987cb (diff)
downloadgitlab-ce-34130-null-pipes.tar.gz
Prevent MR Widget error when no CI configured34130-null-pipes
-rw-r--r--app/assets/javascripts/vue_merge_request_widget/mr_widget_options.js1
-rw-r--r--changelogs/unreleased/34130-null-pipes.yml5
-rw-r--r--spec/javascripts/vue_mr_widget/mr_widget_options_spec.js9
3 files changed, 15 insertions, 0 deletions
diff --git a/app/assets/javascripts/vue_merge_request_widget/mr_widget_options.js b/app/assets/javascripts/vue_merge_request_widget/mr_widget_options.js
index edf67fcd0a7..d8f0442ef9d 100644
--- a/app/assets/javascripts/vue_merge_request_widget/mr_widget_options.js
+++ b/app/assets/javascripts/vue_merge_request_widget/mr_widget_options.js
@@ -152,6 +152,7 @@ export default {
},
handleNotification(data) {
if (data.ci_status === this.mr.ciStatus) return;
+ if (!data.pipeline) return;
const label = data.pipeline.details.status.label;
const title = `Pipeline ${label}`;
diff --git a/changelogs/unreleased/34130-null-pipes.yml b/changelogs/unreleased/34130-null-pipes.yml
new file mode 100644
index 00000000000..a56e5cf8db2
--- /dev/null
+++ b/changelogs/unreleased/34130-null-pipes.yml
@@ -0,0 +1,5 @@
+---
+title: Prevent MR Widget error when no CI configured
+merge_request:
+author:
+type: fixed
diff --git a/spec/javascripts/vue_mr_widget/mr_widget_options_spec.js b/spec/javascripts/vue_mr_widget/mr_widget_options_spec.js
index cd00d0a39a3..45035effe81 100644
--- a/spec/javascripts/vue_mr_widget/mr_widget_options_spec.js
+++ b/spec/javascripts/vue_mr_widget/mr_widget_options_spec.js
@@ -295,6 +295,15 @@ describe('mrWidgetOptions', () => {
expect(notify.notifyMe).not.toHaveBeenCalled();
});
+
+ it('should not notify if no pipeline provided', () => {
+ vm.handleNotification({
+ ...data,
+ pipeline: undefined,
+ });
+
+ expect(notify.notifyMe).not.toHaveBeenCalled();
+ });
});
describe('resumePolling', () => {