Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
G
gitlab-ce
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
1
Merge Requests
1
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
nexedi
gitlab-ce
Commits
8655855d
Commit
8655855d
authored
May 19, 2020
by
Imre Farkas
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Limit scope of admin mode in Groups::PushRulesController specs
parent
4d2882b1
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
87 additions
and
82 deletions
+87
-82
ee/spec/controllers/groups/push_rules_controller_spec.rb
ee/spec/controllers/groups/push_rules_controller_spec.rb
+87
-82
No files found.
ee/spec/controllers/groups/push_rules_controller_spec.rb
View file @
8655855d
...
...
@@ -74,15 +74,15 @@ describe Groups::PushRulesController do
patch
:update
,
params:
{
group_id:
group
,
push_rule:
{
prevent_secrets:
true
}
}
end
context
'when user is at least a maintainer'
do
before
do
sign_in
(
user
)
group
.
add_maintainer
(
user
)
end
context
'push rules unlicensed'
do
before
do
stub_licensed_features
(
push_rules:
false
)
group
.
add_maintainer
(
user
)
end
it
'returns 404 status'
do
...
...
@@ -92,18 +92,11 @@ describe Groups::PushRulesController do
end
end
context
'push rules licensed'
,
:enable_admin_mode
do
context
'push rules licensed'
do
before
do
stub_licensed_features
(
push_rules:
true
)
end
it
'updates the push rule'
do
do_update
expect
(
response
).
to
have_gitlab_http_status
(
:found
)
expect
(
group
.
reload
.
push_rule
.
prevent_secrets
).
to
be_truthy
end
shared_examples
'updateable setting'
do
|
rule_attr
,
new_value
|
it
'updates the setting'
do
patch
:update
,
params:
{
group_id:
group
,
push_rule:
{
rule_attr
=>
new_value
}
}
...
...
@@ -169,14 +162,27 @@ describe Groups::PushRulesController do
context
'as an admin'
do
let
(
:user
)
{
create
(
:admin
)
}
context
'when admin mode enabled'
,
:enable_admin_mode
do
it_behaves_like
'an updatable setting with global default'
,
rule_attr
,
updates:
true
end
context
'when admin mode disabled'
do
it_behaves_like
'a not updatable setting with global default'
,
rule_attr
,
updates:
true
end
end
context
'as a maintainer user'
do
before
do
group
.
add_maintainer
(
user
)
end
it
'updates the push rule'
do
do_update
expect
(
response
).
to
have_gitlab_http_status
(
:found
)
expect
(
group
.
reload
.
push_rule
.
prevent_secrets
).
to
be_truthy
end
context
"when global setting
#{
rule_attr
}
is disabled"
do
before
do
stub_licensed_features
(
rule_attr
=>
false
)
...
...
@@ -206,7 +212,6 @@ describe Groups::PushRulesController do
end
end
end
end
context
'when user role is lower than maintainer'
do
before
do
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment