diff options
Diffstat (limited to 'spec/controllers/projects/builds_controller_spec.rb')
-rw-r--r-- | spec/controllers/projects/builds_controller_spec.rb | 104 |
1 files changed, 0 insertions, 104 deletions
diff --git a/spec/controllers/projects/builds_controller_spec.rb b/spec/controllers/projects/builds_controller_spec.rb deleted file mode 100644 index fb4ccfa58c2..00000000000 --- a/spec/controllers/projects/builds_controller_spec.rb +++ /dev/null @@ -1,104 +0,0 @@ -require 'spec_helper' - -describe Projects::BuildsController do - let(:user) { create(:user) } - let(:project) { create(:empty_project, :public) } - - before do - sign_in(user) - end - - describe 'GET index' do - context 'number of queries' do - before do - Ci::Build::AVAILABLE_STATUSES.each do |status| - create_build(status, status) - end - - RequestStore.begin! - end - - after do - RequestStore.end! - RequestStore.clear! - end - - def render - get :index, namespace_id: project.namespace, - project_id: project - end - - it "verifies number of queries" do - recorded = ActiveRecord::QueryRecorder.new { render } - expect(recorded.count).to be_within(5).of(8) - end - - def create_build(name, status) - pipeline = create(:ci_pipeline, project: project) - create(:ci_build, :tags, :triggered, :artifacts, - pipeline: pipeline, name: name, status: status) - end - end - end - - describe 'GET status.json' do - let(:pipeline) { create(:ci_pipeline, project: project) } - let(:build) { create(:ci_build, pipeline: pipeline) } - let(:status) { build.detailed_status(double('user')) } - - before do - get :status, namespace_id: project.namespace, - project_id: project, - id: build.id, - format: :json - end - - it 'return a detailed build status in json' do - expect(response).to have_http_status(:ok) - expect(json_response['text']).to eq status.text - expect(json_response['label']).to eq status.label - expect(json_response['icon']).to eq status.icon - expect(json_response['favicon']).to eq "/assets/ci_favicons/#{status.favicon}.ico" - end - end - - describe 'GET trace.json' do - let(:pipeline) { create(:ci_pipeline, project: project) } - let(:build) { create(:ci_build, pipeline: pipeline) } - let(:user) { create(:user) } - - context 'when user is logged in as developer' do - before do - project.add_developer(user) - sign_in(user) - get_trace - end - - it 'traces build log' do - expect(response).to have_http_status(:ok) - expect(json_response['id']).to eq build.id - expect(json_response['status']).to eq build.status - end - end - - context 'when user is logged in as non member' do - before do - sign_in(user) - get_trace - end - - it 'traces build log' do - expect(response).to have_http_status(:ok) - expect(json_response['id']).to eq build.id - expect(json_response['status']).to eq build.status - end - end - - def get_trace - get :trace, namespace_id: project.namespace, - project_id: project, - id: build.id, - format: :json - end - end -end |