From 9c6480db8993ee6f1d8d1fac29e044dd00d66465 Mon Sep 17 00:00:00 2001 From: Grzegorz Bizon Date: Tue, 20 Dec 2016 15:53:53 +0100 Subject: Move test for HTML stage endpoint to controller specs --- .../projects/pipelines_controller_spec.rb | 46 ++++++++++++++++++++++ spec/features/projects/pipelines/pipeline_spec.rb | 2 +- spec/features/projects/pipelines/pipelines_spec.rb | 32 --------------- 3 files changed, 47 insertions(+), 33 deletions(-) create mode 100644 spec/controllers/projects/pipelines_controller_spec.rb 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) } -- cgit v1.2.1