diff options
author | Jose Ivan Vargas <jvargas@gitlab.com> | 2018-01-23 00:57:32 +0300 |
---|---|---|
committer | Jose Ivan Vargas <jvargas@gitlab.com> | 2018-01-30 18:24:57 +0300 |
commit | bfc2b8a3d2c06c80126365348ce75b3985185e83 (patch) | |
tree | 6c68670ea0a9da973589d722be8b26862e5bed16 | |
parent | 6042454600d79f1d6fb8e216c78b3e8b619a7a3e (diff) |
Added realtime prop and corrected specs
-rw-r--r-- | app/assets/javascripts/pages/projects/show/index.js | 19 | ||||
-rw-r--r-- | app/assets/javascripts/pages/projects/tree/show/index.js | 2 | ||||
-rw-r--r-- | app/assets/javascripts/projects/tree/components/commit_pipeline_status_component.vue (renamed from app/assets/javascripts/pages/projects/tree/components/commit_pipeline_status_component.vue) | 19 | ||||
-rw-r--r-- | app/assets/javascripts/projects/tree/services/commit_pipeline_service.js (renamed from app/assets/javascripts/pages/projects/tree/services/commit_pipeline_service.js) | 0 | ||||
-rw-r--r-- | features/project/project.feature | 1 | ||||
-rw-r--r-- | features/steps/shared/project.rb | 1 | ||||
-rw-r--r-- | spec/javascripts/commit/commit_pipeline_status_component_spec.js | 9 |
7 files changed, 44 insertions, 7 deletions
diff --git a/app/assets/javascripts/pages/projects/show/index.js b/app/assets/javascripts/pages/projects/show/index.js index 55154cdddcb..0213b46eb7c 100644 --- a/app/assets/javascripts/pages/projects/show/index.js +++ b/app/assets/javascripts/pages/projects/show/index.js @@ -1,3 +1,4 @@ +import Vue from 'vue'; import ShortcutsNavigation from '~/shortcuts_navigation'; import NotificationsForm from '~/notifications_form'; import UserCallout from '~/user_callout'; @@ -5,6 +6,7 @@ import TreeView from '~/tree'; import BlobViewer from '~/blob/viewer/index'; import Activities from '~/activities'; import { ajaxGet } from '~/lib/utils/common_utils'; +import commitPipelineStatus from '~/projects/tree/components/commit_pipeline_status_component.vue'; import Star from '../../../star'; import notificationsDropdown from '../../../notifications_dropdown'; @@ -24,4 +26,21 @@ export default () => { $('#tree-slider').waitForImages(() => { ajaxGet(document.querySelector('.js-tree-content').dataset.logsPath); }); + + const commitPipelineStatusEl = document.getElementById('commit-pipeline-status'); + // eslint-disable-next-line no-new + new Vue({ + el: '#commit-pipeline-status', + components: { + commitPipelineStatus, + }, + render(createElement) { + return createElement('commit-pipeline-status', { + props: { + endpoint: commitPipelineStatusEl.dataset.endpoint, + realtime: false, + }, + }); + }, + }); }; diff --git a/app/assets/javascripts/pages/projects/tree/show/index.js b/app/assets/javascripts/pages/projects/tree/show/index.js index 7181d4dfd47..c0b3f98e66d 100644 --- a/app/assets/javascripts/pages/projects/tree/show/index.js +++ b/app/assets/javascripts/pages/projects/tree/show/index.js @@ -1,10 +1,10 @@ import Vue from 'vue'; +import commitPipelineStatus from '~/projects/tree/components/commit_pipeline_status_component.vue'; import TreeView from '../../../../tree'; import ShortcutsNavigation from '../../../../shortcuts_navigation'; import BlobViewer from '../../../../blob/viewer'; import NewCommitForm from '../../../../new_commit_form'; import { ajaxGet } from '../../../../lib/utils/common_utils'; -import commitPipelineStatus from '../components/commit_pipeline_status_component.vue'; export default () => { new ShortcutsNavigation(); // eslint-disable-line no-new diff --git a/app/assets/javascripts/pages/projects/tree/components/commit_pipeline_status_component.vue b/app/assets/javascripts/projects/tree/components/commit_pipeline_status_component.vue index 2bd1e8e3266..e13acf8555a 100644 --- a/app/assets/javascripts/pages/projects/tree/components/commit_pipeline_status_component.vue +++ b/app/assets/javascripts/projects/tree/components/commit_pipeline_status_component.vue @@ -18,22 +18,33 @@ type: String, required: true, }, + realtime: { + type: Boolean, + required: false, + default: true, + }, }, data() { return { ciStatus: {}, isLoading: true, service: {}, + stageTitle: '', }; }, mounted() { this.service = new CommitPipelineService(this.endpoint); - this.initPolling(); + if (this.realtime) { + this.initPolling(); + } else { + this.fetchPipelineCommitData(); + } }, methods: { successCallback(res) { if (res.data.pipelines.length > 0) { - this.ciStatus = res.data.pipelines[0].details.status; + this.ciStatus = res.data.pipelines[0].details.stages[0].status; + this.stageTitle = res.data.pipelines[0].details.stages[0].title; this.isLoading = false; } else { this.isLoading = true; @@ -86,8 +97,8 @@ > <ci-icon v-tooltip - :title="ciStatus.text" - :aria-label="ciStatus.text" + :title="stageTitle" + :aria-label="stageTitle" data-container="body" :status="ciStatus" /> diff --git a/app/assets/javascripts/pages/projects/tree/services/commit_pipeline_service.js b/app/assets/javascripts/projects/tree/services/commit_pipeline_service.js index 4b4189bc2de..4b4189bc2de 100644 --- a/app/assets/javascripts/pages/projects/tree/services/commit_pipeline_service.js +++ b/app/assets/javascripts/projects/tree/services/commit_pipeline_service.js diff --git a/features/project/project.feature b/features/project/project.feature index 23817ef3ac9..bcd72c5c5a3 100644 --- a/features/project/project.feature +++ b/features/project/project.feature @@ -23,6 +23,7 @@ Feature: Project And I visit project "Shop" page Then I should see project "Shop" README + @javascript Scenario: I should see last commit with CI Given project "Shop" has CI enabled Given project "Shop" has CI build diff --git a/features/steps/shared/project.rb b/features/steps/shared/project.rb index affbccccdf9..923d54a6545 100644 --- a/features/steps/shared/project.rb +++ b/features/steps/shared/project.rb @@ -218,6 +218,7 @@ module SharedProject end step 'I should see last commit with CI status' do + sleep 2 page.within ".blob-commit-info" do expect(page).to have_content(project.commit.sha[0..6]) expect(page).to have_link("Commit: skipped") diff --git a/spec/javascripts/commit/commit_pipeline_status_component_spec.js b/spec/javascripts/commit/commit_pipeline_status_component_spec.js index f6fca9e97e5..2a52097e0d5 100644 --- a/spec/javascripts/commit/commit_pipeline_status_component_spec.js +++ b/spec/javascripts/commit/commit_pipeline_status_component_spec.js @@ -1,7 +1,7 @@ import Vue from 'vue'; import MockAdapter from 'axios-mock-adapter'; import axios from '~/lib/utils/axios_utils'; -import commitPipelineStatus from '~/pages/projects/tree/components/commit_pipeline_status_component.vue'; +import commitPipelineStatus from '~/projects/tree/components/commit_pipeline_status_component.vue'; import mountComponent from '../helpers/vue_mount_component_helper'; describe('Commit pipeline status component', () => { @@ -25,7 +25,12 @@ describe('Commit pipeline status component', () => { pipelines: [ { details: { - status: mockCiStatus, + stages: [ + { + status: mockCiStatus, + title: 'Commit: canceled', + }, + ], }, }, ], |