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
0
Merge Requests
0
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
Léo-Paul Géneau
gitlab-ce
Commits
91f235df
Commit
91f235df
authored
Oct 29, 2018
by
Heinrich Lee Yu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fix tests
parent
ee4a7811
Changes
19
Hide whitespace changes
Inline
Side-by-side
Showing
19 changed files
with
73 additions
and
183 deletions
+73
-183
app/assets/javascripts/search_autocomplete.js
app/assets/javascripts/search_autocomplete.js
+4
-5
app/controllers/dashboard_controller.rb
app/controllers/dashboard_controller.rb
+3
-0
app/controllers/root_controller.rb
app/controllers/root_controller.rb
+2
-2
app/helpers/application_helper.rb
app/helpers/application_helper.rb
+2
-0
app/views/dashboard/issues.html.haml
app/views/dashboard/issues.html.haml
+1
-1
app/views/dashboard/merge_requests.html.haml
app/views/dashboard/merge_requests.html.haml
+1
-1
spec/controllers/root_controller_spec.rb
spec/controllers/root_controller_spec.rb
+2
-2
spec/features/atom/dashboard_issues_spec.rb
spec/features/atom/dashboard_issues_spec.rb
+6
-6
spec/features/dashboard/issuables_counter_spec.rb
spec/features/dashboard/issuables_counter_spec.rb
+2
-2
spec/features/dashboard/issues_filter_spec.rb
spec/features/dashboard/issues_filter_spec.rb
+9
-22
spec/features/dashboard/issues_spec.rb
spec/features/dashboard/issues_spec.rb
+6
-21
spec/features/dashboard/label_filter_spec.rb
spec/features/dashboard/label_filter_spec.rb
+9
-6
spec/features/dashboard/merge_requests_spec.rb
spec/features/dashboard/merge_requests_spec.rb
+7
-8
spec/features/dashboard/milestone_filter_spec.rb
spec/features/dashboard/milestone_filter_spec.rb
+0
-77
spec/features/issues/user_sorts_issues_spec.rb
spec/features/issues/user_sorts_issues_spec.rb
+1
-1
spec/features/merge_requests/user_sorts_merge_requests_spec.rb
...features/merge_requests/user_sorts_merge_requests_spec.rb
+2
-2
spec/features/search/user_uses_header_search_field_spec.rb
spec/features/search/user_uses_header_search_field_spec.rb
+12
-4
spec/javascripts/search_autocomplete_spec.js
spec/javascripts/search_autocomplete_spec.js
+4
-4
spec/support/helpers/filter_item_select_helper.rb
spec/support/helpers/filter_item_select_helper.rb
+0
-19
No files found.
app/assets/javascripts/search_autocomplete.js
View file @
91f235df
...
...
@@ -253,7 +253,6 @@ export class SearchAutocomplete {
}
getCategoryContents
()
{
const
userId
=
gon
.
current_user_id
;
const
userName
=
gon
.
current_username
;
const
{
projectOptions
,
groupOptions
,
dashboardOptions
}
=
gl
;
...
...
@@ -279,21 +278,21 @@ export class SearchAutocomplete {
const
issueItems
=
[
{
text
:
s__
(
'
SearchAutocomplete|Issues assigned to me
'
),
url
:
`
${
issuesPath
}
/?assignee_
id=
${
userId
}
`
,
url
:
`
${
issuesPath
}
/?assignee_
username=
${
userName
}
`
,
},
{
text
:
s__
(
"
SearchAutocomplete|Issues I've created
"
),
url
:
`
${
issuesPath
}
/?author_
id=
${
userId
}
`
,
url
:
`
${
issuesPath
}
/?author_
username=
${
userName
}
`
,
},
];
const
mergeRequestItems
=
[
{
text
:
s__
(
'
SearchAutocomplete|Merge requests assigned to me
'
),
url
:
`
${
mrPath
}
/?assignee_
id=
${
userId
}
`
,
url
:
`
${
mrPath
}
/?assignee_
username=
${
userName
}
`
,
},
{
text
:
s__
(
"
SearchAutocomplete|Merge requests I've created
"
),
url
:
`
${
mrPath
}
/?author_
id=
${
userId
}
`
,
url
:
`
${
mrPath
}
/?author_
username=
${
userName
}
`
,
},
];
...
...
app/controllers/dashboard_controller.rb
View file @
91f235df
...
...
@@ -5,6 +5,9 @@ class DashboardController < Dashboard::ApplicationController
include
MergeRequestsAction
FILTER_PARAMS
=
[
# author_id and assignee_id are kept so old RSS links still work
:author_id
,
:assignee_id
,
:author_username
,
:assignee_username
,
:milestone_title
,
...
...
app/controllers/root_controller.rb
View file @
91f235df
...
...
@@ -45,9 +45,9 @@ class RootController < Dashboard::ProjectsController
when
'todos'
redirect_to
(
dashboard_todos_path
)
when
'issues'
redirect_to
(
issues_dashboard_path
(
assignee_
id:
current_user
.
id
))
redirect_to
(
issues_dashboard_path
(
assignee_
username:
current_user
.
username
))
when
'merge_requests'
redirect_to
(
merge_requests_dashboard_path
(
assignee_
id:
current_user
.
id
))
redirect_to
(
merge_requests_dashboard_path
(
assignee_
username:
current_user
.
username
))
end
end
...
...
app/helpers/application_helper.rb
View file @
91f235df
...
...
@@ -178,7 +178,9 @@ module ApplicationHelper
scope:
params
[
:scope
],
milestone_title:
params
[
:milestone_title
],
assignee_id:
params
[
:assignee_id
],
assignee_username:
params
[
:assignee_username
],
author_id:
params
[
:author_id
],
author_username:
params
[
:author_username
],
search:
params
[
:search
],
label_name:
params
[
:label_name
]
}
...
...
app/views/dashboard/issues.html.haml
View file @
91f235df
-
@hide_top_links
=
true
-
page_title
_
(
"Issues"
)
-
@breadcrumb_link
=
issues_dashboard_path
(
assignee_
id:
current_user
.
id
)
-
@breadcrumb_link
=
issues_dashboard_path
(
assignee_
username:
current_user
.
username
)
=
content_for
:meta_tags
do
=
auto_discovery_link_tag
(
:atom
,
safe_params
.
merge
(
rss_url_options
).
to_h
,
title:
"
#{
current_user
.
name
}
issues"
)
...
...
app/views/dashboard/merge_requests.html.haml
View file @
91f235df
-
@hide_top_links
=
true
-
page_title
_
(
"Merge Requests"
)
-
@breadcrumb_link
=
merge_requests_dashboard_path
(
assignee_
id:
current_user
.
id
)
-
@breadcrumb_link
=
merge_requests_dashboard_path
(
assignee_
username:
current_user
.
username
)
.page-title-holder
%h1
.page-title
=
_
(
'Merge Requests'
)
...
...
spec/controllers/root_controller_spec.rb
View file @
91f235df
...
...
@@ -98,7 +98,7 @@ describe RootController do
it
'redirects to their assigned issues'
do
get
:index
expect
(
response
).
to
redirect_to
issues_dashboard_path
(
assignee_
id:
user
.
id
)
expect
(
response
).
to
redirect_to
issues_dashboard_path
(
assignee_
username:
user
.
username
)
end
end
...
...
@@ -110,7 +110,7 @@ describe RootController do
it
'redirects to their assigned merge requests'
do
get
:index
expect
(
response
).
to
redirect_to
merge_requests_dashboard_path
(
assignee_
id:
user
.
id
)
expect
(
response
).
to
redirect_to
merge_requests_dashboard_path
(
assignee_
username:
user
.
username
)
end
end
...
...
spec/features/atom/dashboard_issues_spec.rb
View file @
91f235df
...
...
@@ -25,35 +25,35 @@ describe "Dashboard Issues Feed" do
it
"renders atom feed via personal access token"
do
personal_access_token
=
create
(
:personal_access_token
,
user:
user
)
visit
issues_dashboard_path
(
:atom
,
private_token:
personal_access_token
.
token
,
assignee_
id:
user
.
id
)
visit
issues_dashboard_path
(
:atom
,
private_token:
personal_access_token
.
token
,
assignee_
username:
user
.
username
)
expect
(
response_headers
[
'Content-Type'
]).
to
have_content
(
'application/atom+xml'
)
expect
(
body
).
to
have_selector
(
'title'
,
text:
"
#{
user
.
name
}
issues"
)
end
it
"renders atom feed via feed token"
do
visit
issues_dashboard_path
(
:atom
,
feed_token:
user
.
feed_token
,
assignee_
id:
user
.
id
)
visit
issues_dashboard_path
(
:atom
,
feed_token:
user
.
feed_token
,
assignee_
username:
user
.
username
)
expect
(
response_headers
[
'Content-Type'
]).
to
have_content
(
'application/atom+xml'
)
expect
(
body
).
to
have_selector
(
'title'
,
text:
"
#{
user
.
name
}
issues"
)
end
it
"renders atom feed with url parameters"
do
visit
issues_dashboard_path
(
:atom
,
feed_token:
user
.
feed_token
,
state:
'opened'
,
assignee_
id:
user
.
id
)
visit
issues_dashboard_path
(
:atom
,
feed_token:
user
.
feed_token
,
state:
'opened'
,
assignee_
username:
user
.
username
)
link
=
find
(
'link[type="application/atom+xml"]'
)
params
=
CGI
.
parse
(
URI
.
parse
(
link
[
:href
]).
query
)
expect
(
params
).
to
include
(
'feed_token'
=>
[
user
.
feed_token
])
expect
(
params
).
to
include
(
'state'
=>
[
'opened'
])
expect
(
params
).
to
include
(
'assignee_
id'
=>
[
user
.
id
.
to_s
])
expect
(
params
).
to
include
(
'assignee_
username'
=>
[
user
.
username
.
to_s
])
end
context
"issue with basic fields"
do
let!
(
:issue2
)
{
create
(
:issue
,
author:
user
,
assignees:
[
assignee
],
project:
project2
,
description:
'test desc'
)
}
it
"renders issue fields"
do
visit
issues_dashboard_path
(
:atom
,
feed_token:
user
.
feed_token
,
assignee_
id:
assignee
.
id
)
visit
issues_dashboard_path
(
:atom
,
feed_token:
user
.
feed_token
,
assignee_
username:
assignee
.
username
)
entry
=
find
(
:xpath
,
"//feed/entry[contains(summary/text(),'
#{
issue2
.
title
}
')]"
)
...
...
@@ -76,7 +76,7 @@ describe "Dashboard Issues Feed" do
end
it
"renders issue label and milestone info"
do
visit
issues_dashboard_path
(
:atom
,
feed_token:
user
.
feed_token
,
assignee_
id:
assignee
.
id
)
visit
issues_dashboard_path
(
:atom
,
feed_token:
user
.
feed_token
,
assignee_
username:
assignee
.
username
)
entry
=
find
(
:xpath
,
"//feed/entry[contains(summary/text(),'
#{
issue1
.
title
}
')]"
)
...
...
spec/features/dashboard/issuables_counter_spec.rb
View file @
91f235df
...
...
@@ -45,11 +45,11 @@ describe 'Navigation bar counter', :use_clean_rails_memory_store_caching do
end
def
issues_path
issues_dashboard_path
(
assignee_
id:
user
.
id
)
issues_dashboard_path
(
assignee_
username:
user
.
username
)
end
def
merge_requests_path
merge_requests_dashboard_path
(
assignee_
id:
user
.
id
)
merge_requests_dashboard_path
(
assignee_
username:
user
.
username
)
end
def
expect_counters
(
issuable_type
,
count
)
...
...
spec/features/dashboard/issues_filter_spec.rb
View file @
91f235df
...
...
@@ -2,6 +2,7 @@ require 'spec_helper'
describe
'Dashboard Issues filtering'
,
:js
do
include
Spec
::
Support
::
Helpers
::
Features
::
SortingHelpers
include
FilteredSearchHelpers
let
(
:user
)
{
create
(
:user
)
}
let
(
:project
)
{
create
(
:project
)
}
...
...
@@ -25,27 +26,21 @@ describe 'Dashboard Issues filtering', :js do
context
'filtering by milestone'
do
it
'shows all issues with no milestone'
do
show_milestone_dropdown
click_link
'No Milestone'
input_filtered_search
(
"milestone:none"
)
expect
(
page
).
to
have_issuable_counts
(
open:
1
,
closed:
0
,
all:
1
)
expect
(
page
).
to
have_selector
(
'.issue'
,
count:
1
)
end
it
'shows all issues with the selected milestone'
do
show_milestone_dropdown
page
.
within
'.dropdown-content'
do
click_link
milestone
.
title
end
input_filtered_search
(
"milestone:%
\"
#{
milestone
.
title
}
\"
"
)
expect
(
page
).
to
have_issuable_counts
(
open:
1
,
closed:
0
,
all:
1
)
expect
(
page
).
to
have_selector
(
'.issue'
,
count:
1
)
end
it
'updates atom feed link'
do
visit_issues
(
milestone_title:
''
,
assignee_
id:
user
.
id
)
visit_issues
(
milestone_title:
''
,
assignee_
username:
user
.
username
)
link
=
find
(
'.nav-controls a[title="Subscribe to RSS feed"]'
)
params
=
CGI
.
parse
(
URI
.
parse
(
link
[
:href
]).
query
)
...
...
@@ -54,10 +49,10 @@ describe 'Dashboard Issues filtering', :js do
expect
(
params
).
to
include
(
'feed_token'
=>
[
user
.
feed_token
])
expect
(
params
).
to
include
(
'milestone_title'
=>
[
''
])
expect
(
params
).
to
include
(
'assignee_
id'
=>
[
user
.
id
.
to_s
])
expect
(
params
).
to
include
(
'assignee_
username'
=>
[
user
.
username
.
to_s
])
expect
(
auto_discovery_params
).
to
include
(
'feed_token'
=>
[
user
.
feed_token
])
expect
(
auto_discovery_params
).
to
include
(
'milestone_title'
=>
[
''
])
expect
(
auto_discovery_params
).
to
include
(
'assignee_
id'
=>
[
user
.
id
.
to_s
])
expect
(
auto_discovery_params
).
to
include
(
'assignee_
username'
=>
[
user
.
username
.
to_s
])
end
end
...
...
@@ -66,10 +61,7 @@ describe 'Dashboard Issues filtering', :js do
let!
(
:label_link
)
{
create
(
:label_link
,
label:
label
,
target:
issue
)
}
it
'shows all issues with the selected label'
do
page
.
within
'.labels-filter'
do
find
(
'.dropdown'
).
click
click_link
label
.
title
end
input_filtered_search
(
"label:~
#{
label
.
title
}
"
)
page
.
within
'ul.content-list'
do
expect
(
page
).
to
have_content
issue
.
title
...
...
@@ -80,12 +72,12 @@ describe 'Dashboard Issues filtering', :js do
context
'sorting'
do
before
do
visit_issues
(
assignee_
id:
user
.
id
)
visit_issues
(
assignee_
username:
user
.
username
)
end
it
'remembers last sorting value'
do
sort_by
(
'Created date'
)
visit_issues
(
assignee_
id:
user
.
id
)
visit_issues
(
assignee_
username:
user
.
username
)
expect
(
find
(
'.issues-filters'
)).
to
have_content
(
'Created date'
)
end
...
...
@@ -98,11 +90,6 @@ describe 'Dashboard Issues filtering', :js do
end
end
def
show_milestone_dropdown
click_button
'Milestone'
expect
(
page
).
to
have_selector
(
'.dropdown-content'
,
visible:
true
)
end
def
visit_issues
(
*
args
)
visit
issues_dashboard_path
(
*
args
)
end
...
...
spec/features/dashboard/issues_spec.rb
View file @
91f235df
require
'spec_helper'
RSpec
.
describe
'Dashboard Issues'
do
include
FilteredSearchHelpers
let
(
:current_user
)
{
create
:user
}
let
(
:user
)
{
current_user
}
# Shared examples depend on this being available
let!
(
:public_project
)
{
create
(
:project
,
:public
)
}
...
...
@@ -14,7 +16,7 @@ RSpec.describe 'Dashboard Issues' do
before
do
[
project
,
project_with_issues_disabled
].
each
{
|
project
|
project
.
add_maintainer
(
current_user
)
}
sign_in
(
current_user
)
visit
issues_dashboard_path
(
assignee_
id:
current_user
.
id
)
visit
issues_dashboard_path
(
assignee_
username:
current_user
.
username
)
end
describe
'issues'
do
...
...
@@ -24,26 +26,9 @@ RSpec.describe 'Dashboard Issues' do
expect
(
page
).
not_to
have_content
(
other_issue
.
title
)
end
it
'shows checkmark when unassigned is selected for assignee'
,
:js
do
find
(
'.js-assignee-search'
).
click
find
(
'li'
,
text:
'Unassigned'
).
click
find
(
'.js-assignee-search'
).
click
expect
(
find
(
'li[data-user-id="0"] a.is-active'
)).
to
be_visible
end
it
'shows issues when current user is author'
,
:js
do
execute_script
(
"document.querySelector('#assignee_id').value=''"
)
find
(
'.js-author-search'
,
match: :first
).
click
expect
(
find
(
'li[data-user-id="null"] a.is-active'
)).
to
be_visible
find
(
'.dropdown-menu-author li a'
,
match: :first
,
text:
current_user
.
to_reference
).
click
find
(
'.js-author-search'
,
match: :first
).
click
page
.
within
'.dropdown-menu-user'
do
expect
(
find
(
'.dropdown-menu-author li a.is-active'
,
match: :first
,
text:
current_user
.
to_reference
)).
to
be_visible
end
reset_filters
input_filtered_search
(
"author:
#{
current_user
.
to_reference
}
"
)
expect
(
page
).
to
have_content
(
authored_issue
.
title
)
expect
(
page
).
to
have_content
(
authored_issue_on_public_project
.
title
)
...
...
@@ -53,7 +38,7 @@ RSpec.describe 'Dashboard Issues' do
it
'state filter tabs work'
do
find
(
'#state-closed'
).
click
expect
(
page
).
to
have_current_path
(
issues_dashboard_url
(
assignee_
id:
current_user
.
id
,
state:
'closed'
),
url:
true
)
expect
(
page
).
to
have_current_path
(
issues_dashboard_url
(
assignee_
username:
current_user
.
username
,
state:
'closed'
),
url:
true
)
end
it_behaves_like
"it has an RSS button with current_user's feed token"
...
...
spec/features/dashboard/label_filter_spec.rb
View file @
91f235df
require
'spec_helper'
describe
'Dashboard > label filter'
,
:js
do
include
FilteredSearchHelpers
let
(
:filtered_search
)
{
find
(
'.filtered-search'
)
}
let
(
:filter_dropdown
)
{
find
(
"#js-dropdown-label .filter-dropdown"
)
}
let
(
:user
)
{
create
(
:user
)
}
let
(
:project
)
{
create
(
:project
,
name:
'test'
,
namespace:
user
.
namespace
)
}
let
(
:project2
)
{
create
(
:project
,
name:
'test2'
,
path:
'test2'
,
namespace:
user
.
namespace
)
}
...
...
@@ -13,17 +18,15 @@ describe 'Dashboard > label filter', :js do
sign_in
(
user
)
visit
issues_dashboard_path
init_label_search
end
context
'duplicate labels'
do
it
'removes duplicate labels'
do
page
.
within
(
'.labels-filter'
)
do
click_button
'Label'
end
filtered_search
.
send_keys
(
'bu'
)
page
.
within
(
'.dropdown-menu-labels'
)
do
expect
(
page
).
to
have_selector
(
'.dropdown-content a'
,
text:
'bug'
,
count:
1
)
end
expect
(
filter_dropdown
).
to
have_selector
(
'.filter-dropdown-item'
,
text:
'bug'
,
count:
1
)
end
end
end
spec/features/dashboard/merge_requests_spec.rb
View file @
91f235df
...
...
@@ -2,7 +2,7 @@ require 'spec_helper'
describe
'Dashboard Merge Requests'
do
include
Spec
::
Support
::
Helpers
::
Features
::
SortingHelpers
include
Filter
ItemSelectHelper
include
Filter
edSearchHelpers
include
ProjectForksHelper
let
(
:current_user
)
{
create
:user
}
...
...
@@ -36,7 +36,7 @@ describe 'Dashboard Merge Requests' do
context
'no merge requests exist'
do
it
'shows an empty state'
do
visit
merge_requests_dashboard_path
(
assignee_
id:
current_user
.
id
)
visit
merge_requests_dashboard_path
(
assignee_
username:
current_user
.
username
)
expect
(
page
).
to
have_selector
(
'.empty-state'
)
end
...
...
@@ -79,7 +79,7 @@ describe 'Dashboard Merge Requests' do
end
before
do
visit
merge_requests_dashboard_path
(
assignee_
id:
current_user
.
id
)
visit
merge_requests_dashboard_path
(
assignee_
username:
current_user
.
username
)
end
it
'shows assigned merge requests'
do
...
...
@@ -92,8 +92,8 @@ describe 'Dashboard Merge Requests' do
end
it
'shows authored merge requests'
,
:js
do
filter_item_select
(
'Any Assignee'
,
'.js-assignee-search'
)
filter_item_select
(
current_user
.
to_reference
,
'.js-author-search'
)
reset_filters
input_filtered_search
(
"author:
#{
current_user
.
to_reference
}
"
)
expect
(
page
).
to
have_content
(
authored_merge_request
.
title
)
expect
(
page
).
to
have_content
(
authored_merge_request_from_fork
.
title
)
...
...
@@ -104,8 +104,7 @@ describe 'Dashboard Merge Requests' do
end
it
'shows error message without filter'
,
:js
do
filter_item_select
(
'Any Assignee'
,
'.js-assignee-search'
)
filter_item_select
(
'Any Author'
,
'.js-author-search'
)
reset_filters
expect
(
page
).
to
have_content
(
'Please select at least one filter to see results'
)
end
...
...
@@ -113,7 +112,7 @@ describe 'Dashboard Merge Requests' do
it
'shows sorted merge requests'
do
sort_by
(
'Created date'
)
visit
merge_requests_dashboard_path
(
assignee_
id:
current_user
.
id
)
visit
merge_requests_dashboard_path
(
assignee_
username:
current_user
.
username
)
expect
(
find
(
'.issues-filters'
)).
to
have_content
(
'Created date'
)
end
...
...
spec/features/dashboard/milestone_filter_spec.rb
deleted
100644 → 0
View file @
ee4a7811
require
'spec_helper'
describe
'Dashboard > milestone filter'
,
:js
do
include
FilterItemSelectHelper
let
(
:user
)
{
create
(
:user
)
}
let
(
:project
)
{
create
(
:project
,
name:
'test'
,
namespace:
user
.
namespace
)
}
let
(
:milestone
)
{
create
(
:milestone
,
title:
'v1.0'
,
project:
project
)
}
let
(
:milestone2
)
{
create
(
:milestone
,
title:
'v2.0'
,
project:
project
)
}
let!
(
:issue
)
{
create
:issue
,
author:
user
,
project:
project
,
milestone:
milestone
}
let!
(
:issue2
)
{
create
:issue
,
author:
user
,
project:
project
,
milestone:
milestone2
}
dropdown_toggle_button
=
'.js-milestone-select'
before
do
sign_in
(
user
)
end
context
'default state'
do
it
'shows issues with Any Milestone'
do
visit
issues_dashboard_path
(
author_id:
user
.
id
)
page
.
all
(
'.issue-info'
).
each
do
|
issue_info
|
expect
(
issue_info
.
text
).
to
match
(
/v\d.0/
)
end
end
end
context
'filtering by milestone'
do
before
do
visit
issues_dashboard_path
(
author_id:
user
.
id
)
filter_item_select
(
'v1.0'
,
dropdown_toggle_button
)
find
(
dropdown_toggle_button
).
click
wait_for_requests
end
it
'shows issues with Milestone v1.0'
do
expect
(
find
(
'.issues-list'
)).
to
have_selector
(
'.issue'
,
count:
1
)
expect
(
find
(
'.milestone-filter .dropdown-content'
)).
to
have_selector
(
'a.is-active'
,
count:
1
)
end
it
'should not change active Milestone unless clicked'
do
page
.
within
'.milestone-filter'
do
expect
(
find
(
'.dropdown-content'
)).
to
have_selector
(
'a.is-active'
,
count:
1
)
find
(
'.dropdown-menu-close'
).
click
expect
(
page
).
not_to
have_selector
(
'.dropdown.open'
)
find
(
dropdown_toggle_button
).
click
expect
(
find
(
'.dropdown-content'
)).
to
have_selector
(
'a.is-active'
,
count:
1
)
expect
(
find
(
'.dropdown-content a.is-active'
)).
to
have_content
(
'v1.0'
)
end
end
end
context
'with milestone filter in URL'
do
before
do
visit
issues_dashboard_path
(
author_id:
user
.
id
,
milestone_title:
milestone
.
title
)
find
(
dropdown_toggle_button
).
click
wait_for_requests
end
it
'has milestone selected'
do
expect
(
find
(
'.milestone-filter .dropdown-content'
)).
to
have_css
(
'.is-active'
,
text:
milestone
.
title
)
end
it
'removes milestone filter from URL after clicking "Any Milestone"'
do
expect
(
current_url
).
to
include
(
"milestone_title=
#{
milestone
.
title
}
"
)
find
(
'.milestone-filter .dropdown-content li'
,
text:
'Any Milestone'
).
click
expect
(
current_url
).
not_to
include
(
'milestone_title'
)
end
end
end
spec/features/issues/user_sorts_issues_spec.rb
View file @
91f235df
...
...
@@ -26,7 +26,7 @@ describe "User sorts issues" do
click_link
(
'Milestone'
)
end
visit
(
issues_dashboard_path
(
assignee_
id:
user
.
id
))
visit
(
issues_dashboard_path
(
assignee_
username:
user
.
username
))
expect
(
find
(
'.issues-filters a.is-active'
)).
to
have_content
(
'Milestone'
)
...
...
spec/features/merge_requests/user_sorts_merge_requests_spec.rb
View file @
91f235df
...
...
@@ -25,7 +25,7 @@ describe 'User sorts merge requests' do
click_link
(
'Milestone'
)
end
visit
(
merge_requests_dashboard_path
(
assignee_
id:
user
.
id
))
visit
(
merge_requests_dashboard_path
(
assignee_
username:
user
.
username
))
expect
(
find
(
'.issues-filters a.is-active'
)).
to
have_content
(
'Milestone'
)
...
...
@@ -41,7 +41,7 @@ describe 'User sorts merge requests' do
it
'fallbacks to issuable_sort cookie key when remembering the sorting option'
do
set_cookie
(
'issuable_sort'
,
'milestone'
)
visit
(
merge_requests_dashboard_path
(
assignee_
id:
user
.
id
))
visit
(
merge_requests_dashboard_path
(
assignee_
username:
user
.
username
))
expect
(
find
(
'.issues-filters a.is-active'
)).
to
have_content
(
'Milestone'
)
end
...
...
spec/features/search/user_uses_header_search_field_spec.rb
View file @
91f235df
...
...
@@ -21,13 +21,17 @@ describe 'User uses header search field' do
it
'shows assigned issues'
do
find
(
'.search-input-container .dropdown-menu'
).
click_link
(
'Issues assigned to me'
)
expect
(
find
(
'.js-assignee-search'
)).
to
have_content
(
user
.
name
)
expect
(
page
).
to
have_selector
(
'.filtered-search'
)
expect_tokens
([
assignee_token
(
user
.
name
)])
expect_filtered_search_input_empty
end
it
'shows created issues'
do
find
(
'.search-input-container .dropdown-menu'
).
click_link
(
"Issues I've created"
)
expect
(
find
(
'.js-author-search'
)).
to
have_content
(
user
.
name
)
expect
(
page
).
to
have_selector
(
'.filtered-search'
)
expect_tokens
([
author_token
(
user
.
name
)])
expect_filtered_search_input_empty
end
end
...
...
@@ -37,13 +41,17 @@ describe 'User uses header search field' do
it
'shows assigned merge requests'
do
find
(
'.search-input-container .dropdown-menu'
).
click_link
(
'Merge requests assigned to me'
)
expect
(
find
(
'.js-assignee-search'
)).
to
have_content
(
user
.
name
)
expect
(
page
).
to
have_selector
(
'.filtered-search'
)
expect_tokens
([
assignee_token
(
user
.
name
)])
expect_filtered_search_input_empty
end
it
'shows created merge requests'
do
find
(
'.search-input-container .dropdown-menu'
).
click_link
(
"Merge requests I've created"
)
expect
(
find
(
'.js-author-search'
)).
to
have_content
(
user
.
name
)
expect
(
page
).
to
have_selector
(
'.filtered-search'
)
expect_tokens
([
author_token
(
user
.
name
)])
expect_filtered_search_input_empty
end
end
end
...
...
spec/javascripts/search_autocomplete_spec.js
View file @
91f235df
...
...
@@ -109,16 +109,16 @@ describe('Search autocomplete dropdown', () => {
assertLinks
=
function
(
list
,
issuesPath
,
mrsPath
)
{
if
(
issuesPath
)
{
const
issuesAssignedToMeLink
=
`a[href="
${
issuesPath
}
/?assignee_
id=
${
userId
}
"]`
;
const
issuesIHaveCreatedLink
=
`a[href="
${
issuesPath
}
/?author_
id=
${
userId
}
"]`
;
const
issuesAssignedToMeLink
=
`a[href="
${
issuesPath
}
/?assignee_
username=
${
userName
}
"]`
;
const
issuesIHaveCreatedLink
=
`a[href="
${
issuesPath
}
/?author_
username=
${
userName
}
"]`
;
expect
(
list
.
find
(
issuesAssignedToMeLink
).
length
).
toBe
(
1
);
expect
(
list
.
find
(
issuesAssignedToMeLink
).
text
()).
toBe
(
'
Issues assigned to me
'
);
expect
(
list
.
find
(
issuesIHaveCreatedLink
).
length
).
toBe
(
1
);
expect
(
list
.
find
(
issuesIHaveCreatedLink
).
text
()).
toBe
(
"
Issues I've created
"
);
}
const
mrsAssignedToMeLink
=
`a[href="
${
mrsPath
}
/?assignee_
id=
${
userId
}
"]`
;
const
mrsIHaveCreatedLink
=
`a[href="
${
mrsPath
}
/?author_
id=
${
userId
}
"]`
;
const
mrsAssignedToMeLink
=
`a[href="
${
mrsPath
}
/?assignee_
username=
${
userName
}
"]`
;
const
mrsIHaveCreatedLink
=
`a[href="
${
mrsPath
}
/?author_
username=
${
userName
}
"]`
;
expect
(
list
.
find
(
mrsAssignedToMeLink
).
length
).
toBe
(
1
);
expect
(
list
.
find
(
mrsAssignedToMeLink
).
text
()).
toBe
(
'
Merge requests assigned to me
'
);
...
...
spec/support/helpers/filter_item_select_helper.rb
deleted
100644 → 0
View file @
ee4a7811
# Helper allows you to select value from filter-items
#
# Params
# value - value for select
# selector - css selector of item
#
# Usage:
#
# filter_item_select('Any Author', '.js-author-search')
#
module
FilterItemSelectHelper
def
filter_item_select
(
value
,
selector
)
find
(
selector
).
click
wait_for_requests
page
.
within
(
'.dropdown-content'
)
do
click_link
value
end
end
end
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