BigW Consortium Gitlab
Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
G
gitlab-ce
Project
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Open sidebar
Forest Godfrey
gitlab-ce
Commits
3ade2b6c
Commit
3ade2b6c
authored
Apr 27, 2018
by
Grzegorz Bizon
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'qa-fix-protected-branches-test-ce' into 'master'
CE: Fix QA protected branches tests See merge request gitlab-org/gitlab-ce!18585
parents
b51f6e2c
01ed8a8a
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
52 additions
and
9 deletions
+52
-9
_create_protected_branch.html.haml
...cts/protected_branches/_create_protected_branch.html.haml
+2
-2
_update_protected_branch.html.haml
...cts/protected_branches/_update_protected_branch.html.haml
+1
-1
branch.rb
qa/qa/factory/resource/branch.rb
+18
-1
protected_branches.rb
qa/qa/page/project/settings/protected_branches.rb
+24
-5
protected_branches_spec.rb
qa/qa/specs/features/repository/protected_branches_spec.rb
+7
-0
No files found.
app/views/projects/protected_branches/_create_protected_branch.html.haml
View file @
3ade2b6c
-
content_for
:merge_access_levels
do
.merge_access_levels-container
=
dropdown_tag
(
'Select'
,
options:
{
toggle_class:
'js-allowed-to-merge wide'
,
dropdown_class:
'dropdown-menu-selectable capitalize-header'
,
options:
{
toggle_class:
'js-allowed-to-merge
qa-allowed-to-merge-select
wide'
,
dropdown_class:
'dropdown-menu-selectable
qa-allowed-to-merge-dropdown
capitalize-header'
,
data:
{
field_name:
'protected_branch[merge_access_levels_attributes][0][access_level]'
,
input_id:
'merge_access_levels_attributes'
}})
-
content_for
:push_access_levels
do
.push_access_levels-container
...
...
app/views/projects/protected_branches/_update_protected_branch.html.haml
View file @
3ade2b6c
%td
=
hidden_field_tag
"allowed_to_merge_
#{
protected_branch
.
id
}
"
,
protected_branch
.
merge_access_levels
.
first
.
access_level
=
dropdown_tag
(
(
protected_branch
.
merge_access_levels
.
first
.
humanize
||
'Select'
)
,
options:
{
toggle_class:
'js-allowed-to-merge'
,
dropdown_class:
'dropdown-menu-selectable js-allowed-to-merge-container capitalize-header'
,
options:
{
toggle_class:
'js-allowed-to-merge
qa-allowed-to-merge
'
,
dropdown_class:
'dropdown-menu-selectable js-allowed-to-merge-container capitalize-header'
,
data:
{
field_name:
"allowed_to_merge_
#{
protected_branch
.
id
}
"
,
access_level_id:
protected_branch
.
merge_access_levels
.
first
.
id
}})
%td
=
hidden_field_tag
"allowed_to_push_
#{
protected_branch
.
id
}
"
,
protected_branch
.
push_access_levels
.
first
.
access_level
...
...
qa/qa/factory/resource/branch.rb
View file @
3ade2b6c
...
...
@@ -2,7 +2,8 @@ module QA
module
Factory
module
Resource
class
Branch
<
Factory
::
Base
attr_accessor
:project
,
:branch_name
,
:allow_to_push
,
:protected
attr_accessor
:project
,
:branch_name
,
:allow_to_push
,
:allow_to_merge
,
:protected
dependency
Factory
::
Resource
::
Project
,
as: :project
do
|
project
|
project
.
name
=
'protected-branch-project'
...
...
@@ -23,6 +24,7 @@ module QA
def
initialize
@branch_name
=
'test/branch'
@allow_to_push
=
true
@allow_to_merge
=
true
@protected
=
false
end
...
...
@@ -65,7 +67,22 @@ module QA
page
.
allow_no_one_to_push
end
if
allow_to_merge
page
.
allow_devs_and_masters_to_merge
else
page
.
allow_no_one_to_merge
end
page
.
wait
(
reload:
false
)
do
!
page
.
first
(
'.btn-create'
).
disabled?
end
page
.
protect_branch
# Wait for page load, which resets the expanded sections
page
.
wait
(
reload:
false
)
do
!
page
.
has_content?
(
'Collapse'
)
end
end
end
end
...
...
qa/qa/page/project/settings/protected_branches.rb
View file @
3ade2b6c
...
...
@@ -11,6 +11,13 @@ module QA
view
'app/views/projects/protected_branches/_create_protected_branch.html.haml'
do
element
:allowed_to_push_select
element
:allowed_to_push_dropdown
element
:allowed_to_merge_select
element
:allowed_to_merge_dropdown
end
view
'app/views/projects/protected_branches/_update_protected_branch.html.haml'
do
element
:allowed_to_push
element
:allowed_to_merge
end
view
'app/views/projects/protected_branches/shared/_branches_list.html.haml'
do
...
...
@@ -30,11 +37,19 @@ module QA
end
def
allow_no_one_to_push
allow_to_push
(
'No one'
)
click_allow
(
:push
,
'No one'
)
end
def
allow_devs_and_masters_to_push
allow_to_push
(
'Developers + Masters'
)
click_allow
(
:push
,
'Developers + Masters'
)
end
def
allow_no_one_to_merge
click_allow
(
:merge
,
'No one'
)
end
def
allow_devs_and_masters_to_merge
click_allow
(
:merge
,
'Developers + Masters'
)
end
def
protect_branch
...
...
@@ -55,11 +70,15 @@ module QA
private
def
allow_to_push
(
text
)
click_element
:
allowed_to_push_select
def
click_allow
(
action
,
text
)
click_element
:
"allowed_to_
#{
action
}
_select"
within_element
(
:
allowed_to_push_dropdown
)
do
within_element
(
:
"allowed_to_
#{
action
}
_dropdown"
)
do
click_on
text
wait
(
reload:
false
)
do
has_css?
(
'.is-active'
)
end
end
end
end
...
...
qa/qa/specs/features/repository/protected_branches_spec.rb
View file @
3ade2b6c
...
...
@@ -19,6 +19,13 @@ module QA
Page
::
Main
::
Login
.
act
{
sign_in_using_credentials
}
end
after
do
# We need to clear localStorage because we're using it for the dropdown,
# and capybara doesn't do this for us.
# https://github.com/teamcapybara/capybara/issues/1702
Capybara
.
execute_script
'localStorage.clear()'
end
scenario
'user is able to protect a branch'
do
protected_branch
=
Factory
::
Resource
::
Branch
.
fabricate!
do
|
resource
|
resource
.
branch_name
=
branch_name
...
...
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