diff options
Diffstat (limited to 'spec/controllers/projects/logs_controller_spec.rb')
-rw-r--r-- | spec/controllers/projects/logs_controller_spec.rb | 26 |
1 files changed, 20 insertions, 6 deletions
diff --git a/spec/controllers/projects/logs_controller_spec.rb b/spec/controllers/projects/logs_controller_spec.rb index 0f34e536064..d5c602df41d 100644 --- a/spec/controllers/projects/logs_controller_spec.rb +++ b/spec/controllers/projects/logs_controller_spec.rb @@ -22,8 +22,8 @@ RSpec.describe Projects::LogsController do describe 'GET #index' do let(:empty_project) { create(:project) } - it 'returns 404 with developer access' do - project.add_developer(user) + it 'returns 404 with reporter access' do + project.add_reporter(user) get :index, params: environment_params @@ -31,7 +31,7 @@ RSpec.describe Projects::LogsController do end it 'renders empty logs page if no environment exists' do - empty_project.add_maintainer(user) + empty_project.add_developer(user) get :index, params: { namespace_id: empty_project.namespace, project_id: empty_project } @@ -40,7 +40,7 @@ RSpec.describe Projects::LogsController do end it 'renders index template' do - project.add_maintainer(user) + project.add_developer(user) get :index, params: environment_params @@ -59,6 +59,7 @@ RSpec.describe Projects::LogsController do container_name: container } end + let(:service_result_json) { Gitlab::Json.parse(service_result.to_json) } let_it_be(:cluster) { create(:cluster, :provided_by_gcp, environment_scope: '*', projects: [project]) } @@ -69,14 +70,27 @@ RSpec.describe Projects::LogsController do end end - it 'returns 404 with developer access' do - project.add_developer(user) + it 'returns 404 with reporter access' do + project.add_reporter(user) get endpoint, params: environment_params(pod_name: pod_name, format: :json) expect(response).to have_gitlab_http_status(:not_found) end + context 'with developer access' do + before do + project.add_developer(user) + end + + it 'returns the service result' do + get endpoint, params: environment_params(pod_name: pod_name, format: :json) + + expect(response).to have_gitlab_http_status(:success) + expect(json_response).to eq(service_result_json) + end + end + context 'with maintainer access' do before do project.add_maintainer(user) |