From 5d0c5663a0368545653be3992c364eea74830062 Mon Sep 17 00:00:00 2001 From: Filipa Lacerda Date: Thu, 9 Feb 2017 16:36:32 +0000 Subject: [PATCH 1/2] Adds `.json` to the endpoint requested in order to avoid showing JSON --- .../javascripts/commit/pipelines/pipelines_service.js.es6 | 2 +- .../27932-merge-request-pipelines-displays-json.yml | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) create mode 100644 changelogs/unreleased/27932-merge-request-pipelines-displays-json.yml diff --git a/app/assets/javascripts/commit/pipelines/pipelines_service.js.es6 b/app/assets/javascripts/commit/pipelines/pipelines_service.js.es6 index 483b414126a..e9cae893857 100644 --- a/app/assets/javascripts/commit/pipelines/pipelines_service.js.es6 +++ b/app/assets/javascripts/commit/pipelines/pipelines_service.js.es6 @@ -9,7 +9,7 @@ */ class PipelinesService { constructor(endpoint) { - this.pipelines = Vue.resource(endpoint); + this.pipelines = Vue.resource(`${endpoint}.json`); } /** diff --git a/changelogs/unreleased/27932-merge-request-pipelines-displays-json.yml b/changelogs/unreleased/27932-merge-request-pipelines-displays-json.yml new file mode 100644 index 00000000000..b7505e28401 --- /dev/null +++ b/changelogs/unreleased/27932-merge-request-pipelines-displays-json.yml @@ -0,0 +1,4 @@ +--- +title: Fix Merge request pipelines displays JSON +merge_request: +author: From 86558d53ddcf008fff396d25c38c9462fb77f615 Mon Sep 17 00:00:00 2001 From: Filipa Lacerda Date: Fri, 10 Feb 2017 19:41:15 +0000 Subject: [PATCH 2/2] Adds verification in case the endpoint already has `.json` --- .../commit/pipelines/pipelines_service.js.es6 | 19 +++++++++++++++++-- .../merge_requests/create_new_mr_spec.rb | 3 +++ 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/app/assets/javascripts/commit/pipelines/pipelines_service.js.es6 b/app/assets/javascripts/commit/pipelines/pipelines_service.js.es6 index e9cae893857..8ae98f9bf97 100644 --- a/app/assets/javascripts/commit/pipelines/pipelines_service.js.es6 +++ b/app/assets/javascripts/commit/pipelines/pipelines_service.js.es6 @@ -8,8 +8,23 @@ * Uses Vue.Resource */ class PipelinesService { - constructor(endpoint) { - this.pipelines = Vue.resource(`${endpoint}.json`); + + /** + * FIXME: The url provided to request the pipelines in the new merge request + * page already has `.json`. + * This should be fixed when the endpoint is improved. + * + * @param {String} root + */ + constructor(root) { + let endpoint; + + if (root.indexOf('.json') === -1) { + endpoint = `${root}.json`; + } else { + endpoint = root; + } + this.pipelines = Vue.resource(endpoint); } /** diff --git a/spec/features/merge_requests/create_new_mr_spec.rb b/spec/features/merge_requests/create_new_mr_spec.rb index e853fb7e016..0832a3656a8 100644 --- a/spec/features/merge_requests/create_new_mr_spec.rb +++ b/spec/features/merge_requests/create_new_mr_spec.rb @@ -1,6 +1,8 @@ require 'spec_helper' feature 'Create New Merge Request', feature: true, js: true do + include WaitForVueResource + let(:user) { create(:user) } let(:project) { create(:project, :public) } @@ -99,6 +101,7 @@ feature 'Create New Merge Request', feature: true, js: true do page.within('.merge-request') do click_link 'Pipelines' + wait_for_vue_resource expect(page).to have_content "##{pipeline.id}" end