Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'spec/controllers/projects/deployments_controller_spec.rb')
-rw-r--r--spec/controllers/projects/deployments_controller_spec.rb43
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) }