Add jasmine tests for filtered search dropdown manager
This commit is contained in:
parent
d93ccb8e09
commit
f7b6361124
|
@ -0,0 +1,57 @@
|
||||||
|
//= require filtered_search/filtered_search_tokenizer
|
||||||
|
//= require filtered_search/filtered_search_dropdown_manager
|
||||||
|
|
||||||
|
(() => {
|
||||||
|
describe('Filtered Search Dropdown Manager', () => {
|
||||||
|
describe('addWordToInput', () => {
|
||||||
|
describe('add word and when lastToken is an empty object', () => {
|
||||||
|
function getInput() {
|
||||||
|
return document.querySelector('.filtered-search');
|
||||||
|
}
|
||||||
|
|
||||||
|
beforeEach(() => {
|
||||||
|
spyOn(gl.FilteredSearchTokenizer, 'processTokens')
|
||||||
|
.and.callFake(query => ({
|
||||||
|
lastToken: {}
|
||||||
|
})
|
||||||
|
);
|
||||||
|
|
||||||
|
const input = document.createElement('input');
|
||||||
|
input.classList.add('filtered-search');
|
||||||
|
document.body.appendChild(input);
|
||||||
|
|
||||||
|
expect(input.value).toBe('');
|
||||||
|
});
|
||||||
|
|
||||||
|
afterEach(() => {
|
||||||
|
document.querySelector('.filtered-search').outerHTML = '';
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should add word', () => {
|
||||||
|
gl.FilteredSearchDropdownManager.addWordToInput('firstWord');
|
||||||
|
expect(getInput().value).toBe('firstWord');
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should not add space before first word', () => {
|
||||||
|
gl.FilteredSearchDropdownManager.addWordToInput('firstWord', true);
|
||||||
|
expect(getInput().value).toBe('firstWord');
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should not add space before second word by default', () => {
|
||||||
|
gl.FilteredSearchDropdownManager.addWordToInput('firstWord');
|
||||||
|
expect(getInput().value).toBe('firstWord');
|
||||||
|
gl.FilteredSearchDropdownManager.addWordToInput('secondWord');
|
||||||
|
expect(getInput().value).toBe('firstWordsecondWord');
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should add space before new word when addSpace is passed', () => {
|
||||||
|
expect(getInput().value).toBe('');
|
||||||
|
gl.FilteredSearchDropdownManager.addWordToInput('firstWord');
|
||||||
|
expect(getInput().value).toBe('firstWord');
|
||||||
|
gl.FilteredSearchDropdownManager.addWordToInput('secondWord', true);
|
||||||
|
expect(getInput().value).toBe('firstWord secondWord');
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
})();
|
Loading…
Reference in New Issue