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
625ecdbc
Commit
625ecdbc
authored
Dec 16, 2016
by
Clement Ho
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Create dropdown hint spec
parent
61680a2d
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
152 additions
and
6 deletions
+152
-6
spec/features/issues/filtered_search/dropdown_hint_spec.rb
spec/features/issues/filtered_search/dropdown_hint_spec.rb
+113
-0
spec/features/issues/filtered_search/filter_issues_spec.rb
spec/features/issues/filtered_search/filter_issues_spec.rb
+6
-6
spec/features/issues/filtered_search/search_bar_spec.rb
spec/features/issues/filtered_search/search_bar_spec.rb
+33
-0
No files found.
spec/features/issues/filtered_search/dropdown_hint_spec.rb
0 → 100644
View file @
625ecdbc
require
'rails_helper'
describe
'Dropdown hint'
,
js:
true
,
feature:
true
do
include
WaitForAjax
let!
(
:project
)
{
create
(
:empty_project
)
}
let!
(
:user
)
{
create
(
:user
)
}
let
(
:filtered_search
)
{
find
(
'.filtered-search'
)
}
before
do
project
.
team
<<
[
user
,
:master
]
login_as
(
user
)
create
(
:issue
,
project:
project
)
visit
namespace_project_issues_path
(
project
.
namespace
,
project
)
end
describe
'behavior'
do
before
do
expect
(
page
).
to
have_css
(
'#js-dropdown-hint'
,
visible:
false
)
filtered_search
.
click
();
end
it
'opens when the search bar is first focused'
do
expect
(
page
).
to
have_css
(
'#js-dropdown-hint'
,
visible:
true
)
end
it
'closes when the search bar is unfocused'
do
find
(
'body'
).
click
();
expect
(
page
).
to
have_css
(
'#js-dropdown-hint'
,
visible:
false
)
end
end
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
(
page
.
all
(
'#js-dropdown-hint .filter-dropdown .filter-dropdown-item'
).
size
).
to
eq
(
0
)
end
it
'filters with text'
do
filtered_search
.
set
(
'a'
)
expect
(
page
.
all
(
'#js-dropdown-hint .filter-dropdown .filter-dropdown-item'
).
size
).
to
eq
(
3
)
end
end
describe
'selecting from dropdown with no input'
do
before
do
filtered_search
.
click
end
it
'opens the author dropdown when you click on author'
do
find
(
'#js-dropdown-hint .filter-dropdown .filter-dropdown-item'
,
text:
'author'
).
click
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:'
)
end
it
'opens the assignee dropdown when you click on assignee'
do
find
(
'#js-dropdown-hint .filter-dropdown .filter-dropdown-item'
,
text:
'assignee'
).
click
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:'
)
end
it
'opens the milestone dropdown when you click on milestone'
do
find
(
'#js-dropdown-hint .filter-dropdown .filter-dropdown-item'
,
text:
'milestone'
).
click
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:'
)
end
it
'opens the label dropdown when you click on label'
do
find
(
'#js-dropdown-hint .filter-dropdown .filter-dropdown-item'
,
text:
'label'
).
click
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:'
)
end
end
describe
'selecting from dropdown with some input'
do
it
'opens the author dropdown when you click on author'
do
filtered_search
.
set
(
'auth'
)
find
(
'#js-dropdown-hint .filter-dropdown .filter-dropdown-item'
,
text:
'author'
).
click
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:'
)
end
it
'opens the assignee dropdown when you click on assignee'
do
filtered_search
.
set
(
'assign'
)
find
(
'#js-dropdown-hint .filter-dropdown .filter-dropdown-item'
,
text:
'assignee'
).
click
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:'
)
end
it
'opens the milestone dropdown when you click on milestone'
do
filtered_search
.
set
(
'mile'
)
find
(
'#js-dropdown-hint .filter-dropdown .filter-dropdown-item'
,
text:
'milestone'
).
click
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:'
)
end
it
'opens the label dropdown when you click on label'
do
filtered_search
.
set
(
'lab'
)
find
(
'#js-dropdown-hint .filter-dropdown .filter-dropdown-item'
,
text:
'label'
).
click
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:'
)
end
end
end
spec/features/issues/filter_issues_spec.rb
→
spec/features/issues/filter
ed_search/filter
_issues_spec.rb
View file @
625ecdbc
...
...
@@ -3,13 +3,13 @@ require 'rails_helper'
describe
'Filter issues'
,
feature:
true
do
include
WaitForAjax
let!
(
:group
)
{
create
(
:group
)
}
let!
(
:project
)
{
create
(
:project
,
group:
group
)
}
let!
(
:user
)
{
create
(
:user
)
}
let!
(
:user2
)
{
create
(
:user
)
}
let!
(
:group
)
{
create
(
:group
)
}
let!
(
:project
)
{
create
(
:project
,
group:
group
)
}
let!
(
:user
)
{
create
(
:user
)
}
let!
(
:user2
)
{
create
(
:user
)
}
let!
(
:milestone
)
{
create
(
:milestone
,
project:
project
)
}
let!
(
:label
)
{
create
(
:label
,
project:
project
)
}
let!
(
:wontfix
)
{
create
(
:label
,
project:
project
,
title:
"Won't fix"
)
}
let!
(
:label
)
{
create
(
:label
,
project:
project
)
}
let!
(
:wontfix
)
{
create
(
:label
,
project:
project
,
title:
"Won't fix"
)
}
let!
(
:bug_label
)
{
create
(
:label
,
project:
project
,
title:
'bug'
)
}
let!
(
:caps_sensitive_label
)
{
create
(
:label
,
project:
project
,
title:
'CAPS_sensitive'
)
}
...
...
spec/features/issues/search_bar_spec.rb
→
spec/features/issues/
filtered_search/
search_bar_spec.rb
View file @
625ecdbc
...
...
@@ -14,6 +14,11 @@ describe 'Search bar', js: true, feature: true do
visit
namespace_project_issues_path
(
project
.
namespace
,
project
)
end
def
getLeftStyle
(
style
)
leftStyle
=
/left:\s\d*[.]\d*px/
.
match
(
style
)
leftStyle
.
to_s
.
gsub
(
'left: '
,
''
).
to_f
;
end
describe
'clear search button'
do
it
'clears text'
do
search_text
=
'search_text'
...
...
@@ -49,5 +54,33 @@ describe 'Search bar', js: true, feature: true do
expect
(
page
).
to
have_css
(
'.clear-search'
,
visible:
true
)
end
it
'resets the dropdown hint filter'
do
filtered_search
=
find
(
'.filtered-search'
)
filtered_search
.
click
();
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
it
'resets the dropdown filters'
do
filtered_search
=
find
(
'.filtered-search'
)
filtered_search
.
set
(
'a'
)
hintStyle
=
page
.
find
(
'#js-dropdown-hint'
)[
'style'
]
hintOffset
=
getLeftStyle
(
hintStyle
)
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
(
getLeftStyle
(
page
.
find
(
'#js-dropdown-hint'
)[
'style'
])).
to
eq
(
hintOffset
)
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