summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGrzegorz Bizon <grzesiek.bizon@gmail.com>2016-12-20 15:53:53 +0100
committerGrzegorz Bizon <grzesiek.bizon@gmail.com>2016-12-20 15:57:39 +0100
commit9c6480db8993ee6f1d8d1fac29e044dd00d66465 (patch)
tree22fab6fea8c6448e76d7d4f1dafed48b7e3c057d
parentb2daf9f16892f362f57a4a0f7990dbc2f6ab8429 (diff)
downloadgitlab-ce-9c6480db8993ee6f1d8d1fac29e044dd00d66465.tar.gz
Move test for HTML stage endpoint to controller specs
-rw-r--r--spec/controllers/projects/pipelines_controller_spec.rb46
-rw-r--r--spec/features/projects/pipelines/pipeline_spec.rb2
-rw-r--r--spec/features/projects/pipelines/pipelines_spec.rb32
3 files changed, 47 insertions, 33 deletions
diff --git a/spec/controllers/projects/pipelines_controller_spec.rb b/spec/controllers/projects/pipelines_controller_spec.rb
new file mode 100644
index 00000000000..94113250c9f
--- /dev/null
+++ b/spec/controllers/projects/pipelines_controller_spec.rb
@@ -0,0 +1,46 @@
+require 'spec_helper'
+
+describe Projects::PipelinesController do
+ include ApiHelpers
+
+ let(:user) { create(:user) }
+ let(:project) { create(:empty_project, :public) }
+ let(:pipeline) { create(:ci_pipeline, project: project) }
+
+ before do
+ sign_in(user)
+ end
+
+ describe 'GET stages.json' do
+ def get_stage(name)
+ get :stage, namespace_id: project.namespace.path,
+ project_id: project.path,
+ id: pipeline.id,
+ stage: name,
+ format: :json
+ end
+
+ context 'when accessing existing stage' do
+ before do
+ create(:ci_build, pipeline: pipeline, stage: 'build')
+
+ get_stage('build')
+ end
+
+ it 'returns html source for stage dropdown' do
+ expect(response).to have_http_status(:ok)
+ expect(response).to render_template('projects/pipelines/_stage')
+ expect(json_response).to include('html')
+ end
+ end
+
+ context 'when accessing unknown stage' do
+ before do
+ get_stage('test')
+ end
+
+ it { expect(response).to have_http_status(:not_found) }
+ end
+
+ end
+end
diff --git a/spec/features/projects/pipelines/pipeline_spec.rb b/spec/features/projects/pipelines/pipeline_spec.rb
index 1210e2745db..14e009daba8 100644
--- a/spec/features/projects/pipelines/pipeline_spec.rb
+++ b/spec/features/projects/pipelines/pipeline_spec.rb
@@ -1,6 +1,6 @@
require 'spec_helper'
-describe "Pipelines", feature: true, js: true do
+describe 'Pipeline', :feature, :js do
include GitlabRoutingHelper
let(:project) { create(:empty_project) }
diff --git a/spec/features/projects/pipelines/pipelines_spec.rb b/spec/features/projects/pipelines/pipelines_spec.rb
index 57abbf5d7a4..fa8ba21b389 100644
--- a/spec/features/projects/pipelines/pipelines_spec.rb
+++ b/spec/features/projects/pipelines/pipelines_spec.rb
@@ -199,38 +199,6 @@ describe "Pipelines", feature: true, js:true do
end
end
- describe 'GET /:project/pipelines/stage.json?name=stage' do
- let!(:pipeline) do
- create(:ci_empty_pipeline, project: project, ref: 'master',
- status: 'running')
- end
-
- context 'when accessing existing stage' do
- let!(:build) do
- create(:ci_build, pipeline: pipeline, stage: 'build')
- end
-
- before do
- visit stage_namespace_project_pipeline_path(
- project.namespace, project, pipeline, format: :json, stage: 'build')
- end
-
- it do
- expect(page).to have_http_status(:ok)
- expect(page.source).to include("html")
- end
- end
-
- context 'when accessing unknown stage' do
- before do
- visit stage_namespace_project_pipeline_path(
- project.namespace, project, pipeline, format: :json, stage: 'test')
- end
-
- it { expect(page).to have_http_status(:not_found) }
- end
- end
-
describe 'POST /:project/pipelines' do
let(:project) { create(:project) }