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
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
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
152 additions
and
6 deletions
+152
-6
dropdown_hint_spec.rb
spec/features/issues/filtered_search/dropdown_hint_spec.rb
+113
-0
filter_issues_spec.rb
spec/features/issues/filtered_search/filter_issues_spec.rb
+6
-6
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