diff options
author | Luke Bennett <lbennett@gitlab.com> | 2019-02-22 15:07:53 +0100 |
---|---|---|
committer | Luke Bennett <lbennett@gitlab.com> | 2019-02-27 12:26:07 +0000 |
commit | e4170bfb77219520224a88ff0cddfa1a263a1be4 (patch) | |
tree | 9ae7bc1b0ecaeb119ec50d4590c291bbef9b5d06 | |
parent | 3ae5e475293b4143ed6af530da0d2ab8d9fba56a (diff) | |
download | gitlab-ce-ce-fix-filtered-search-item-length.tar.gz |
Fix search_bar_spec items count for EEce-fix-filtered-search-item-length
EE renders a different number of search
dropdown items to CE. Splitting the
tests will reduce conflicts.
5 files changed, 18 insertions, 3 deletions
diff --git a/app/assets/javascripts/filtered_search/dropdown_hint.js b/app/assets/javascripts/filtered_search/dropdown_hint.js index 1a1135ae929..cfc0676ea6d 100644 --- a/app/assets/javascripts/filtered_search/dropdown_hint.js +++ b/app/assets/javascripts/filtered_search/dropdown_hint.js @@ -71,6 +71,7 @@ export default class DropdownHint extends FilteredSearchDropdown { hint: tokenKey.key, tag: `:${tokenKey.tag}`, type: tokenKey.type, + rowClass: tokenKey.rowClass, })); this.droplab.changeHookList(this.hookId, this.dropdown, [Filter], this.config); diff --git a/app/assets/javascripts/filtered_search/filtered_search_token_keys.js b/app/assets/javascripts/filtered_search/filtered_search_token_keys.js index 48534bdf815..4a8ad0b1bdc 100644 --- a/app/assets/javascripts/filtered_search/filtered_search_token_keys.js +++ b/app/assets/javascripts/filtered_search/filtered_search_token_keys.js @@ -80,6 +80,7 @@ export default class FilteredSearchTokenKeys { symbol: '', icon: 'eye-slash', tag: 'Yes or No', + rowClass: 'confidential', lowercaseValueOnSubmit: true, uppercaseTokenName: false, capitalizeTokenValue: true, @@ -97,6 +98,7 @@ export default class FilteredSearchTokenKeys { symbol: '', icon: 'admin', tag: 'Yes or No', + rowClass: 'wip', lowercaseValueOnSubmit: true, uppercaseTokenName: true, capitalizeTokenValue: true, diff --git a/app/assets/javascripts/filtered_search/issuable_filtered_search_token_keys.js b/app/assets/javascripts/filtered_search/issuable_filtered_search_token_keys.js index fd61030eb13..98713684638 100644 --- a/app/assets/javascripts/filtered_search/issuable_filtered_search_token_keys.js +++ b/app/assets/javascripts/filtered_search/issuable_filtered_search_token_keys.js @@ -8,6 +8,7 @@ export const tokenKeys = [ symbol: '@', icon: 'pencil', tag: '@author', + rowClass: 'author', }, { key: 'assignee', @@ -16,6 +17,7 @@ export const tokenKeys = [ symbol: '@', icon: 'user', tag: '@assignee', + rowClass: 'assignee', }, { key: 'milestone', @@ -24,6 +26,7 @@ export const tokenKeys = [ symbol: '%', icon: 'clock', tag: '%milestone', + rowClass: 'milestone', }, { key: 'label', @@ -32,6 +35,7 @@ export const tokenKeys = [ symbol: '~', icon: 'labels', tag: '~label', + rowClass: 'label', }, ]; @@ -44,6 +48,7 @@ if (gon.current_user_id) { symbol: '', icon: 'thumb-up', tag: 'emoji', + rowClass: 'my-reaction', }); } diff --git a/app/views/shared/issuable/_search_bar.html.haml b/app/views/shared/issuable/_search_bar.html.haml index bdba47ed14d..8831f0183af 100644 --- a/app/views/shared/issuable/_search_bar.html.haml +++ b/app/views/shared/issuable/_search_bar.html.haml @@ -36,7 +36,7 @@ %span = _('Press Enter or click to search') %ul.filter-dropdown{ data: { dynamic: true, dropdown: true } } - %li.filter-dropdown-item + %li.filter-dropdown-item{ class: '{{rowClass}}' } %button.btn.btn-link{ type: 'button' } -# Encapsulate static class name `{{icon}}` inside #{} to bypass -# haml lint's ClassAttributeWithStaticValue diff --git a/spec/features/issues/filtered_search/search_bar_spec.rb b/spec/features/issues/filtered_search/search_bar_spec.rb index da23aea1fc9..674046ae588 100644 --- a/spec/features/issues/filtered_search/search_bar_spec.rb +++ b/spec/features/issues/filtered_search/search_bar_spec.rb @@ -86,7 +86,7 @@ describe 'Search bar', :js do expect(find('#js-dropdown-hint')).to have_selector('.filter-dropdown .filter-dropdown-item', count: original_size) end - it 'resets the dropdown filters', :quarantine do + it 'resets the dropdown filters' do filtered_search.click hint_offset = get_left_style(find('#js-dropdown-hint')['style']) @@ -100,7 +100,14 @@ describe 'Search bar', :js do find('.filtered-search-box .clear-search').click filtered_search.click - expect(find('#js-dropdown-hint')).to have_selector('.filter-dropdown .filter-dropdown-item', count: 6) + find('#js-dropdown-hint .filter-dropdown .filter-dropdown-item', match: :first) + + expect(page).to have_selector('.author') + expect(page).to have_selector('.assignee') + expect(page).to have_selector('.milestone') + expect(page).to have_selector('.label') + expect(page).to have_selector('.my-reaction') + expect(page).to have_selector('.confidential') expect(get_left_style(find('#js-dropdown-hint')['style'])).to eq(hint_offset) end end |