summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarius Bobin <mbobin@gitlab.com>2019-08-20 12:19:13 +0300
committerMarius Bobin <mbobin@gitlab.com>2019-08-22 11:39:52 +0300
commit438b8be051f70fee04090eb4051fa01946c75432 (patch)
tree1cd68bb8ef45ca245eaec04f07e205a04a7ec729
parente67b44bc239bb5408aba8ec1d58bc9d04855a814 (diff)
downloadgitlab-ce-438b8be051f70fee04090eb4051fa01946c75432.tar.gz
Improve readability for pipelines visibility table
Gather project's visibility level constants in a hash and use the keys as reference.
-rw-r--r--spec/requests/api/pipelines_spec.rb355
1 files changed, 185 insertions, 170 deletions
diff --git a/spec/requests/api/pipelines_spec.rb b/spec/requests/api/pipelines_spec.rb
index 6d7d1508e77..bfe5406c5d6 100644
--- a/spec/requests/api/pipelines_spec.rb
+++ b/spec/requests/api/pipelines_spec.rb
@@ -301,182 +301,197 @@ describe API::Pipelines do
a_hash_including('message')
end
- where(:visibility_level, :builds_access_level, :public_builds, :is_admin, :user_role, :response_status) do
- Gitlab::VisibilityLevel::PRIVATE | ProjectFeature::ENABLED | true | true | nil | 404
- Gitlab::VisibilityLevel::PRIVATE | ProjectFeature::ENABLED | true | true | :non_member | 200
- Gitlab::VisibilityLevel::PRIVATE | ProjectFeature::ENABLED | true | true | :guest | 200
- Gitlab::VisibilityLevel::PRIVATE | ProjectFeature::ENABLED | true | true | :reporter | 200
- Gitlab::VisibilityLevel::PRIVATE | ProjectFeature::ENABLED | true | true | :developer | 200
- Gitlab::VisibilityLevel::PRIVATE | ProjectFeature::ENABLED | true | true | :maintainer | 200
-
- Gitlab::VisibilityLevel::PRIVATE | ProjectFeature::ENABLED | true | false | nil | 404
- Gitlab::VisibilityLevel::PRIVATE | ProjectFeature::ENABLED | true | false | :non_member | 404
- Gitlab::VisibilityLevel::PRIVATE | ProjectFeature::ENABLED | true | false | :guest | 200
- Gitlab::VisibilityLevel::PRIVATE | ProjectFeature::ENABLED | true | false | :reporter | 200
- Gitlab::VisibilityLevel::PRIVATE | ProjectFeature::ENABLED | true | false | :developer | 200
- Gitlab::VisibilityLevel::PRIVATE | ProjectFeature::ENABLED | true | false | :maintainer | 200
-
- Gitlab::VisibilityLevel::PRIVATE | ProjectFeature::ENABLED | false | true | nil | 404
- Gitlab::VisibilityLevel::PRIVATE | ProjectFeature::ENABLED | false | true | :non_member | 200
- Gitlab::VisibilityLevel::PRIVATE | ProjectFeature::ENABLED | false | true | :guest | 200
- Gitlab::VisibilityLevel::PRIVATE | ProjectFeature::ENABLED | false | true | :reporter | 200
- Gitlab::VisibilityLevel::PRIVATE | ProjectFeature::ENABLED | false | true | :developer | 200
- Gitlab::VisibilityLevel::PRIVATE | ProjectFeature::ENABLED | false | true | :maintainer | 200
-
- Gitlab::VisibilityLevel::PRIVATE | ProjectFeature::ENABLED | false | false | nil | 404
- Gitlab::VisibilityLevel::PRIVATE | ProjectFeature::ENABLED | false | false | :non_member | 404
- Gitlab::VisibilityLevel::PRIVATE | ProjectFeature::ENABLED | false | false | :guest | 403
- Gitlab::VisibilityLevel::PRIVATE | ProjectFeature::ENABLED | false | false | :reporter | 200
- Gitlab::VisibilityLevel::PRIVATE | ProjectFeature::ENABLED | false | false | :developer | 200
- Gitlab::VisibilityLevel::PRIVATE | ProjectFeature::ENABLED | false | false | :maintainer | 200
-
- Gitlab::VisibilityLevel::PRIVATE | ProjectFeature::PRIVATE | true | true | nil | 404
- Gitlab::VisibilityLevel::PRIVATE | ProjectFeature::PRIVATE | true | true | :non_member | 200
- Gitlab::VisibilityLevel::PRIVATE | ProjectFeature::PRIVATE | true | true | :guest | 200
- Gitlab::VisibilityLevel::PRIVATE | ProjectFeature::PRIVATE | true | true | :reporter | 200
- Gitlab::VisibilityLevel::PRIVATE | ProjectFeature::PRIVATE | true | true | :developer | 200
- Gitlab::VisibilityLevel::PRIVATE | ProjectFeature::PRIVATE | true | true | :maintainer | 200
-
- Gitlab::VisibilityLevel::PRIVATE | ProjectFeature::PRIVATE | true | false | nil | 404
- Gitlab::VisibilityLevel::PRIVATE | ProjectFeature::PRIVATE | true | false | :non_member | 404
- Gitlab::VisibilityLevel::PRIVATE | ProjectFeature::PRIVATE | true | false | :guest | 200
- Gitlab::VisibilityLevel::PRIVATE | ProjectFeature::PRIVATE | true | false | :reporter | 200
- Gitlab::VisibilityLevel::PRIVATE | ProjectFeature::PRIVATE | true | false | :developer | 200
- Gitlab::VisibilityLevel::PRIVATE | ProjectFeature::PRIVATE | true | false | :maintainer | 200
-
- Gitlab::VisibilityLevel::PRIVATE | ProjectFeature::PRIVATE | false | true | nil | 404
- Gitlab::VisibilityLevel::PRIVATE | ProjectFeature::PRIVATE | false | true | :non_member | 200
- Gitlab::VisibilityLevel::PRIVATE | ProjectFeature::PRIVATE | false | true | :guest | 200
- Gitlab::VisibilityLevel::PRIVATE | ProjectFeature::PRIVATE | false | true | :reporter | 200
- Gitlab::VisibilityLevel::PRIVATE | ProjectFeature::PRIVATE | false | true | :developer | 200
- Gitlab::VisibilityLevel::PRIVATE | ProjectFeature::PRIVATE | false | true | :maintainer | 200
-
- Gitlab::VisibilityLevel::PRIVATE | ProjectFeature::PRIVATE | false | false | nil | 404
- Gitlab::VisibilityLevel::PRIVATE | ProjectFeature::PRIVATE | false | false | :non_member | 404
- Gitlab::VisibilityLevel::PRIVATE | ProjectFeature::PRIVATE | false | false | :guest | 403
- Gitlab::VisibilityLevel::PRIVATE | ProjectFeature::PRIVATE | false | false | :reporter | 200
- Gitlab::VisibilityLevel::PRIVATE | ProjectFeature::PRIVATE | false | false | :developer | 200
- Gitlab::VisibilityLevel::PRIVATE | ProjectFeature::PRIVATE | false | false | :maintainer | 200
-
- Gitlab::VisibilityLevel::INTERNAL | ProjectFeature::ENABLED | true | true | nil | 404
- Gitlab::VisibilityLevel::INTERNAL | ProjectFeature::ENABLED | true | true | :non_member | 200
- Gitlab::VisibilityLevel::INTERNAL | ProjectFeature::ENABLED | true | true | :guest | 200
- Gitlab::VisibilityLevel::INTERNAL | ProjectFeature::ENABLED | true | true | :reporter | 200
- Gitlab::VisibilityLevel::INTERNAL | ProjectFeature::ENABLED | true | true | :developer | 200
- Gitlab::VisibilityLevel::INTERNAL | ProjectFeature::ENABLED | true | true | :maintainer | 200
-
- Gitlab::VisibilityLevel::INTERNAL | ProjectFeature::ENABLED | true | false | nil | 404
- Gitlab::VisibilityLevel::INTERNAL | ProjectFeature::ENABLED | true | false | :non_member | 200
- Gitlab::VisibilityLevel::INTERNAL | ProjectFeature::ENABLED | true | false | :guest | 200
- Gitlab::VisibilityLevel::INTERNAL | ProjectFeature::ENABLED | true | false | :reporter | 200
- Gitlab::VisibilityLevel::INTERNAL | ProjectFeature::ENABLED | true | false | :developer | 200
- Gitlab::VisibilityLevel::INTERNAL | ProjectFeature::ENABLED | true | false | :maintainer | 200
-
- Gitlab::VisibilityLevel::INTERNAL | ProjectFeature::ENABLED | false | true | nil | 404
- Gitlab::VisibilityLevel::INTERNAL | ProjectFeature::ENABLED | false | true | :non_member | 200
- Gitlab::VisibilityLevel::INTERNAL | ProjectFeature::ENABLED | false | true | :guest | 200
- Gitlab::VisibilityLevel::INTERNAL | ProjectFeature::ENABLED | false | true | :reporter | 200
- Gitlab::VisibilityLevel::INTERNAL | ProjectFeature::ENABLED | false | true | :developer | 200
- Gitlab::VisibilityLevel::INTERNAL | ProjectFeature::ENABLED | false | true | :maintainer | 200
-
- Gitlab::VisibilityLevel::INTERNAL | ProjectFeature::ENABLED | false | false | nil | 404
- Gitlab::VisibilityLevel::INTERNAL | ProjectFeature::ENABLED | false | false | :non_member | 403
- Gitlab::VisibilityLevel::INTERNAL | ProjectFeature::ENABLED | false | false | :guest | 403
- Gitlab::VisibilityLevel::INTERNAL | ProjectFeature::ENABLED | false | false | :reporter | 200
- Gitlab::VisibilityLevel::INTERNAL | ProjectFeature::ENABLED | false | false | :developer | 200
- Gitlab::VisibilityLevel::INTERNAL | ProjectFeature::ENABLED | false | false | :maintainer | 200
-
- Gitlab::VisibilityLevel::INTERNAL | ProjectFeature::PRIVATE | true | true | nil | 404
- Gitlab::VisibilityLevel::INTERNAL | ProjectFeature::PRIVATE | true | true | :non_member | 200
- Gitlab::VisibilityLevel::INTERNAL | ProjectFeature::PRIVATE | true | true | :guest | 200
- Gitlab::VisibilityLevel::INTERNAL | ProjectFeature::PRIVATE | true | true | :reporter | 200
- Gitlab::VisibilityLevel::INTERNAL | ProjectFeature::PRIVATE | true | true | :developer | 200
- Gitlab::VisibilityLevel::INTERNAL | ProjectFeature::PRIVATE | true | true | :maintainer | 200
-
- Gitlab::VisibilityLevel::INTERNAL | ProjectFeature::PRIVATE | true | false | nil | 404
- Gitlab::VisibilityLevel::INTERNAL | ProjectFeature::PRIVATE | true | false | :non_member | 403
- Gitlab::VisibilityLevel::INTERNAL | ProjectFeature::PRIVATE | true | false | :guest | 200
- Gitlab::VisibilityLevel::INTERNAL | ProjectFeature::PRIVATE | true | false | :reporter | 200
- Gitlab::VisibilityLevel::INTERNAL | ProjectFeature::PRIVATE | true | false | :developer | 200
- Gitlab::VisibilityLevel::INTERNAL | ProjectFeature::PRIVATE | true | false | :maintainer | 200
-
- Gitlab::VisibilityLevel::INTERNAL | ProjectFeature::PRIVATE | false | true | nil | 404
- Gitlab::VisibilityLevel::INTERNAL | ProjectFeature::PRIVATE | false | true | :non_member | 200
- Gitlab::VisibilityLevel::INTERNAL | ProjectFeature::PRIVATE | false | true | :guest | 200
- Gitlab::VisibilityLevel::INTERNAL | ProjectFeature::PRIVATE | false | true | :reporter | 200
- Gitlab::VisibilityLevel::INTERNAL | ProjectFeature::PRIVATE | false | true | :developer | 200
- Gitlab::VisibilityLevel::INTERNAL | ProjectFeature::PRIVATE | false | true | :maintainer | 200
-
- Gitlab::VisibilityLevel::INTERNAL | ProjectFeature::PRIVATE | false | false | nil | 404
- Gitlab::VisibilityLevel::INTERNAL | ProjectFeature::PRIVATE | false | false | :non_member | 403
- Gitlab::VisibilityLevel::INTERNAL | ProjectFeature::PRIVATE | false | false | :guest | 403
- Gitlab::VisibilityLevel::INTERNAL | ProjectFeature::PRIVATE | false | false | :reporter | 200
- Gitlab::VisibilityLevel::INTERNAL | ProjectFeature::PRIVATE | false | false | :developer | 200
- Gitlab::VisibilityLevel::INTERNAL | ProjectFeature::PRIVATE | false | false | :maintainer | 200
-
- Gitlab::VisibilityLevel::PUBLIC | ProjectFeature::ENABLED | true | true | nil | 200
- Gitlab::VisibilityLevel::PUBLIC | ProjectFeature::ENABLED | true | true | :non_member | 200
- Gitlab::VisibilityLevel::PUBLIC | ProjectFeature::ENABLED | true | true | :guest | 200
- Gitlab::VisibilityLevel::PUBLIC | ProjectFeature::ENABLED | true | true | :reporter | 200
- Gitlab::VisibilityLevel::PUBLIC | ProjectFeature::ENABLED | true | true | :developer | 200
- Gitlab::VisibilityLevel::PUBLIC | ProjectFeature::ENABLED | true | true | :maintainer | 200
-
- Gitlab::VisibilityLevel::PUBLIC | ProjectFeature::ENABLED | true | false | nil | 200
- Gitlab::VisibilityLevel::PUBLIC | ProjectFeature::ENABLED | true | false | :non_member | 200
- Gitlab::VisibilityLevel::PUBLIC | ProjectFeature::ENABLED | true | false | :guest | 200
- Gitlab::VisibilityLevel::PUBLIC | ProjectFeature::ENABLED | true | false | :reporter | 200
- Gitlab::VisibilityLevel::PUBLIC | ProjectFeature::ENABLED | true | false | :developer | 200
- Gitlab::VisibilityLevel::PUBLIC | ProjectFeature::ENABLED | true | false | :maintainer | 200
-
- Gitlab::VisibilityLevel::PUBLIC | ProjectFeature::ENABLED | false | true | nil | 403
- Gitlab::VisibilityLevel::PUBLIC | ProjectFeature::ENABLED | false | true | :non_member | 200
- Gitlab::VisibilityLevel::PUBLIC | ProjectFeature::ENABLED | false | true | :guest | 200
- Gitlab::VisibilityLevel::PUBLIC | ProjectFeature::ENABLED | false | true | :reporter | 200
- Gitlab::VisibilityLevel::PUBLIC | ProjectFeature::ENABLED | false | true | :developer | 200
- Gitlab::VisibilityLevel::PUBLIC | ProjectFeature::ENABLED | false | true | :maintainer | 200
-
- Gitlab::VisibilityLevel::PUBLIC | ProjectFeature::ENABLED | false | false | nil | 403
- Gitlab::VisibilityLevel::PUBLIC | ProjectFeature::ENABLED | false | false | :non_member | 403
- Gitlab::VisibilityLevel::PUBLIC | ProjectFeature::ENABLED | false | false | :guest | 403
- Gitlab::VisibilityLevel::PUBLIC | ProjectFeature::ENABLED | false | false | :reporter | 200
- Gitlab::VisibilityLevel::PUBLIC | ProjectFeature::ENABLED | false | false | :developer | 200
- Gitlab::VisibilityLevel::PUBLIC | ProjectFeature::ENABLED | false | false | :maintainer | 200
-
- Gitlab::VisibilityLevel::PUBLIC | ProjectFeature::PRIVATE | true | true | nil | 403
- Gitlab::VisibilityLevel::PUBLIC | ProjectFeature::PRIVATE | true | true | :non_member | 200
- Gitlab::VisibilityLevel::PUBLIC | ProjectFeature::PRIVATE | true | true | :guest | 200
- Gitlab::VisibilityLevel::PUBLIC | ProjectFeature::PRIVATE | true | true | :reporter | 200
- Gitlab::VisibilityLevel::PUBLIC | ProjectFeature::PRIVATE | true | true | :developer | 200
- Gitlab::VisibilityLevel::PUBLIC | ProjectFeature::PRIVATE | true | true | :maintainer | 200
-
- Gitlab::VisibilityLevel::PUBLIC | ProjectFeature::PRIVATE | true | false | nil | 403
- Gitlab::VisibilityLevel::PUBLIC | ProjectFeature::PRIVATE | true | false | :non_member | 403
- Gitlab::VisibilityLevel::PUBLIC | ProjectFeature::PRIVATE | true | false | :guest | 200
- Gitlab::VisibilityLevel::PUBLIC | ProjectFeature::PRIVATE | true | false | :reporter | 200
- Gitlab::VisibilityLevel::PUBLIC | ProjectFeature::PRIVATE | true | false | :developer | 200
- Gitlab::VisibilityLevel::PUBLIC | ProjectFeature::PRIVATE | true | false | :maintainer | 200
-
- Gitlab::VisibilityLevel::PUBLIC | ProjectFeature::PRIVATE | false | true | nil | 403
- Gitlab::VisibilityLevel::PUBLIC | ProjectFeature::PRIVATE | false | true | :non_member | 200
- Gitlab::VisibilityLevel::PUBLIC | ProjectFeature::PRIVATE | false | true | :guest | 200
- Gitlab::VisibilityLevel::PUBLIC | ProjectFeature::PRIVATE | false | true | :reporter | 200
- Gitlab::VisibilityLevel::PUBLIC | ProjectFeature::PRIVATE | false | true | :developer | 200
- Gitlab::VisibilityLevel::PUBLIC | ProjectFeature::PRIVATE | false | true | :maintainer | 200
-
- Gitlab::VisibilityLevel::PUBLIC | ProjectFeature::PRIVATE | false | false | nil | 403
- Gitlab::VisibilityLevel::PUBLIC | ProjectFeature::PRIVATE | false | false | :non_member | 403
- Gitlab::VisibilityLevel::PUBLIC | ProjectFeature::PRIVATE | false | false | :guest | 403
- Gitlab::VisibilityLevel::PUBLIC | ProjectFeature::PRIVATE | false | false | :reporter | 200
- Gitlab::VisibilityLevel::PUBLIC | ProjectFeature::PRIVATE | false | false | :developer | 200
- Gitlab::VisibilityLevel::PUBLIC | ProjectFeature::PRIVATE | false | false | :maintainer | 200
+ let(:visibility_levels) do
+ {
+ private: Gitlab::VisibilityLevel::PRIVATE,
+ internal: Gitlab::VisibilityLevel::INTERNAL,
+ public: Gitlab::VisibilityLevel::PUBLIC
+ }
+ end
+
+ let(:builds_access_levels) do
+ {
+ enabled: ProjectFeature::ENABLED,
+ private: ProjectFeature::PRIVATE
+ }
+ end
+
+ where(:visibility_level, :builds_access_level, :public_builds, :is_admin, :user_role, :response_status) do
+ :private | :enabled | true | true | nil | 404
+ :private | :enabled | true | true | :non_member | 200
+ :private | :enabled | true | true | :guest | 200
+ :private | :enabled | true | true | :reporter | 200
+ :private | :enabled | true | true | :developer | 200
+ :private | :enabled | true | true | :maintainer | 200
+
+ :private | :enabled | true | false | nil | 404
+ :private | :enabled | true | false | :non_member | 404
+ :private | :enabled | true | false | :guest | 200
+ :private | :enabled | true | false | :reporter | 200
+ :private | :enabled | true | false | :developer | 200
+ :private | :enabled | true | false | :maintainer | 200
+
+ :private | :enabled | false | true | nil | 404
+ :private | :enabled | false | true | :non_member | 200
+ :private | :enabled | false | true | :guest | 200
+ :private | :enabled | false | true | :reporter | 200
+ :private | :enabled | false | true | :developer | 200
+ :private | :enabled | false | true | :maintainer | 200
+
+ :private | :enabled | false | false | nil | 404
+ :private | :enabled | false | false | :non_member | 404
+ :private | :enabled | false | false | :guest | 403
+ :private | :enabled | false | false | :reporter | 200
+ :private | :enabled | false | false | :developer | 200
+ :private | :enabled | false | false | :maintainer | 200
+
+ :private | :private | true | true | nil | 404
+ :private | :private | true | true | :non_member | 200
+ :private | :private | true | true | :guest | 200
+ :private | :private | true | true | :reporter | 200
+ :private | :private | true | true | :developer | 200
+ :private | :private | true | true | :maintainer | 200
+
+ :private | :private | true | false | nil | 404
+ :private | :private | true | false | :non_member | 404
+ :private | :private | true | false | :guest | 200
+ :private | :private | true | false | :reporter | 200
+ :private | :private | true | false | :developer | 200
+ :private | :private | true | false | :maintainer | 200
+
+ :private | :private | false | true | nil | 404
+ :private | :private | false | true | :non_member | 200
+ :private | :private | false | true | :guest | 200
+ :private | :private | false | true | :reporter | 200
+ :private | :private | false | true | :developer | 200
+ :private | :private | false | true | :maintainer | 200
+
+ :private | :private | false | false | nil | 404
+ :private | :private | false | false | :non_member | 404
+ :private | :private | false | false | :guest | 403
+ :private | :private | false | false | :reporter | 200
+ :private | :private | false | false | :developer | 200
+ :private | :private | false | false | :maintainer | 200
+
+ :internal | :enabled | true | true | nil | 404
+ :internal | :enabled | true | true | :non_member | 200
+ :internal | :enabled | true | true | :guest | 200
+ :internal | :enabled | true | true | :reporter | 200
+ :internal | :enabled | true | true | :developer | 200
+ :internal | :enabled | true | true | :maintainer | 200
+
+ :internal | :enabled | true | false | nil | 404
+ :internal | :enabled | true | false | :non_member | 200
+ :internal | :enabled | true | false | :guest | 200
+ :internal | :enabled | true | false | :reporter | 200
+ :internal | :enabled | true | false | :developer | 200
+ :internal | :enabled | true | false | :maintainer | 200
+
+ :internal | :enabled | false | true | nil | 404
+ :internal | :enabled | false | true | :non_member | 200
+ :internal | :enabled | false | true | :guest | 200
+ :internal | :enabled | false | true | :reporter | 200
+ :internal | :enabled | false | true | :developer | 200
+ :internal | :enabled | false | true | :maintainer | 200
+
+ :internal | :enabled | false | false | nil | 404
+ :internal | :enabled | false | false | :non_member | 403
+ :internal | :enabled | false | false | :guest | 403
+ :internal | :enabled | false | false | :reporter | 200
+ :internal | :enabled | false | false | :developer | 200
+ :internal | :enabled | false | false | :maintainer | 200
+
+ :internal | :private | true | true | nil | 404
+ :internal | :private | true | true | :non_member | 200
+ :internal | :private | true | true | :guest | 200
+ :internal | :private | true | true | :reporter | 200
+ :internal | :private | true | true | :developer | 200
+ :internal | :private | true | true | :maintainer | 200
+
+ :internal | :private | true | false | nil | 404
+ :internal | :private | true | false | :non_member | 403
+ :internal | :private | true | false | :guest | 200
+ :internal | :private | true | false | :reporter | 200
+ :internal | :private | true | false | :developer | 200
+ :internal | :private | true | false | :maintainer | 200
+
+ :internal | :private | false | true | nil | 404
+ :internal | :private | false | true | :non_member | 200
+ :internal | :private | false | true | :guest | 200
+ :internal | :private | false | true | :reporter | 200
+ :internal | :private | false | true | :developer | 200
+ :internal | :private | false | true | :maintainer | 200
+
+ :internal | :private | false | false | nil | 404
+ :internal | :private | false | false | :non_member | 403
+ :internal | :private | false | false | :guest | 403
+ :internal | :private | false | false | :reporter | 200
+ :internal | :private | false | false | :developer | 200
+ :internal | :private | false | false | :maintainer | 200
+
+ :public | :enabled | true | true | nil | 200
+ :public | :enabled | true | true | :non_member | 200
+ :public | :enabled | true | true | :guest | 200
+ :public | :enabled | true | true | :reporter | 200
+ :public | :enabled | true | true | :developer | 200
+ :public | :enabled | true | true | :maintainer | 200
+
+ :public | :enabled | true | false | nil | 200
+ :public | :enabled | true | false | :non_member | 200
+ :public | :enabled | true | false | :guest | 200
+ :public | :enabled | true | false | :reporter | 200
+ :public | :enabled | true | false | :developer | 200
+ :public | :enabled | true | false | :maintainer | 200
+
+ :public | :enabled | false | true | nil | 403
+ :public | :enabled | false | true | :non_member | 200
+ :public | :enabled | false | true | :guest | 200
+ :public | :enabled | false | true | :reporter | 200
+ :public | :enabled | false | true | :developer | 200
+ :public | :enabled | false | true | :maintainer | 200
+
+ :public | :enabled | false | false | nil | 403
+ :public | :enabled | false | false | :non_member | 403
+ :public | :enabled | false | false | :guest | 403
+ :public | :enabled | false | false | :reporter | 200
+ :public | :enabled | false | false | :developer | 200
+ :public | :enabled | false | false | :maintainer | 200
+
+ :public | :private | true | true | nil | 403
+ :public | :private | true | true | :non_member | 200
+ :public | :private | true | true | :guest | 200
+ :public | :private | true | true | :reporter | 200
+ :public | :private | true | true | :developer | 200
+ :public | :private | true | true | :maintainer | 200
+
+ :public | :private | true | false | nil | 403
+ :public | :private | true | false | :non_member | 403
+ :public | :private | true | false | :guest | 200
+ :public | :private | true | false | :reporter | 200
+ :public | :private | true | false | :developer | 200
+ :public | :private | true | false | :maintainer | 200
+
+ :public | :private | false | true | nil | 403
+ :public | :private | false | true | :non_member | 200
+ :public | :private | false | true | :guest | 200
+ :public | :private | false | true | :reporter | 200
+ :public | :private | false | true | :developer | 200
+ :public | :private | false | true | :maintainer | 200
+
+ :public | :private | false | false | nil | 403
+ :public | :private | false | false | :non_member | 403
+ :public | :private | false | false | :guest | 403
+ :public | :private | false | false | :reporter | 200
+ :public | :private | false | false | :developer | 200
+ :public | :private | false | false | :maintainer | 200
end
with_them do
before do
ci_user.update!(admin: is_admin)
- project.update!(visibility_level: visibility_level, public_builds: public_builds)
- project.project_feature.update!(builds_access_level: builds_access_level)
+ project.update!(visibility_level: visibility_levels[visibility_level], public_builds: public_builds)
+ project.project_feature.update!(builds_access_level: builds_access_levels[builds_access_level])
project.add_role(ci_user, user_role) if user_role && user_role != :non_member
get api("/projects/#{project.id}/pipelines", user_role && ci_user)