diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2020-03-25 12:08:19 +0000 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2020-03-25 12:08:19 +0000 |
commit | e6baeabaa9651d90b03bb64ffce75a2c3cb89aab (patch) | |
tree | 85f3cbd6e437b17be59505cf3ac4794c1838609e /spec/helpers | |
parent | 5064bf8c5647d4c4430cbb4d097cf1592416de29 (diff) | |
download | gitlab-ce-e6baeabaa9651d90b03bb64ffce75a2c3cb89aab.tar.gz |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'spec/helpers')
-rw-r--r-- | spec/helpers/events_helper_spec.rb | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/spec/helpers/events_helper_spec.rb b/spec/helpers/events_helper_spec.rb index 61229127770..0109525bcac 100644 --- a/spec/helpers/events_helper_spec.rb +++ b/spec/helpers/events_helper_spec.rb @@ -88,6 +88,85 @@ describe EventsHelper do end end + describe '#event_preposition' do + context 'for wiki page events' do + let(:event) { create(:wiki_page_event) } + + it 'returns a suitable phrase' do + expect(helper.event_preposition(event)).to eq('in the wiki for') + end + end + + context 'for push action events' do + let(:event) { create(:push_event) } + + it 'returns a suitable phrase' do + expect(helper.event_preposition(event)).to eq('at') + end + end + + context 'for commented actions' do + let(:event) { create(:event, :commented) } + + it 'returns a suitable phrase' do + expect(helper.event_preposition(event)).to eq('at') + end + end + + context 'for any event with a target' do + let(:event) { create(:event, target: create(:issue)) } + + it 'returns a suitable phrase' do + expect(helper.event_preposition(event)).to eq('at') + end + end + + context 'for milestone events' do + let(:event) { create(:event, target: create(:milestone)) } + + it 'returns a suitable phrase' do + expect(helper.event_preposition(event)).to eq('in') + end + end + + context 'for non-matching events' do + let(:event) { create(:event, :created) } + + it 'returns no preposition' do + expect(helper.event_preposition(event)).to be_nil + end + end + end + + describe 'event_wiki_page_target_url' do + let(:project) { create(:project) } + let(:wiki_page) { create(:wiki_page, wiki: create(:project_wiki, project: project)) } + let(:event) { create(:wiki_page_event, project: project, wiki_page: wiki_page) } + + it 'links to the wiki page' do + url = helper.project_wiki_url(project, wiki_page.slug) + + expect(helper.event_wiki_page_target_url(event)).to eq(url) + end + end + + describe '#event_wiki_title_html' do + let(:event) { create(:wiki_page_event) } + + it 'produces a suitable title chunk' do + url = helper.event_wiki_page_target_url(event) + title = event.target_title + html = [ + "<span class=\"event-target-type append-right-4\">wiki page</span>", + "<a title=\"#{title}\" class=\"has-tooltip event-target-link append-right-4\" href=\"#{url}\">", + title, + "</a>" + ].join + + expect(helper.event_wiki_title_html(event)).to eq(html) + end + end + describe '#event_note_target_url' do let(:project) { create(:project, :public, :repository) } let(:event) { create(:event, project: project) } |