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
a68b6315
Commit
a68b6315
authored
6 years ago
by
Aleksandr Soborov
Committed by
Rémy Coutable
6 years ago
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Extend Create New Merge Request test to also add a label
parent
d32ac958
No related merge requests found
Changes
14
Hide whitespace changes
Inline
Side-by-side
Showing
14 changed files
with
150 additions
and
12 deletions
+150
-12
app/views/layouts/nav/sidebar/_project.html.haml
app/views/layouts/nav/sidebar/_project.html.haml
+2
-2
app/views/projects/labels/index.html.haml
app/views/projects/labels/index.html.haml
+1
-1
app/views/shared/issuable/_label_dropdown.html.haml
app/views/shared/issuable/_label_dropdown.html.haml
+1
-1
app/views/shared/issuable/_sidebar.html.haml
app/views/shared/issuable/_sidebar.html.haml
+1
-1
app/views/shared/labels/_form.html.haml
app/views/shared/labels/_form.html.haml
+4
-4
qa/qa.rb
qa/qa.rb
+6
-0
qa/qa/factory/resource/label.rb
qa/qa/factory/resource/label.rb
+39
-0
qa/qa/factory/resource/merge_request.rb
qa/qa/factory/resource/merge_request.rb
+4
-0
qa/qa/page/label/index.rb
qa/qa/page/label/index.rb
+15
-0
qa/qa/page/label/new.rb
qa/qa/page/label/new.rb
+30
-0
qa/qa/page/merge_request/new.rb
qa/qa/page/merge_request/new.rb
+10
-0
qa/qa/page/merge_request/show.rb
qa/qa/page/merge_request/show.rb
+11
-0
qa/qa/page/project/menu.rb
qa/qa/page/project/menu.rb
+13
-0
qa/qa/specs/features/browser_ui/3_create/merge_request/create_merge_request_spec.rb
...er_ui/3_create/merge_request/create_merge_request_spec.rb
+13
-3
No files found.
app/views/layouts/nav/sidebar/_project.html.haml
View file @
a68b6315
...
...
@@ -86,7 +86,7 @@
-
if
project_nav_tab?
:issues
=
nav_link
(
controller:
@project
.
issues_enabled?
?
[
:issues
,
:labels
,
:milestones
,
:boards
]
:
:issues
)
do
=
link_to
project_issues_path
(
@project
),
class:
'shortcuts-issues'
do
=
link_to
project_issues_path
(
@project
),
class:
'shortcuts-issues
qa-issues-item
'
do
.nav-icon-container
=
sprite_icon
(
'issues'
)
%span
.nav-item-name
...
...
@@ -115,7 +115,7 @@
=
boards_link_text
=
nav_link
(
controller: :labels
)
do
=
link_to
project_labels_path
(
@project
),
title:
_
(
'Labels'
)
do
=
link_to
project_labels_path
(
@project
),
title:
_
(
'Labels'
)
,
class:
'qa-labels-link'
do
%span
=
_
(
'Labels'
)
...
...
This diff is collapsed.
Click to expand it.
app/views/projects/labels/index.html.haml
View file @
a68b6315
...
...
@@ -8,7 +8,7 @@
-
if
can_admin_label
-
content_for
(
:header_content
)
do
.nav-controls
=
link_to
_
(
'New label'
),
new_project_label_path
(
@project
),
class:
"btn btn-success"
=
link_to
_
(
'New label'
),
new_project_label_path
(
@project
),
class:
"btn btn-success
qa-label-create-new
"
-
if
labels_or_filters
#promote-label-modal
...
...
This diff is collapsed.
Click to expand it.
app/views/shared/issuable/_label_dropdown.html.haml
View file @
a68b6315
...
...
@@ -20,7 +20,7 @@
=
hidden_field_tag
data_options
[
:field_name
],
use_id
?
label
.
try
(
:id
)
:
label
.
try
(
:title
),
id:
nil
.dropdown
%button
.dropdown-menu-toggle.js-label-select.js-multiselect
{
class:
classes
.
join
(
' '
),
type:
"button"
,
data:
dropdown_data
}
%button
.dropdown-menu-toggle.js-label-select.js-multiselect
.qa-issuable-label
{
class:
classes
.
join
(
' '
),
type:
"button"
,
data:
dropdown_data
}
-
apply_is_default_styles
=
(
selected
.
nil?
||
selected
.
empty?
)
&&
!
no_default_styles
%span
.dropdown-toggle-text
{
class:
(
"is-default"
if
apply_is_default_styles
)
}
=
multi_label_name
(
selected
,
label_name
)
...
...
This diff is collapsed.
Click to expand it.
app/views/shared/issuable/_sidebar.html.haml
View file @
a68b6315
...
...
@@ -98,7 +98,7 @@
=
icon
(
'spinner spin'
,
class:
'hidden block-loading'
,
'aria-hidden'
:
'true'
)
-
if
can_edit_issuable
=
link_to
_
(
'Edit'
),
'#'
,
class:
'js-sidebar-dropdown-toggle edit-link float-right'
.value.issuable-show-labels.dont-hide.hide-collapsed
{
class:
(
"has-labels"
if
selected_labels
.
any?
)
}
.value.issuable-show-labels.dont-hide.hide-collapsed
.qa-labels-block
{
class:
(
"has-labels"
if
selected_labels
.
any?
)
}
-
if
selected_labels
.
any?
-
selected_labels
.
each
do
|
label
|
=
link_to_label
(
label
,
subject:
issuable
.
project
,
type:
issuable
.
to_ability_name
)
...
...
This diff is collapsed.
Click to expand it.
app/views/shared/labels/_form.html.haml
View file @
a68b6315
...
...
@@ -4,18 +4,18 @@
.form-group.row
=
f
.
label
:title
,
class:
'col-form-label col-sm-2'
.col-sm-10
=
f
.
text_field
:title
,
class:
"form-control"
,
required:
true
,
autofocus:
true
=
f
.
text_field
:title
,
class:
"form-control
qa-label-title
"
,
required:
true
,
autofocus:
true
.form-group.row
=
f
.
label
:description
,
class:
'col-form-label col-sm-2'
.col-sm-10
=
f
.
text_field
:description
,
class:
"form-control js-quick-submit"
=
f
.
text_field
:description
,
class:
"form-control js-quick-submit
qa-label-description
"
.form-group.row
=
f
.
label
:color
,
"Background color"
,
class:
'col-form-label col-sm-2'
.col-sm-10
.input-group
.input-group-prepend
.input-group-text.label-color-preview
=
f
.
text_field
:color
,
class:
"form-control"
=
f
.
text_field
:color
,
class:
"form-control
qa-label-color
"
.form-text.text-muted
Choose any color.
%br
...
...
@@ -30,5 +30,5 @@
-
if
@label
.
persisted?
=
f
.
submit
'Save changes'
,
class:
'btn btn-success js-save-button'
-
else
=
f
.
submit
'Create label'
,
class:
'btn btn-success js-save-button'
=
f
.
submit
'Create label'
,
class:
'btn btn-success js-save-button
qa-label-create-button
'
=
link_to
'Cancel'
,
back_path
,
class:
'btn btn-cancel'
This diff is collapsed.
Click to expand it.
qa/qa.rb
View file @
a68b6315
...
...
@@ -45,6 +45,7 @@ module QA
autoload
:Group
,
'qa/factory/resource/group'
autoload
:Issue
,
'qa/factory/resource/issue'
autoload
:Project
,
'qa/factory/resource/project'
autoload
:Label
,
'qa/factory/resource/label'
autoload
:MergeRequest
,
'qa/factory/resource/merge_request'
autoload
:ProjectImportedFromGithub
,
'qa/factory/resource/project_imported_from_github'
autoload
:MergeRequestFromFork
,
'qa/factory/resource/merge_request_from_fork'
...
...
@@ -240,6 +241,11 @@ module QA
autoload
:Banner
,
'qa/page/layout/banner'
end
module
Label
autoload
:New
,
'qa/page/label/new'
autoload
:Index
,
'qa/page/label/index'
end
module
MergeRequest
autoload
:New
,
'qa/page/merge_request/new'
autoload
:Show
,
'qa/page/merge_request/show'
...
...
This diff is collapsed.
Click to expand it.
qa/qa/factory/resource/label.rb
0 → 100644
View file @
a68b6315
require
'securerandom'
module
QA
module
Factory
module
Resource
class
Label
<
Factory
::
Base
attr_accessor
:title
,
:description
,
:color
product
(
:title
)
{
|
factory
|
factory
.
title
}
dependency
Factory
::
Resource
::
Project
,
as: :project
do
|
project
|
project
.
name
=
'project-with-label'
end
def
initialize
@title
=
"qa-test-
#{
SecureRandom
.
hex
(
8
)
}
"
@description
=
'This is a test label'
@color
=
'#0033CC'
end
def
fabricate!
project
.
visit!
Page
::
Project
::
Menu
.
act
{
go_to_labels
}
Page
::
Label
::
Index
.
act
{
go_to_new_label
}
Page
::
Label
::
New
.
perform
do
|
page
|
page
.
fill_title
(
@title
)
page
.
fill_description
(
@description
)
page
.
fill_color
(
@color
)
page
.
create_label
end
end
end
end
end
end
This diff is collapsed.
Click to expand it.
qa/qa/factory/resource/merge_request.rb
View file @
a68b6315
...
...
@@ -56,6 +56,10 @@ module QA
page
.
fill_title
(
@title
)
page
.
fill_description
(
@description
)
page
.
choose_milestone
(
@milestone
)
if
@milestone
labels
.
each
do
|
label
|
page
.
select_label
(
label
)
end
page
.
create_merge_request
end
end
...
...
This diff is collapsed.
Click to expand it.
qa/qa/page/label/index.rb
0 → 100644
View file @
a68b6315
module
QA
module
Page
module
Label
class
Index
<
Page
::
Base
view
'app/views/projects/labels/index.html.haml'
do
element
:label_create_new
end
def
go_to_new_label
click_element
:label_create_new
end
end
end
end
end
This diff is collapsed.
Click to expand it.
qa/qa/page/label/new.rb
0 → 100644
View file @
a68b6315
module
QA
module
Page
module
Label
class
New
<
Page
::
Base
view
'app/views/shared/labels/_form.html.haml'
do
element
:label_title
element
:label_description
element
:label_color
element
:label_create_button
end
def
create_label
click_element
:label_create_button
end
def
fill_title
(
title
)
fill_element
:label_title
,
title
end
def
fill_description
(
description
)
fill_element
:label_description
,
description
end
def
fill_color
(
color
)
fill_element
:label_color
,
color
end
end
end
end
end
This diff is collapsed.
Click to expand it.
qa/qa/page/merge_request/new.rb
View file @
a68b6315
...
...
@@ -22,6 +22,10 @@ module QA
element
:issuable_dropdown_menu_milestone
end
view
'app/views/shared/issuable/_label_dropdown.html.haml'
do
element
:issuable_label
end
def
create_merge_request
click_element
:issuable_create_button
end
...
...
@@ -40,6 +44,12 @@ module QA
click_on
milestone
.
title
end
end
def
select_label
(
label
)
click_element
:issuable_label
click_link
label
.
title
end
end
end
end
...
...
This diff is collapsed.
Click to expand it.
qa/qa/page/merge_request/show.rb
View file @
a68b6315
...
...
@@ -23,6 +23,10 @@ module QA
element
:squash_checkbox
end
view
'app/views/shared/issuable/_sidebar.html.haml'
do
element
:labels_block
end
def
fast_forward_possible?
!
has_text?
(
'Fast-forward merge is not possible'
)
end
...
...
@@ -64,6 +68,13 @@ module QA
end
end
def
has_label?
(
label
)
page
.
within
(
element_selector_css
(
:labels_block
))
do
element
=
find
(
'span'
,
text:
label
)
!
element
.
nil?
end
end
def
merge!
# The merge button is disabled on load
wait
do
...
...
This diff is collapsed.
Click to expand it.
qa/qa/page/project/menu.rb
View file @
a68b6315
...
...
@@ -22,6 +22,7 @@ module QA
element
:activity_link
,
"title: _('Activity')"
# rubocop:disable QA/ElementWithPattern
element
:wiki_link_text
,
"Wiki"
# rubocop:disable QA/ElementWithPattern
element
:milestones_link
element
:labels_link
end
view
'app/assets/javascripts/fly_out_nav.js'
do
...
...
@@ -104,8 +105,20 @@ module QA
end
end
def
go_to_labels
hover_issues
{
click_element
:labels_link
}
end
private
def
hover_issues
within_sidebar
do
find_element
(
:issues_item
).
hover
yield
end
end
def
hover_settings
within_sidebar
do
find
(
'.qa-settings-item'
).
hover
...
...
This diff is collapsed.
Click to expand it.
qa/qa/specs/features/browser_ui/3_create/merge_request/create_merge_request_spec.rb
View file @
a68b6315
...
...
@@ -16,16 +16,26 @@ module QA
milestone
.
project
=
current_project
end
new_label
=
Factory
::
Resource
::
Label
.
fabricate!
do
|
label
|
label
.
project
=
current_project
label
.
title
=
'qa-mr-test-label'
label
.
description
=
'Merge Request label'
end
Factory
::
Resource
::
MergeRequest
.
fabricate!
do
|
merge_request
|
merge_request
.
title
=
'This is a merge request with a milestone'
merge_request
.
description
=
'Great feature with milestone'
merge_request
.
project
=
current_project
merge_request
.
milestone
=
current_milestone
merge_request
.
labels
.
push
(
new_label
)
end
expect
(
page
).
to
have_content
(
'This is a merge request with a milestone'
)
expect
(
page
).
to
have_content
(
'Great feature with milestone'
)
expect
(
page
).
to
have_content
(
/Opened [\w\s]+ ago/
)
Page
::
MergeRequest
::
Show
.
perform
do
|
merge_request
|
expect
(
merge_request
).
to
have_content
(
'This is a merge request with a milestone'
)
expect
(
merge_request
).
to
have_content
(
'Great feature with milestone'
)
expect
(
merge_request
).
to
have_content
(
/Opened [\w\s]+ ago/
)
expect
(
merge_request
).
to
have_label
(
new_label
.
title
)
end
Page
::
Issuable
::
Sidebar
.
perform
do
|
sidebar
|
expect
(
sidebar
).
to
have_milestone
(
current_milestone
.
title
)
...
...
This diff is collapsed.
Click to expand it.
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