Commit 12753def authored by Clement Ho's avatar Clement Ho

Fix specs

parent f72c1bf1
...@@ -84,7 +84,7 @@ ...@@ -84,7 +84,7 @@
break; break;
case 'projects:merge_requests:index': case 'projects:merge_requests:index':
case 'projects:issues:index': case 'projects:issues:index':
if(document.querySelector('.filtered-search') && gl.FilteredSearchManager) { if (document.querySelector('.filtered-search') && gl.FilteredSearchManager) {
new gl.FilteredSearchManager(); new gl.FilteredSearchManager();
} }
Issuable.init(); Issuable.init();
......
...@@ -43,7 +43,7 @@ ...@@ -43,7 +43,7 @@
static filterHint(item, query) { static filterHint(item, query) {
const updatedItem = item; const updatedItem = item;
let { lastToken } = gl.FilteredSearchTokenizer.processTokens(query); let { lastToken } = gl.FilteredSearchTokenizer.processTokens(query);
lastToken = lastToken || ''; lastToken = lastToken.key || lastToken || '';
if (!lastToken || query.split('').last() === ' ') { if (!lastToken || query.split('').last() === ' ') {
updatedItem.droplab_hidden = false; updatedItem.droplab_hidden = false;
......
...@@ -70,13 +70,13 @@ describe 'Dropdown author', js: true, feature: true do ...@@ -70,13 +70,13 @@ describe 'Dropdown author', js: true, feature: true do
end end
it 'filters by name' do it 'filters by name' do
send_keys_to_filtered_search('j') send_keys_to_filtered_search('ja')
expect(dropdown_author_size).to eq(2) expect(dropdown_author_size).to eq(1)
end end
it 'filters by case insensitive name' do it 'filters by case insensitive name' do
send_keys_to_filtered_search('J') send_keys_to_filtered_search('Ja')
expect(dropdown_author_size).to eq(2) expect(dropdown_author_size).to eq(1)
end end
it 'filters by username with symbol' do it 'filters by username with symbol' do
...@@ -84,11 +84,6 @@ describe 'Dropdown author', js: true, feature: true do ...@@ -84,11 +84,6 @@ describe 'Dropdown author', js: true, feature: true do
expect(dropdown_author_size).to eq(2) expect(dropdown_author_size).to eq(2)
end end
it 'filters by case insensitive username with symbol' do
send_keys_to_filtered_search('@OT')
expect(dropdown_author_size).to eq(2)
end
it 'filters by username without symbol' do it 'filters by username without symbol' do
send_keys_to_filtered_search('ot') send_keys_to_filtered_search('ot')
expect(dropdown_author_size).to eq(2) expect(dropdown_author_size).to eq(2)
......
...@@ -9,6 +9,7 @@ describe 'Dropdown label', js: true, feature: true do ...@@ -9,6 +9,7 @@ describe 'Dropdown label', js: true, feature: true do
let!(:uppercase_label) { create(:label, project: project, title: 'BUG') } let!(:uppercase_label) { create(:label, project: project, title: 'BUG') }
let!(:two_words_label) { create(:label, project: project, title: 'High Priority') } let!(:two_words_label) { create(:label, project: project, title: 'High Priority') }
let!(:wont_fix_label) { create(:label, project: project, title: 'Won"t Fix') } let!(:wont_fix_label) { create(:label, project: project, title: 'Won"t Fix') }
let!(:wont_fix_single_label) { create(:label, project: project, title: 'Won\'t Fix') }
let!(:special_label) { create(:label, project: project, title: '!@#$%^+&*()')} let!(:special_label) { create(:label, project: project, title: '!@#$%^+&*()')}
let!(:long_label) { create(:label, project: project, title: 'this is a very long title this is a very long title this is a very long title this is a very long title this is a very long title')} let!(:long_label) { create(:label, project: project, title: 'this is a very long title this is a very long title this is a very long title this is a very long title this is a very long title')}
let(:filtered_search) { find('.filtered-search') } let(:filtered_search) { find('.filtered-search') }
...@@ -68,61 +69,66 @@ describe 'Dropdown label', js: true, feature: true do ...@@ -68,61 +69,66 @@ describe 'Dropdown label', js: true, feature: true do
describe 'filtering' do describe 'filtering' do
before do before do
filtered_search.set('label:') filtered_search.set('label')
end end
it 'filters by name' do it 'filters by name' do
send_keys_to_filtered_search('b') send_keys_to_filtered_search(':b')
expect(dropdown_label_size).to eq(2) expect(dropdown_label_size).to eq(2)
end end
it 'filters by case insensitive name' do it 'filters by case insensitive name' do
send_keys_to_filtered_search('B') send_keys_to_filtered_search(':B')
expect(dropdown_label_size).to eq(2) expect(dropdown_label_size).to eq(2)
end end
it 'filters by name with symbol' do it 'filters by name with symbol' do
send_keys_to_filtered_search('~bu') send_keys_to_filtered_search(':~bu')
expect(dropdown_label_size).to eq(2) expect(dropdown_label_size).to eq(2)
end end
it 'filters by case insensitive name with symbol' do it 'filters by case insensitive name with symbol' do
send_keys_to_filtered_search('~BU') send_keys_to_filtered_search(':~BU')
expect(dropdown_label_size).to eq(2) expect(dropdown_label_size).to eq(2)
end end
it 'filters by multiple names using double quotes' do it 'filters by multiple words' do
send_keys_to_filtered_search('"High P') send_keys_to_filtered_search(':Hig')
expect(dropdown_label_size).to eq(1)
end
it 'filters by multiple words with symbol' do
send_keys_to_filtered_search(':~Hig')
expect(dropdown_label_size).to eq(1) expect(dropdown_label_size).to eq(1)
end end
it 'filters by multiple names using single quotes' do it 'filters by multiple words containing single quotes' do
send_keys_to_filtered_search('\'High P') send_keys_to_filtered_search(':won\'t')
expect(dropdown_label_size).to eq(1) expect(dropdown_label_size).to eq(1)
end end
it 'filters by multiple names using single and double quotes' do it 'filters by multiple words containing single quotes with symbol' do
send_keys_to_filtered_search('~"won`\'t f') send_keys_to_filtered_search(':~won\'t')
expect(dropdown_label_size).to eq(1) expect(dropdown_label_size).to eq(1)
end end
it 'filters by multiple names using double quotes with symbol' do it 'filters by multiple words containing double quotes' do
send_keys_to_filtered_search('~"High P') send_keys_to_filtered_search(':won"t')
expect(dropdown_label_size).to eq(1) expect(dropdown_label_size).to eq(1)
end end
it 'filters by multiple names using single quotes with symbol' do it 'filters by multiple words containing double quotes with symbol' do
send_keys_to_filtered_search('~\'High P') send_keys_to_filtered_search(':~won"t')
expect(dropdown_label_size).to eq(1) expect(dropdown_label_size).to eq(1)
end end
it 'filters by special characters' do it 'filters by special characters' do
send_keys_to_filtered_search('^+') send_keys_to_filtered_search(':^+')
expect(dropdown_label_size).to eq(1) expect(dropdown_label_size).to eq(1)
end end
it 'filters by special characters with symbol' do it 'filters by special characters with symbol' do
send_keys_to_filtered_search('~^+') send_keys_to_filtered_search(':~^+')
expect(dropdown_label_size).to eq(1) expect(dropdown_label_size).to eq(1)
end end
end end
......
...@@ -73,61 +73,36 @@ describe 'Dropdown milestone', js: true, feature: true do ...@@ -73,61 +73,36 @@ describe 'Dropdown milestone', js: true, feature: true do
describe 'filtering' do describe 'filtering' do
before do before do
filtered_search.set('milestone:') filtered_search.set('milestone')
end end
it 'filters by name' do it 'filters by name' do
send_keys_to_filtered_search('v1') send_keys_to_filtered_search(':v1')
expect(dropdown_milestone_size).to eq(1) expect(dropdown_milestone_size).to eq(1)
end end
it 'filters by case insensitive name' do it 'filters by case insensitive name' do
send_keys_to_filtered_search('V1') send_keys_to_filtered_search(':V1')
expect(dropdown_milestone_size).to eq(1) expect(dropdown_milestone_size).to eq(1)
end end
it 'filters by name with symbol' do it 'filters by name with symbol' do
send_keys_to_filtered_search('%v1') send_keys_to_filtered_search(':%v1')
expect(dropdown_milestone_size).to eq(1) expect(dropdown_milestone_size).to eq(1)
end end
it 'filters by case insensitive name with symbol' do it 'filters by case insensitive name with symbol' do
send_keys_to_filtered_search('%V1') send_keys_to_filtered_search(':%V1')
expect(dropdown_milestone_size).to eq(1)
end
it 'filters by multiple names using double quotes' do
send_keys_to_filtered_search('"future')
expect(dropdown_milestone_size).to eq(1)
end
it 'filters by multiple names using single quotes' do
send_keys_to_filtered_search('\'future p')
expect(dropdown_milestone_size).to eq(1)
end
it 'filters by multiple names using single and double quotes' do
send_keys_to_filtered_search('%"won`\'t f')
expect(dropdown_milestone_size).to eq(1)
end
it 'filters by multiple names using double quotes with symbol' do
send_keys_to_filtered_search('%"future p')
expect(dropdown_milestone_size).to eq(1)
end
it 'filters by multiple names using single quotes with symbol' do
send_keys_to_filtered_search('%\'future p')
expect(dropdown_milestone_size).to eq(1) expect(dropdown_milestone_size).to eq(1)
end end
it 'filters by special characters' do it 'filters by special characters' do
send_keys_to_filtered_search('^+') send_keys_to_filtered_search(':(+')
expect(dropdown_milestone_size).to eq(1) expect(dropdown_milestone_size).to eq(1)
end end
it 'filters by special characters with symbol' do it 'filters by special characters with symbol' do
send_keys_to_filtered_search('~^+') send_keys_to_filtered_search(':%(+')
expect(dropdown_milestone_size).to eq(1) expect(dropdown_milestone_size).to eq(1)
end end
end end
......
...@@ -12,8 +12,6 @@ ...@@ -12,8 +12,6 @@
const input = document.createElement('input'); const input = document.createElement('input');
input.classList.add('filtered-search'); input.classList.add('filtered-search');
document.body.appendChild(input); document.body.appendChild(input);
expect(input.value).toBe('');
}); });
afterEach(() => { afterEach(() => {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment