summaryrefslogtreecommitdiff
path: root/spec
diff options
context:
space:
mode:
authorFilipa Lacerda <filipa@gitlab.com>2018-04-06 17:50:19 +0100
committerFilipa Lacerda <filipa@gitlab.com>2018-04-06 17:50:19 +0100
commitab61eca7168602bbb4a80df673f7c74c7ccd84df (patch)
tree085bdbc120371c2ea6b5f085b6b190520430512e /spec
parent41ee09c9a06b41d904977def6e7824928f27596a (diff)
downloadgitlab-ce-ab61eca7168602bbb4a80df673f7c74c7ccd84df.tar.gz
Checks if commit information exists before trying to render it44296-commit-path
Diffstat (limited to 'spec')
-rw-r--r--spec/javascripts/vue_mr_widget/components/mr_widget_pipeline_spec.js40
1 files changed, 40 insertions, 0 deletions
diff --git a/spec/javascripts/vue_mr_widget/components/mr_widget_pipeline_spec.js b/spec/javascripts/vue_mr_widget/components/mr_widget_pipeline_spec.js
index 431cb7f3913..ea8007d2029 100644
--- a/spec/javascripts/vue_mr_widget/components/mr_widget_pipeline_spec.js
+++ b/spec/javascripts/vue_mr_widget/components/mr_widget_pipeline_spec.js
@@ -113,6 +113,46 @@ describe('MRWidgetPipeline', () => {
});
});
+ describe('without commit path', () => {
+ beforeEach(() => {
+ const mockCopy = Object.assign({}, mockData);
+ delete mockCopy.pipeline.commit;
+
+ vm = mountComponent(Component, {
+ pipeline: mockCopy.pipeline,
+ hasCi: true,
+ ciStatus: 'success',
+ });
+ });
+
+ it('should render pipeline ID', () => {
+ expect(
+ vm.$el.querySelector('.pipeline-id').textContent.trim(),
+ ).toEqual(`#${mockData.pipeline.id}`);
+ });
+
+ it('should render pipeline status', () => {
+ expect(
+ vm.$el.querySelector('.media-body').textContent.trim(),
+ ).toContain(mockData.pipeline.details.status.label);
+
+ expect(
+ vm.$el.querySelector('.js-commit-link'),
+ ).toBeNull();
+ });
+
+ it('should render pipeline graph', () => {
+ expect(vm.$el.querySelector('.mr-widget-pipeline-graph')).toBeDefined();
+ expect(vm.$el.querySelectorAll('.stage-container').length).toEqual(mockData.pipeline.details.stages.length);
+ });
+
+ it('should render coverage information', () => {
+ expect(
+ vm.$el.querySelector('.media-body').textContent,
+ ).toContain(`Coverage ${mockData.pipeline.coverage}`);
+ });
+ });
+
describe('without coverage', () => {
it('should not render a coverage', () => {
const mockCopy = Object.assign({}, mockData);