Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
heptapod
heptapod
Commits
ac73d7e6b06f
Commit
72bcb241
authored
Jan 17, 2018
by
Winnie Hellmann
Committed by
Clement Ho
Jan 17, 2018
Browse files
Filter groups and projects dropdowns of search page on backend
parent
62d72ab06578
Changes
4
Hide whitespace changes
Inline
Side-by-side
app/assets/javascripts/pages/search/show/search.js
View file @
ac73d7e6
...
...
@@ -15,6 +15,7 @@ export default class Search {
$groupDropdown
.
glDropdown
({
selectable
:
true
,
filterable
:
true
,
filterRemote
:
true
,
fieldName
:
'
group_id
'
,
search
:
{
fields
:
[
'
full_name
'
],
...
...
@@ -43,6 +44,7 @@ export default class Search {
$projectDropdown
.
glDropdown
({
selectable
:
true
,
filterable
:
true
,
filterRemote
:
true
,
fieldName
:
'
project_id
'
,
search
:
{
fields
:
[
'
name
'
],
...
...
changelogs/unreleased/winh-search-page-filters.yml
0 → 100644
View file @
ac73d7e6
---
title
:
Filter groups and projects dropdowns of search page on backend
merge_request
:
16336
author
:
type
:
fixed
spec/javascripts/fixtures/search.rb
0 → 100644
View file @
ac73d7e6
require
'spec_helper'
describe
SearchController
,
'(JavaScript fixtures)'
,
type: :controller
do
include
JavaScriptFixturesHelpers
render_views
before
(
:all
)
do
clean_frontend_fixtures
(
'search/'
)
end
it
'search/show.html.raw'
do
|
example
|
get
:show
expect
(
response
).
to
be_success
store_frontend_fixture
(
response
,
example
.
description
)
end
end
spec/javascripts/search_spec.js
0 → 100644
View file @
ac73d7e6
import
Api
from
'
~/api
'
;
import
Search
from
'
~/pages/search/show/search
'
;
describe
(
'
Search
'
,
()
=>
{
const
fixturePath
=
'
search/show.html.raw
'
;
const
searchTerm
=
'
some search
'
;
const
fillDropdownInput
=
(
dropdownSelector
)
=>
{
const
dropdownElement
=
document
.
querySelector
(
dropdownSelector
).
parentNode
;
const
inputElement
=
dropdownElement
.
querySelector
(
'
.dropdown-input-field
'
);
inputElement
.
value
=
searchTerm
;
return
inputElement
;
};
preloadFixtures
(
fixturePath
);
beforeEach
(()
=>
{
loadFixtures
(
fixturePath
);
new
Search
();
// eslint-disable-line no-new
});
it
(
'
requests groups from backend when filtering
'
,
(
done
)
=>
{
spyOn
(
Api
,
'
groups
'
).
and
.
callFake
((
term
)
=>
{
expect
(
term
).
toBe
(
searchTerm
);
done
();
});
const
inputElement
=
fillDropdownInput
(
'
.js-search-group-dropdown
'
);
$
(
inputElement
).
trigger
(
'
input
'
);
});
it
(
'
requests projects from backend when filtering
'
,
(
done
)
=>
{
spyOn
(
Api
,
'
projects
'
).
and
.
callFake
((
term
)
=>
{
expect
(
term
).
toBe
(
searchTerm
);
done
();
});
const
inputElement
=
fillDropdownInput
(
'
.js-search-project-dropdown
'
);
$
(
inputElement
).
trigger
(
'
input
'
);
});
});
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