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
ce9d3ee5
Commit
ce9d3ee5
authored
Jan 11, 2017
by
Clement Ho
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Backend review
parent
044a195b
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
105 additions
and
6 deletions
+105
-6
droplab_ajax_filter.js
app/assets/javascripts/droplab/droplab_ajax_filter.js
+3
-6
dropdown_assignee_spec.rb
...features/issues/filtered_search/dropdown_assignee_spec.rb
+18
-0
dropdown_author_spec.rb
spec/features/issues/filtered_search/dropdown_author_spec.rb
+16
-0
dropdown_hint_spec.rb
spec/features/issues/filtered_search/dropdown_hint_spec.rb
+11
-0
dropdown_label_spec.rb
spec/features/issues/filtered_search/dropdown_label_spec.rb
+25
-0
dropdown_milestone_spec.rb
...eatures/issues/filtered_search/dropdown_milestone_spec.rb
+25
-0
filter_issues_spec.rb
spec/features/issues/filtered_search/filter_issues_spec.rb
+0
-0
search_bar_spec.rb
spec/features/issues/filtered_search/search_bar_spec.rb
+7
-0
No files found.
app/assets/javascripts/droplab/droplab_ajax_filter.js
View file @
ce9d3ee5
...
...
@@ -22,7 +22,8 @@ require('../window')(function(w){
debounceTrigger
:
function
debounceTrigger
(
e
)
{
var
NON_CHARACTER_KEYS
=
[
16
,
17
,
18
,
20
,
37
,
38
,
39
,
40
,
91
,
93
];
var
invalidKeyPressed
=
NON_CHARACTER_KEYS
.
indexOf
(
e
.
detail
.
which
||
e
.
detail
.
keyCode
)
>
-
1
;
var
focusEvent
=
false
;
var
focusEvent
=
e
.
type
===
'focus'
;
if
(
invalidKeyPressed
||
this
.
loading
)
{
return
;
}
...
...
@@ -31,10 +32,6 @@ require('../window')(function(w){
clearTimeout
(
this
.
timeout
);
}
if
(
e
.
type
===
'focus'
)
{
focusEvent
=
true
;
}
this
.
timeout
=
setTimeout
(
this
.
trigger
.
bind
(
this
,
focusEvent
),
200
);
},
...
...
@@ -66,7 +63,7 @@ require('../window')(function(w){
searchValue
=
''
;
}
if
(
searchValue
===
config
.
searchKey
)
{
if
(
config
.
searchKey
===
searchValue
)
{
return
this
.
list
.
show
();
}
...
...
spec/features/issues/filtered_search/dropdown_assignee_spec.rb
View file @
ce9d3ee5
...
...
@@ -39,26 +39,31 @@ describe 'Dropdown assignee', js: true, feature: true do
describe
'behavior'
do
it
'opens when the search bar has assignee:'
do
filtered_search
.
set
(
'assignee:'
)
expect
(
page
).
to
have_css
(
js_dropdown_assignee
,
visible:
true
)
end
it
'closes when the search bar is unfocused'
do
find
(
'body'
).
click
()
expect
(
page
).
to
have_css
(
js_dropdown_assignee
,
visible:
false
)
end
it
'should show loading indicator when opened'
do
filtered_search
.
set
(
'assignee:'
)
expect
(
page
).
to
have_css
(
'#js-dropdown-assignee .filter-dropdown-loading'
,
visible:
true
)
end
it
'should hide loading indicator when loaded'
do
send_keys_to_filtered_search
(
'assignee:'
)
expect
(
page
).
not_to
have_css
(
'#js-dropdown-assignee .filter-dropdown-loading'
)
end
it
'should load all the assignees when opened'
do
send_keys_to_filtered_search
(
'assignee:'
)
expect
(
dropdown_assignee_size
).
to
eq
(
3
)
end
end
...
...
@@ -70,31 +75,37 @@ describe 'Dropdown assignee', js: true, feature: true do
it
'filters by name'
do
send_keys_to_filtered_search
(
'j'
)
expect
(
dropdown_assignee_size
).
to
eq
(
2
)
end
it
'filters by case insensitive name'
do
send_keys_to_filtered_search
(
'J'
)
expect
(
dropdown_assignee_size
).
to
eq
(
2
)
end
it
'filters by username with symbol'
do
send_keys_to_filtered_search
(
'@ot'
)
expect
(
dropdown_assignee_size
).
to
eq
(
2
)
end
it
'filters by case insensitive username with symbol'
do
send_keys_to_filtered_search
(
'@OT'
)
expect
(
dropdown_assignee_size
).
to
eq
(
2
)
end
it
'filters by username without symbol'
do
send_keys_to_filtered_search
(
'ot'
)
expect
(
dropdown_assignee_size
).
to
eq
(
2
)
end
it
'filters by case insensitive username without symbol'
do
send_keys_to_filtered_search
(
'OT'
)
expect
(
dropdown_assignee_size
).
to
eq
(
2
)
end
end
...
...
@@ -106,6 +117,7 @@ describe 'Dropdown assignee', js: true, feature: true do
it
'fills in the assignee username when the assignee has not been filtered'
do
click_assignee
(
user_jacob
.
name
)
expect
(
page
).
to
have_css
(
js_dropdown_assignee
,
visible:
false
)
expect
(
filtered_search
.
value
).
to
eq
(
"assignee:@
#{
user_jacob
.
username
}
"
)
end
...
...
@@ -113,12 +125,14 @@ describe 'Dropdown assignee', js: true, feature: true do
it
'fills in the assignee username when the assignee has been filtered'
do
send_keys_to_filtered_search
(
'roo'
)
click_assignee
(
user
.
name
)
expect
(
page
).
to
have_css
(
js_dropdown_assignee
,
visible:
false
)
expect
(
filtered_search
.
value
).
to
eq
(
"assignee:@
#{
user
.
username
}
"
)
end
it
'selects `no assignee`'
do
find
(
'#js-dropdown-assignee .filter-dropdown-item'
,
text:
'No Assignee'
).
click
expect
(
page
).
to
have_css
(
js_dropdown_assignee
,
visible:
false
)
expect
(
filtered_search
.
value
).
to
eq
(
"assignee:none"
)
end
...
...
@@ -127,21 +141,25 @@ describe 'Dropdown assignee', js: true, feature: true do
describe
'input has existing content'
do
it
'opens assignee dropdown with existing search term'
do
filtered_search
.
set
(
'searchTerm assignee:'
)
expect
(
page
).
to
have_css
(
js_dropdown_assignee
,
visible:
true
)
end
it
'opens assignee dropdown with existing author'
do
filtered_search
.
set
(
'author:@user assignee:'
)
expect
(
page
).
to
have_css
(
js_dropdown_assignee
,
visible:
true
)
end
it
'opens assignee dropdown with existing label'
do
filtered_search
.
set
(
'label:~bug assignee:'
)
expect
(
page
).
to
have_css
(
js_dropdown_assignee
,
visible:
true
)
end
it
'opens assignee dropdown with existing milestone'
do
filtered_search
.
set
(
'milestone:%v1.0 assignee:'
)
expect
(
page
).
to
have_css
(
js_dropdown_assignee
,
visible:
true
)
end
end
...
...
spec/features/issues/filtered_search/dropdown_author_spec.rb
View file @
ce9d3ee5
...
...
@@ -39,26 +39,31 @@ describe 'Dropdown author', js: true, feature: true do
describe
'behavior'
do
it
'opens when the search bar has author:'
do
filtered_search
.
set
(
'author:'
)
expect
(
page
).
to
have_css
(
js_dropdown_author
,
visible:
true
)
end
it
'closes when the search bar is unfocused'
do
find
(
'body'
).
click
()
expect
(
page
).
to
have_css
(
js_dropdown_author
,
visible:
false
)
end
it
'should show loading indicator when opened'
do
filtered_search
.
set
(
'author:'
)
expect
(
page
).
to
have_css
(
'#js-dropdown-author .filter-dropdown-loading'
,
visible:
true
)
end
it
'should hide loading indicator when loaded'
do
send_keys_to_filtered_search
(
'author:'
)
expect
(
page
).
not_to
have_css
(
'#js-dropdown-author .filter-dropdown-loading'
)
end
it
'should load all the authors when opened'
do
send_keys_to_filtered_search
(
'author:'
)
expect
(
dropdown_author_size
).
to
eq
(
3
)
end
end
...
...
@@ -71,26 +76,31 @@ describe 'Dropdown author', js: true, feature: true do
it
'filters by name'
do
send_keys_to_filtered_search
(
'ja'
)
expect
(
dropdown_author_size
).
to
eq
(
1
)
end
it
'filters by case insensitive name'
do
send_keys_to_filtered_search
(
'Ja'
)
expect
(
dropdown_author_size
).
to
eq
(
1
)
end
it
'filters by username with symbol'
do
send_keys_to_filtered_search
(
'@ot'
)
expect
(
dropdown_author_size
).
to
eq
(
2
)
end
it
'filters by username without symbol'
do
send_keys_to_filtered_search
(
'ot'
)
expect
(
dropdown_author_size
).
to
eq
(
2
)
end
it
'filters by case insensitive username without symbol'
do
send_keys_to_filtered_search
(
'OT'
)
expect
(
dropdown_author_size
).
to
eq
(
2
)
end
end
...
...
@@ -103,12 +113,14 @@ describe 'Dropdown author', js: true, feature: true do
it
'fills in the author username when the author has not been filtered'
do
click_author
(
user_jacob
.
name
)
expect
(
page
).
to
have_css
(
js_dropdown_author
,
visible:
false
)
expect
(
filtered_search
.
value
).
to
eq
(
"author:@
#{
user_jacob
.
username
}
"
)
end
it
'fills in the author username when the author has been filtered'
do
click_author
(
user
.
name
)
expect
(
page
).
to
have_css
(
js_dropdown_author
,
visible:
false
)
expect
(
filtered_search
.
value
).
to
eq
(
"author:@
#{
user
.
username
}
"
)
end
...
...
@@ -117,21 +129,25 @@ describe 'Dropdown author', js: true, feature: true do
describe
'input has existing content'
do
it
'opens author dropdown with existing search term'
do
filtered_search
.
set
(
'searchTerm author:'
)
expect
(
page
).
to
have_css
(
js_dropdown_author
,
visible:
true
)
end
it
'opens author dropdown with existing assignee'
do
filtered_search
.
set
(
'assignee:@user author:'
)
expect
(
page
).
to
have_css
(
js_dropdown_author
,
visible:
true
)
end
it
'opens author dropdown with existing label'
do
filtered_search
.
set
(
'label:~bug author:'
)
expect
(
page
).
to
have_css
(
js_dropdown_author
,
visible:
true
)
end
it
'opens author dropdown with existing milestone'
do
filtered_search
.
set
(
'milestone:%v1.0 author:'
)
expect
(
page
).
to
have_css
(
js_dropdown_author
,
visible:
true
)
end
end
...
...
spec/features/issues/filtered_search/dropdown_hint_spec.rb
View file @
ce9d3ee5
...
...
@@ -36,6 +36,7 @@ describe 'Dropdown hint', js: true, feature: true do
it
'closes when the search bar is unfocused'
do
find
(
'body'
).
click
expect
(
page
).
to
have_css
(
js_dropdown_hint
,
visible:
false
)
end
end
...
...
@@ -43,12 +44,14 @@ describe 'Dropdown hint', js: true, feature: true do
describe
'filtering'
do
it
'does not filter `Keep typing and press Enter`'
do
filtered_search
.
set
(
'randomtext'
)
expect
(
page
).
to
have_css
(
js_dropdown_hint
,
text:
'Keep typing and press Enter'
,
visible:
false
)
expect
(
dropdown_hint_size
).
to
eq
(
0
)
end
it
'filters with text'
do
filtered_search
.
set
(
'a'
)
expect
(
dropdown_hint_size
).
to
eq
(
3
)
end
end
...
...
@@ -60,6 +63,7 @@ describe 'Dropdown hint', js: true, feature: true do
it
'opens the author dropdown when you click on author'
do
click_hint
(
'author'
)
expect
(
page
).
to
have_css
(
js_dropdown_hint
,
visible:
false
)
expect
(
page
).
to
have_css
(
'#js-dropdown-author'
,
visible:
true
)
expect
(
filtered_search
.
value
).
to
eq
(
'author:'
)
...
...
@@ -67,6 +71,7 @@ describe 'Dropdown hint', js: true, feature: true do
it
'opens the assignee dropdown when you click on assignee'
do
click_hint
(
'assignee'
)
expect
(
page
).
to
have_css
(
js_dropdown_hint
,
visible:
false
)
expect
(
page
).
to
have_css
(
'#js-dropdown-assignee'
,
visible:
true
)
expect
(
filtered_search
.
value
).
to
eq
(
'assignee:'
)
...
...
@@ -74,6 +79,7 @@ describe 'Dropdown hint', js: true, feature: true do
it
'opens the milestone dropdown when you click on milestone'
do
click_hint
(
'milestone'
)
expect
(
page
).
to
have_css
(
js_dropdown_hint
,
visible:
false
)
expect
(
page
).
to
have_css
(
'#js-dropdown-milestone'
,
visible:
true
)
expect
(
filtered_search
.
value
).
to
eq
(
'milestone:'
)
...
...
@@ -81,6 +87,7 @@ describe 'Dropdown hint', js: true, feature: true do
it
'opens the label dropdown when you click on label'
do
click_hint
(
'label'
)
expect
(
page
).
to
have_css
(
js_dropdown_hint
,
visible:
false
)
expect
(
page
).
to
have_css
(
'#js-dropdown-label'
,
visible:
true
)
expect
(
filtered_search
.
value
).
to
eq
(
'label:'
)
...
...
@@ -91,6 +98,7 @@ describe 'Dropdown hint', js: true, feature: true do
it
'opens the author dropdown when you click on author'
do
filtered_search
.
set
(
'auth'
)
click_hint
(
'author'
)
expect
(
page
).
to
have_css
(
js_dropdown_hint
,
visible:
false
)
expect
(
page
).
to
have_css
(
'#js-dropdown-author'
,
visible:
true
)
expect
(
filtered_search
.
value
).
to
eq
(
'author:'
)
...
...
@@ -99,6 +107,7 @@ describe 'Dropdown hint', js: true, feature: true do
it
'opens the assignee dropdown when you click on assignee'
do
filtered_search
.
set
(
'assign'
)
click_hint
(
'assignee'
)
expect
(
page
).
to
have_css
(
js_dropdown_hint
,
visible:
false
)
expect
(
page
).
to
have_css
(
'#js-dropdown-assignee'
,
visible:
true
)
expect
(
filtered_search
.
value
).
to
eq
(
'assignee:'
)
...
...
@@ -107,6 +116,7 @@ describe 'Dropdown hint', js: true, feature: true do
it
'opens the milestone dropdown when you click on milestone'
do
filtered_search
.
set
(
'mile'
)
click_hint
(
'milestone'
)
expect
(
page
).
to
have_css
(
js_dropdown_hint
,
visible:
false
)
expect
(
page
).
to
have_css
(
'#js-dropdown-milestone'
,
visible:
true
)
expect
(
filtered_search
.
value
).
to
eq
(
'milestone:'
)
...
...
@@ -115,6 +125,7 @@ describe 'Dropdown hint', js: true, feature: true do
it
'opens the label dropdown when you click on label'
do
filtered_search
.
set
(
'lab'
)
click_hint
(
'label'
)
expect
(
page
).
to
have_css
(
js_dropdown_hint
,
visible:
false
)
expect
(
page
).
to
have_css
(
'#js-dropdown-label'
,
visible:
true
)
expect
(
filtered_search
.
value
).
to
eq
(
'label:'
)
...
...
spec/features/issues/filtered_search/dropdown_label_spec.rb
View file @
ce9d3ee5
...
...
@@ -43,26 +43,31 @@ describe 'Dropdown label', js: true, feature: true do
describe
'behavior'
do
it
'opens when the search bar has label:'
do
filtered_search
.
set
(
'label:'
)
expect
(
page
).
to
have_css
(
js_dropdown_label
,
visible:
true
)
end
it
'closes when the search bar is unfocused'
do
find
(
'body'
).
click
()
expect
(
page
).
to
have_css
(
js_dropdown_label
,
visible:
false
)
end
it
'should show loading indicator when opened'
do
filtered_search
.
set
(
'label:'
)
expect
(
page
).
to
have_css
(
'#js-dropdown-label .filter-dropdown-loading'
,
visible:
true
)
end
it
'should hide loading indicator when loaded'
do
send_keys_to_filtered_search
(
'label:'
)
expect
(
page
).
not_to
have_css
(
'#js-dropdown-label .filter-dropdown-loading'
)
end
it
'should load all the labels when opened'
do
send_keys_to_filtered_search
(
'label:'
)
expect
(
dropdown_label_size
).
to
be
>
0
end
end
...
...
@@ -74,61 +79,73 @@ describe 'Dropdown label', js: true, feature: true do
it
'filters by name'
do
send_keys_to_filtered_search
(
':b'
)
expect
(
dropdown_label_size
).
to
eq
(
2
)
end
it
'filters by case insensitive name'
do
send_keys_to_filtered_search
(
':B'
)
expect
(
dropdown_label_size
).
to
eq
(
2
)
end
it
'filters by name with symbol'
do
send_keys_to_filtered_search
(
':~bu'
)
expect
(
dropdown_label_size
).
to
eq
(
2
)
end
it
'filters by case insensitive name with symbol'
do
send_keys_to_filtered_search
(
':~BU'
)
expect
(
dropdown_label_size
).
to
eq
(
2
)
end
it
'filters by multiple words'
do
send_keys_to_filtered_search
(
':Hig'
)
expect
(
dropdown_label_size
).
to
eq
(
1
)
end
it
'filters by multiple words with symbol'
do
send_keys_to_filtered_search
(
':~Hig'
)
expect
(
dropdown_label_size
).
to
eq
(
1
)
end
it
'filters by multiple words containing single quotes'
do
send_keys_to_filtered_search
(
':won\'t'
)
expect
(
dropdown_label_size
).
to
eq
(
1
)
end
it
'filters by multiple words containing single quotes with symbol'
do
send_keys_to_filtered_search
(
':~won\'t'
)
expect
(
dropdown_label_size
).
to
eq
(
1
)
end
it
'filters by multiple words containing double quotes'
do
send_keys_to_filtered_search
(
':won"t'
)
expect
(
dropdown_label_size
).
to
eq
(
1
)
end
it
'filters by multiple words containing double quotes with symbol'
do
send_keys_to_filtered_search
(
':~won"t'
)
expect
(
dropdown_label_size
).
to
eq
(
1
)
end
it
'filters by special characters'
do
send_keys_to_filtered_search
(
':^+'
)
expect
(
dropdown_label_size
).
to
eq
(
1
)
end
it
'filters by special characters with symbol'
do
send_keys_to_filtered_search
(
':~^+'
)
expect
(
dropdown_label_size
).
to
eq
(
1
)
end
end
...
...
@@ -140,6 +157,7 @@ describe 'Dropdown label', js: true, feature: true do
it
'fills in the label name when the label has not been filled'
do
click_label
(
bug_label
.
title
)
expect
(
page
).
to
have_css
(
js_dropdown_label
,
visible:
false
)
expect
(
filtered_search
.
value
).
to
eq
(
"label:~
#{
bug_label
.
title
}
"
)
end
...
...
@@ -147,42 +165,49 @@ describe 'Dropdown label', js: true, feature: true do
it
'fills in the label name when the label is partially filled'
do
send_keys_to_filtered_search
(
'bu'
)
click_label
(
bug_label
.
title
)
expect
(
page
).
to
have_css
(
js_dropdown_label
,
visible:
false
)
expect
(
filtered_search
.
value
).
to
eq
(
"label:~
#{
bug_label
.
title
}
"
)
end
it
'fills in the label name that contains multiple words'
do
click_label
(
two_words_label
.
title
)
expect
(
page
).
to
have_css
(
js_dropdown_label
,
visible:
false
)
expect
(
filtered_search
.
value
).
to
eq
(
"label:~
\"
#{
two_words_label
.
title
}
\"
"
)
end
it
'fills in the label name that contains multiple words and is very long'
do
click_label
(
long_label
.
title
)
expect
(
page
).
to
have_css
(
js_dropdown_label
,
visible:
false
)
expect
(
filtered_search
.
value
).
to
eq
(
"label:~
\"
#{
long_label
.
title
}
\"
"
)
end
it
'fills in the label name that contains double quotes'
do
click_label
(
wont_fix_label
.
title
)
expect
(
page
).
to
have_css
(
js_dropdown_label
,
visible:
false
)
expect
(
filtered_search
.
value
).
to
eq
(
"label:~'
#{
wont_fix_label
.
title
}
'"
)
end
it
'fills in the label name with the correct capitalization'
do
click_label
(
uppercase_label
.
title
)
expect
(
page
).
to
have_css
(
js_dropdown_label
,
visible:
false
)
expect
(
filtered_search
.
value
).
to
eq
(
"label:~
#{
uppercase_label
.
title
}
"
)
end
it
'fills in the label name with special characters'
do
click_label
(
special_label
.
title
)
expect
(
page
).
to
have_css
(
js_dropdown_label
,
visible:
false
)
expect
(
filtered_search
.
value
).
to
eq
(
"label:~
#{
special_label
.
title
}
"
)
end
it
'selects `no label`'
do
find
(
'#js-dropdown-label .filter-dropdown-item'
,
text:
'No Label'
).
click
expect
(
page
).
to
have_css
(
js_dropdown_label
,
visible:
false
)
expect
(
filtered_search
.
value
).
to
eq
(
"label:none"
)
end
...
...
spec/features/issues/filtered_search/dropdown_milestone_spec.rb
View file @
ce9d3ee5
...
...
@@ -47,26 +47,31 @@ describe 'Dropdown milestone', js: true, feature: true do
describe
'behavior'
do
it
'opens when the search bar has milestone:'
do
filtered_search
.
set
(
'milestone:'
)
expect
(
page
).
to
have_css
(
js_dropdown_milestone
,
visible:
true
)
end
it
'closes when the search bar is unfocused'
do
find
(
'body'
).
click
()
expect
(
page
).
to
have_css
(
js_dropdown_milestone
,
visible:
false
)
end
it
'should show loading indicator when opened'
do
filtered_search
.
set
(
'milestone:'
)
expect
(
page
).
to
have_css
(
'#js-dropdown-milestone .filter-dropdown-loading'
,
visible:
true
)
end
it
'should hide loading indicator when loaded'
do
send_keys_to_filtered_search
(
'milestone:'
)
expect
(
page
).
not_to
have_css
(
'#js-dropdown-milestone .filter-dropdown-loading'
)
end
it
'should load all the milestones when opened'
do
send_keys_to_filtered_search
(
'milestone:'
)
expect
(
dropdown_milestone_size
).
to
be
>
0
end
end
...
...
@@ -78,31 +83,37 @@ describe 'Dropdown milestone', js: true, feature: true do
it
'filters by name'
do
send_keys_to_filtered_search
(
':v1'
)
expect
(
dropdown_milestone_size
).
to
eq
(
1
)
end
it
'filters by case insensitive name'
do
send_keys_to_filtered_search
(
':V1'
)
expect
(
dropdown_milestone_size
).
to
eq
(
1
)
end
it
'filters by name with symbol'
do
send_keys_to_filtered_search
(
':%v1'
)
expect
(
dropdown_milestone_size
).
to
eq
(
1
)
end
it
'filters by case insensitive name with symbol'
do
send_keys_to_filtered_search
(
':%V1'
)
expect
(
dropdown_milestone_size
).
to
eq
(
1
)
end
it
'filters by special characters'
do
send_keys_to_filtered_search
(
':(+'
)
expect
(
dropdown_milestone_size
).
to
eq
(
1
)
end
it
'filters by special characters with symbol'
do
send_keys_to_filtered_search
(
':%(+'
)
expect
(
dropdown_milestone_size
).
to
eq
(
1
)
end
end
...
...
@@ -114,6 +125,7 @@ describe 'Dropdown milestone', js: true, feature: true do
it
'fills in the milestone name when the milestone has not been filled'
do
click_milestone
(
milestone
.
title
)
expect
(
page
).
to
have_css
(
js_dropdown_milestone
,
visible:
false
)
expect
(
filtered_search
.
value
).
to
eq
(
"milestone:%
#{
milestone
.
title
}
"
)
end
...
...
@@ -121,48 +133,56 @@ describe 'Dropdown milestone', js: true, feature: true do
it
'fills in the milestone name when the milestone is partially filled'
do
send_keys_to_filtered_search
(
'v'
)
click_milestone
(
milestone
.
title
)
expect
(
page
).
to
have_css
(
js_dropdown_milestone
,
visible:
false
)
expect
(
filtered_search
.
value
).
to
eq
(
"milestone:%
#{
milestone
.
title
}
"
)
end
it
'fills in the milestone name that contains multiple words'
do
click_milestone
(
two_words_milestone
.
title
)
expect
(
page
).
to
have_css
(
js_dropdown_milestone
,
visible:
false
)
expect
(
filtered_search
.
value
).
to
eq
(
"milestone:%
\"
#{
two_words_milestone
.
title
}
\"
"
)
end
it
'fills in the milestone name that contains multiple words and is very long'
do
click_milestone
(
long_milestone
.
title
)
expect
(
page
).
to
have_css
(
js_dropdown_milestone
,
visible:
false
)
expect
(
filtered_search
.
value
).
to
eq
(
"milestone:%
\"
#{
long_milestone
.
title
}
\"
"
)
end
it
'fills in the milestone name that contains double quotes'
do
click_milestone
(
wont_fix_milestone
.
title
)
expect
(
page
).
to
have_css
(
js_dropdown_milestone
,
visible:
false
)
expect
(
filtered_search
.
value
).
to
eq
(
"milestone:%'
#{
wont_fix_milestone
.
title
}
'"
)
end
it
'fills in the milestone name with the correct capitalization'
do
click_milestone
(
uppercase_milestone
.
title
)
expect
(
page
).
to
have_css
(
js_dropdown_milestone
,
visible:
false
)
expect
(
filtered_search
.
value
).
to
eq
(
"milestone:%
#{
uppercase_milestone
.
title
}
"
)
end
it
'fills in the milestone name with special characters'
do
click_milestone
(
special_milestone
.
title
)
expect
(
page
).
to
have_css
(
js_dropdown_milestone
,
visible:
false
)
expect
(
filtered_search
.
value
).
to
eq
(
"milestone:%
#{
special_milestone
.
title
}
"
)
end
it
'selects `no milestone`'
do
click_static_milestone
(
'No Milestone'
)
expect
(
page
).
to
have_css
(
js_dropdown_milestone
,
visible:
false
)
expect
(
filtered_search
.
value
).
to
eq
(
"milestone:none"
)
end
it
'selects `upcoming milestone`'
do
click_static_milestone
(
'Upcoming'
)
expect
(
page
).
to
have_css
(
js_dropdown_milestone
,
visible:
false
)
expect
(
filtered_search
.
value
).
to
eq
(
"milestone:upcoming"
)
end
...
...
@@ -171,26 +191,31 @@ describe 'Dropdown milestone', js: true, feature: true do
describe
'input has existing content'
do
it
'opens milestone dropdown with existing search term'
do
filtered_search
.
set
(
'searchTerm milestone:'
)
expect
(
page
).
to
have_css
(
js_dropdown_milestone
,
visible:
true
)
end
it
'opens milestone dropdown with existing author'
do
filtered_search
.
set
(
'author:@john milestone:'
)
expect
(
page
).
to
have_css
(
js_dropdown_milestone
,
visible:
true
)
end
it
'opens milestone dropdown with existing assignee'
do
filtered_search
.
set
(
'assignee:@john milestone:'
)
expect
(
page
).
to
have_css
(
js_dropdown_milestone
,
visible:
true
)
end
it
'opens milestone dropdown with existing label'
do
filtered_search
.
set
(
'label:~important milestone:'
)
expect
(
page
).
to
have_css
(
js_dropdown_milestone
,
visible:
true
)
end
it
'opens milestone dropdown with existing milestone'
do
filtered_search
.
set
(
'milestone:%100 milestone:'
)
expect
(
page
).
to
have_css
(
js_dropdown_milestone
,
visible:
true
)
end
end
...
...
spec/features/issues/filtered_search/filter_issues_spec.rb
View file @
ce9d3ee5
This diff is collapsed.
Click to expand it.
spec/features/issues/filtered_search/search_bar_spec.rb
View file @
ce9d3ee5
...
...
@@ -27,6 +27,7 @@ describe 'Search bar', js: true, feature: true do
expect
(
filtered_search
.
value
).
to
eq
(
search_text
)
find
(
'.filtered-search-input-container .clear-search'
).
click
expect
(
filtered_search
.
value
).
to
eq
(
''
)
end
...
...
@@ -37,12 +38,14 @@ describe 'Search bar', js: true, feature: true do
it
'hides after clicked'
do
filtered_search
.
set
(
'a'
)
find
(
'.filtered-search-input-container .clear-search'
).
click
expect
(
page
).
to
have_css
(
'.clear-search'
,
visible:
false
)
end
it
'hides when there is no text'
do
filtered_search
.
set
(
'a'
)
filtered_search
.
set
(
''
)
expect
(
page
).
to
have_css
(
'.clear-search'
,
visible:
false
)
end
...
...
@@ -57,10 +60,12 @@ describe 'Search bar', js: true, feature: true do
original_size
=
page
.
all
(
'#js-dropdown-hint .filter-dropdown .filter-dropdown-item'
).
size
filtered_search
.
set
(
'author'
)
expect
(
page
.
all
(
'#js-dropdown-hint .filter-dropdown .filter-dropdown-item'
).
size
).
to
eq
(
1
)
find
(
'.filtered-search-input-container .clear-search'
).
click
filtered_search
.
click
expect
(
page
.
all
(
'#js-dropdown-hint .filter-dropdown .filter-dropdown-item'
).
size
).
to
eq
(
original_size
)
end
...
...
@@ -70,10 +75,12 @@ describe 'Search bar', js: true, feature: true do
hint_offset
=
get_left_style
(
hint_style
)
filtered_search
.
set
(
'author:'
)
expect
(
page
.
all
(
'#js-dropdown-hint .filter-dropdown .filter-dropdown-item'
).
size
).
to
eq
(
0
)
find
(
'.filtered-search-input-container .clear-search'
).
click
filtered_search
.
click
expect
(
page
.
all
(
'#js-dropdown-hint .filter-dropdown .filter-dropdown-item'
).
size
).
to
be
>
0
expect
(
get_left_style
(
page
.
find
(
'#js-dropdown-hint'
)[
'style'
])).
to
eq
(
hint_offset
)
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