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
ac38cab4
Commit
ac38cab4
authored
Feb 06, 2018
by
Kushal Pandya
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Import and use `FilteredSearchTokenKeys` independently
parent
f76ece5d
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
38 additions
and
35 deletions
+38
-35
spec/javascripts/filtered_search/components/recent_searches_dropdown_content_spec.js
...earch/components/recent_searches_dropdown_content_spec.js
+3
-4
spec/javascripts/filtered_search/dropdown_user_spec.js
spec/javascripts/filtered_search/dropdown_user_spec.js
+3
-1
spec/javascripts/filtered_search/dropdown_utils_spec.js
spec/javascripts/filtered_search/dropdown_utils_spec.js
+2
-1
spec/javascripts/filtered_search/filtered_search_manager_spec.js
...vascripts/filtered_search/filtered_search_manager_spec.js
+6
-5
spec/javascripts/filtered_search/filtered_search_token_keys_spec.js
...cripts/filtered_search/filtered_search_token_keys_spec.js
+22
-22
spec/javascripts/filtered_search/filtered_search_tokenizer_spec.js
...scripts/filtered_search/filtered_search_tokenizer_spec.js
+2
-2
No files found.
spec/javascripts/filtered_search/components/recent_searches_dropdown_content_spec.js
View file @
ac38cab4
import
Vue
from
'
vue
'
;
import
eventHub
from
'
~/filtered_search/event_hub
'
;
import
RecentSearchesDropdownContent
from
'
~/filtered_search/components/recent_searches_dropdown_content
'
;
import
'
~/filtered_search/filtered_search_token_keys
'
;
import
FilteredSearchTokenKeys
from
'
~/filtered_search/filtered_search_token_keys
'
;
const
createComponent
=
(
propsData
)
=>
{
const
Component
=
Vue
.
extend
(
RecentSearchesDropdownContent
);
...
...
@@ -19,14 +18,14 @@ const trimMarkupWhitespace = text => text.replace(/(\n|\s)+/gm, ' ').trim();
describe
(
'
RecentSearchesDropdownContent
'
,
()
=>
{
const
propsDataWithoutItems
=
{
items
:
[],
allowedKeys
:
gl
.
FilteredSearchTokenKeys
.
getKeys
(),
allowedKeys
:
FilteredSearchTokenKeys
.
getKeys
(),
};
const
propsDataWithItems
=
{
items
:
[
'
foo
'
,
'
author:@root label:~foo bar
'
,
],
allowedKeys
:
gl
.
FilteredSearchTokenKeys
.
getKeys
(),
allowedKeys
:
FilteredSearchTokenKeys
.
getKeys
(),
};
let
vm
;
...
...
spec/javascripts/filtered_search/dropdown_user_spec.js
View file @
ac38cab4
...
...
@@ -3,6 +3,8 @@ import '~/filtered_search/filtered_search_tokenizer';
import
'
~/filtered_search/filtered_search_dropdown
'
;
import
'
~/filtered_search/dropdown_user
'
;
import
FilteredSearchTokenKeys
from
'
~/filtered_search/filtered_search_token_keys
'
;
describe
(
'
Dropdown User
'
,
()
=>
{
describe
(
'
getSearchInput
'
,
()
=>
{
let
dropdownUser
;
...
...
@@ -14,7 +16,7 @@ describe('Dropdown User', () => {
spyOn
(
gl
.
DropdownUtils
,
'
getSearchInput
'
).
and
.
callFake
(()
=>
{});
dropdownUser
=
new
gl
.
DropdownUser
({
tokenKeys
:
gl
.
FilteredSearchTokenKeys
,
tokenKeys
:
FilteredSearchTokenKeys
,
});
});
...
...
spec/javascripts/filtered_search/dropdown_utils_spec.js
View file @
ac38cab4
import
'
~/filtered_search/dropdown_utils
'
;
import
'
~/filtered_search/filtered_search_tokenizer
'
;
import
'
~/filtered_search/filtered_search_dropdown_manager
'
;
import
FilteredSearchTokenKeys
from
'
~/filtered_search/filtered_search_token_keys
'
;
import
FilteredSearchSpecHelper
from
'
../helpers/filtered_search_spec_helper
'
;
describe
(
'
Dropdown Utils
'
,
()
=>
{
...
...
@@ -137,7 +138,7 @@ describe('Dropdown Utils', () => {
`
);
input
=
document
.
getElementById
(
'
test
'
);
allowedKeys
=
gl
.
FilteredSearchTokenKeys
.
getKeys
();
allowedKeys
=
FilteredSearchTokenKeys
.
getKeys
();
});
function
config
()
{
...
...
spec/javascripts/filtered_search/filtered_search_manager_spec.js
View file @
ac38cab4
...
...
@@ -3,8 +3,8 @@ import * as recentSearchesStoreSrc from '~/filtered_search/stores/recent_searche
import
RecentSearchesService
from
'
~/filtered_search/services/recent_searches_service
'
;
import
RecentSearchesServiceError
from
'
~/filtered_search/services/recent_searches_service_error
'
;
import
RecentSearchesRoot
from
'
~/filtered_search/recent_searches_root
'
;
import
FilteredSearchTokenKeys
from
'
~/filtered_search/filtered_search_token_keys
'
;
import
'
~/lib/utils/common_utils
'
;
import
'
~/filtered_search/filtered_search_token_keys
'
;
import
'
~/filtered_search/filtered_search_tokenizer
'
;
import
'
~/filtered_search/filtered_search_dropdown_manager
'
;
import
'
~/filtered_search/filtered_search_manager
'
;
...
...
@@ -14,6 +14,7 @@ describe('Filtered Search Manager', () => {
let
input
;
let
manager
;
let
tokensContainer
;
const
page
=
'
issues
'
;
const
placeholder
=
'
Search or filter results...
'
;
function
dispatchBackspaceEvent
(
element
,
eventType
)
{
...
...
@@ -62,7 +63,7 @@ describe('Filtered Search Manager', () => {
input
=
document
.
querySelector
(
'
.filtered-search
'
);
tokensContainer
=
document
.
querySelector
(
'
.tokens-container
'
);
manager
=
new
gl
.
FilteredSearchManager
();
manager
=
new
gl
.
FilteredSearchManager
(
{
page
}
);
manager
.
setup
();
};
...
...
@@ -80,19 +81,19 @@ describe('Filtered Search Manager', () => {
});
it
(
'
should instantiate RecentSearchesStore with isLocalStorageAvailable
'
,
()
=>
{
manager
=
new
gl
.
FilteredSearchManager
();
manager
=
new
gl
.
FilteredSearchManager
(
{
page
}
);
expect
(
RecentSearchesService
.
isAvailable
).
toHaveBeenCalled
();
expect
(
recentSearchesStoreSrc
.
default
).
toHaveBeenCalledWith
({
isLocalStorageAvailable
,
allowedKeys
:
gl
.
FilteredSearchTokenKeys
.
getKeys
(),
allowedKeys
:
FilteredSearchTokenKeys
.
getKeys
(),
});
});
});
describe
(
'
setup
'
,
()
=>
{
beforeEach
(()
=>
{
manager
=
new
gl
.
FilteredSearchManager
();
manager
=
new
gl
.
FilteredSearchManager
(
{
page
}
);
});
it
(
'
should not instantiate Flash if an RecentSearchesServiceError is caught
'
,
()
=>
{
...
...
spec/javascripts/filtered_search/filtered_search_token_keys_spec.js
View file @
ac38cab4
import
'
~/filtered_search/filtered_search_token_keys
'
;
import
FilteredSearchTokenKeys
from
'
~/filtered_search/filtered_search_token_keys
'
;
describe
(
'
Filtered Search Token Keys
'
,
()
=>
{
describe
(
'
get
'
,
()
=>
{
let
tokenKeys
;
beforeEach
(()
=>
{
tokenKeys
=
gl
.
FilteredSearchTokenKeys
.
get
();
tokenKeys
=
FilteredSearchTokenKeys
.
get
();
});
it
(
'
should return tokenKeys
'
,
()
=>
{
...
...
@@ -19,8 +19,8 @@ describe('Filtered Search Token Keys', () => {
describe
(
'
getKeys
'
,
()
=>
{
it
(
'
should return keys
'
,
()
=>
{
const
getKeys
=
gl
.
FilteredSearchTokenKeys
.
getKeys
();
const
keys
=
gl
.
FilteredSearchTokenKeys
.
get
().
map
(
i
=>
i
.
key
);
const
getKeys
=
FilteredSearchTokenKeys
.
getKeys
();
const
keys
=
FilteredSearchTokenKeys
.
get
().
map
(
i
=>
i
.
key
);
keys
.
forEach
((
key
,
i
)
=>
{
expect
(
key
).
toEqual
(
getKeys
[
i
]);
...
...
@@ -32,7 +32,7 @@ describe('Filtered Search Token Keys', () => {
let
conditions
;
beforeEach
(()
=>
{
conditions
=
gl
.
FilteredSearchTokenKeys
.
getConditions
();
conditions
=
FilteredSearchTokenKeys
.
getConditions
();
});
it
(
'
should return conditions
'
,
()
=>
{
...
...
@@ -46,71 +46,71 @@ describe('Filtered Search Token Keys', () => {
describe
(
'
searchByKey
'
,
()
=>
{
it
(
'
should return null when key not found
'
,
()
=>
{
const
tokenKey
=
gl
.
FilteredSearchTokenKeys
.
searchByKey
(
'
notakey
'
);
const
tokenKey
=
FilteredSearchTokenKeys
.
searchByKey
(
'
notakey
'
);
expect
(
tokenKey
===
null
).
toBe
(
true
);
});
it
(
'
should return tokenKey when found by key
'
,
()
=>
{
const
tokenKeys
=
gl
.
FilteredSearchTokenKeys
.
get
();
const
result
=
gl
.
FilteredSearchTokenKeys
.
searchByKey
(
tokenKeys
[
0
].
key
);
const
tokenKeys
=
FilteredSearchTokenKeys
.
get
();
const
result
=
FilteredSearchTokenKeys
.
searchByKey
(
tokenKeys
[
0
].
key
);
expect
(
result
).
toEqual
(
tokenKeys
[
0
]);
});
});
describe
(
'
searchBySymbol
'
,
()
=>
{
it
(
'
should return null when symbol not found
'
,
()
=>
{
const
tokenKey
=
gl
.
FilteredSearchTokenKeys
.
searchBySymbol
(
'
notasymbol
'
);
const
tokenKey
=
FilteredSearchTokenKeys
.
searchBySymbol
(
'
notasymbol
'
);
expect
(
tokenKey
===
null
).
toBe
(
true
);
});
it
(
'
should return tokenKey when found by symbol
'
,
()
=>
{
const
tokenKeys
=
gl
.
FilteredSearchTokenKeys
.
get
();
const
result
=
gl
.
FilteredSearchTokenKeys
.
searchBySymbol
(
tokenKeys
[
0
].
symbol
);
const
tokenKeys
=
FilteredSearchTokenKeys
.
get
();
const
result
=
FilteredSearchTokenKeys
.
searchBySymbol
(
tokenKeys
[
0
].
symbol
);
expect
(
result
).
toEqual
(
tokenKeys
[
0
]);
});
});
describe
(
'
searchByKeyParam
'
,
()
=>
{
it
(
'
should return null when key param not found
'
,
()
=>
{
const
tokenKey
=
gl
.
FilteredSearchTokenKeys
.
searchByKeyParam
(
'
notakeyparam
'
);
const
tokenKey
=
FilteredSearchTokenKeys
.
searchByKeyParam
(
'
notakeyparam
'
);
expect
(
tokenKey
===
null
).
toBe
(
true
);
});
it
(
'
should return tokenKey when found by key param
'
,
()
=>
{
const
tokenKeys
=
gl
.
FilteredSearchTokenKeys
.
get
();
const
result
=
gl
.
FilteredSearchTokenKeys
.
searchByKeyParam
(
`
${
tokenKeys
[
0
].
key
}
_
${
tokenKeys
[
0
].
param
}
`
);
const
tokenKeys
=
FilteredSearchTokenKeys
.
get
();
const
result
=
FilteredSearchTokenKeys
.
searchByKeyParam
(
`
${
tokenKeys
[
0
].
key
}
_
${
tokenKeys
[
0
].
param
}
`
);
expect
(
result
).
toEqual
(
tokenKeys
[
0
]);
});
it
(
'
should return alternative tokenKey when found by key param
'
,
()
=>
{
const
tokenKeys
=
gl
.
FilteredSearchTokenKeys
.
getAlternatives
();
const
result
=
gl
.
FilteredSearchTokenKeys
.
searchByKeyParam
(
`
${
tokenKeys
[
0
].
key
}
_
${
tokenKeys
[
0
].
param
}
`
);
const
tokenKeys
=
FilteredSearchTokenKeys
.
getAlternatives
();
const
result
=
FilteredSearchTokenKeys
.
searchByKeyParam
(
`
${
tokenKeys
[
0
].
key
}
_
${
tokenKeys
[
0
].
param
}
`
);
expect
(
result
).
toEqual
(
tokenKeys
[
0
]);
});
});
describe
(
'
searchByConditionUrl
'
,
()
=>
{
it
(
'
should return null when condition url not found
'
,
()
=>
{
const
condition
=
gl
.
FilteredSearchTokenKeys
.
searchByConditionUrl
(
null
);
const
condition
=
FilteredSearchTokenKeys
.
searchByConditionUrl
(
null
);
expect
(
condition
===
null
).
toBe
(
true
);
});
it
(
'
should return condition when found by url
'
,
()
=>
{
const
conditions
=
gl
.
FilteredSearchTokenKeys
.
getConditions
();
const
result
=
gl
.
FilteredSearchTokenKeys
.
searchByConditionUrl
(
conditions
[
0
].
url
);
const
conditions
=
FilteredSearchTokenKeys
.
getConditions
();
const
result
=
FilteredSearchTokenKeys
.
searchByConditionUrl
(
conditions
[
0
].
url
);
expect
(
result
).
toBe
(
conditions
[
0
]);
});
});
describe
(
'
searchByConditionKeyValue
'
,
()
=>
{
it
(
'
should return null when condition tokenKey and value not found
'
,
()
=>
{
const
condition
=
gl
.
FilteredSearchTokenKeys
.
searchByConditionKeyValue
(
null
,
null
);
const
condition
=
FilteredSearchTokenKeys
.
searchByConditionKeyValue
(
null
,
null
);
expect
(
condition
===
null
).
toBe
(
true
);
});
it
(
'
should return condition when found by tokenKey and value
'
,
()
=>
{
const
conditions
=
gl
.
FilteredSearchTokenKeys
.
getConditions
();
const
result
=
gl
.
FilteredSearchTokenKeys
const
conditions
=
FilteredSearchTokenKeys
.
getConditions
();
const
result
=
FilteredSearchTokenKeys
.
searchByConditionKeyValue
(
conditions
[
0
].
tokenKey
,
conditions
[
0
].
value
);
expect
(
result
).
toEqual
(
conditions
[
0
]);
});
...
...
spec/javascripts/filtered_search/filtered_search_tokenizer_spec.js
View file @
ac38cab4
import
'
~/filtered_search/filtered_search_token_keys
'
;
import
FilteredSearchTokenKeys
from
'
~/filtered_search/filtered_search_token_keys
'
;
import
'
~/filtered_search/filtered_search_tokenizer
'
;
describe
(
'
Filtered Search Tokenizer
'
,
()
=>
{
const
allowedKeys
=
gl
.
FilteredSearchTokenKeys
.
getKeys
();
const
allowedKeys
=
FilteredSearchTokenKeys
.
getKeys
();
describe
(
'
processTokens
'
,
()
=>
{
it
(
'
returns for input containing only search value
'
,
()
=>
{
...
...
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