diff options
author | Igor <idrozdov@gitlab.com> | 2019-04-04 16:28:56 +0000 |
---|---|---|
committer | Douwe Maan <douwe@gitlab.com> | 2019-04-04 16:28:56 +0000 |
commit | 866b58a54e95415ad74b8f004db40abb4343c753 (patch) | |
tree | ed7436c916e4d3db48c255267255e9bbc4fbaa22 /spec/helpers | |
parent | 8647230fa509cbba8e1853aae500315bf1116005 (diff) | |
download | gitlab-ce-866b58a54e95415ad74b8f004db40abb4343c753.tar.gz |
Allow to sort wiki pages by date and title
- Add controls for sorting by title and date
- Execute Gitaly call which now accepts sorting params for wikis
Diffstat (limited to 'spec/helpers')
-rw-r--r-- | spec/helpers/wiki_helper_spec.rb | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/spec/helpers/wiki_helper_spec.rb b/spec/helpers/wiki_helper_spec.rb index 92c6f27a867..8eab40aeaf3 100644 --- a/spec/helpers/wiki_helper_spec.rb +++ b/spec/helpers/wiki_helper_spec.rb @@ -18,4 +18,56 @@ describe WikiHelper do end end end + + describe '#wiki_sort_controls' do + let(:project) { create(:project) } + let(:wiki_link) { helper.wiki_sort_controls(project, sort, direction) } + let(:classes) { "btn btn-default has-tooltip reverse-sort-btn qa-reverse-sort" } + + def expected_link(sort, direction, icon_class) + path = "/#{project.full_path}/wikis/pages?direction=#{direction}&sort=#{sort}" + + helper.link_to(path, type: 'button', class: classes, title: 'Sort direction') do + helper.sprite_icon("sort-#{icon_class}", size: 16) + end + end + + context 'initial call' do + let(:sort) { nil } + let(:direction) { nil } + + it 'renders with default values' do + expect(wiki_link).to eq(expected_link('title', 'desc', 'lowest')) + end + end + + context 'sort by title' do + let(:sort) { 'title' } + let(:direction) { 'asc' } + + it 'renders a link with opposite direction' do + expect(wiki_link).to eq(expected_link('title', 'desc', 'lowest')) + end + end + + context 'sort by created_at' do + let(:sort) { 'created_at' } + let(:direction) { 'desc' } + + it 'renders a link with opposite direction' do + expect(wiki_link).to eq(expected_link('created_at', 'asc', 'highest')) + end + end + end + + describe '#wiki_sort_title' do + it 'returns a title corresponding to a key' do + expect(helper.wiki_sort_title('created_at')).to eq('Created date') + expect(helper.wiki_sort_title('title')).to eq('Title') + end + + it 'defaults to Title if a key is unknown' do + expect(helper.wiki_sort_title('unknown')).to eq('Title') + end + end end |