diff options
Diffstat (limited to 'spec/controllers/projects/deployments_controller_spec.rb')
-rw-r--r-- | spec/controllers/projects/deployments_controller_spec.rb | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/spec/controllers/projects/deployments_controller_spec.rb b/spec/controllers/projects/deployments_controller_spec.rb index a696eb933e9..abf12f0c3bf 100644 --- a/spec/controllers/projects/deployments_controller_spec.rb +++ b/spec/controllers/projects/deployments_controller_spec.rb @@ -84,6 +84,49 @@ RSpec.describe Projects::DeploymentsController do end end + describe 'GET #show' do + let(:deployment) { create(:deployment, :success, environment: environment) } + + subject do + get :show, params: deployment_params(id: deployment.iid) + end + + context 'without feature flag' do + before do + stub_feature_flags(deployment_details_page: false) + end + + it 'renders a 404' do + is_expected.to have_gitlab_http_status(:not_found) + end + end + + context 'with feature flag' do + before do + stub_feature_flags(deployment_details_page: true) + end + + context 'as maintainer' do + it 'renders show with 200 status code' do + is_expected.to have_gitlab_http_status(:ok) + is_expected.to render_template(:show) + end + end + + context 'as anonymous user' do + let(:anonymous_user) { create(:user) } + + before do + sign_in(anonymous_user) + end + + it 'renders a 404' do + is_expected.to have_gitlab_http_status(:not_found) + end + end + end + end + describe 'GET #metrics' do let(:deployment) { create(:deployment, :success, project: project, environment: environment) } |