From f4945879735d3a6d9f6ecac4773cb6a660cd57a4 Mon Sep 17 00:00:00 2001 From: Jan Provaznik Date: Tue, 10 Sep 2019 10:11:38 +0000 Subject: Add event presenter This presenter will be used in an upcoming MR which adds rendering of epic events on group activity page. --- spec/helpers/events_helper_spec.rb | 2 +- spec/presenters/event_presenter_spec.rb | 41 +++++++++++++++++++++++++++++++++ 2 files changed, 42 insertions(+), 1 deletion(-) create mode 100644 spec/presenters/event_presenter_spec.rb (limited to 'spec') diff --git a/spec/helpers/events_helper_spec.rb b/spec/helpers/events_helper_spec.rb index 3d15306d4d2..e062c841717 100644 --- a/spec/helpers/events_helper_spec.rb +++ b/spec/helpers/events_helper_spec.rb @@ -27,7 +27,7 @@ describe EventsHelper do end describe '#event_feed_url' do - let(:event) { create(:event) } + let(:event) { create(:event).present } let(:project) { create(:project, :public, :repository) } context 'issue' do diff --git a/spec/presenters/event_presenter_spec.rb b/spec/presenters/event_presenter_spec.rb new file mode 100644 index 00000000000..79f5e359141 --- /dev/null +++ b/spec/presenters/event_presenter_spec.rb @@ -0,0 +1,41 @@ +# frozen_string_literal: true + +require 'spec_helper' + +describe EventPresenter do + include Gitlab::Routing.url_helpers + + set(:group) { create(:group) } + set(:project) { create(:project, group: group) } + set(:target) { create(:milestone, project: project) } + set(:group_event) { create(:event, :created, project: nil, group: group, target: target) } + set(:project_event) { create(:event, :created, project: project, target: target) } + + describe '#resource_parent_name' do + context 'with group event' do + subject { group_event.present.resource_parent_name } + + it { is_expected.to eq(group.full_name) } + end + + context 'with project label' do + subject { project_event.present.resource_parent_name } + + it { is_expected.to eq(project.full_name) } + end + end + + describe '#target_link_options' do + context 'with group event' do + subject { group_event.present.target_link_options } + + it { is_expected.to eq([group, target]) } + end + + context 'with project label' do + subject { project_event.present.target_link_options } + + it { is_expected.to eq([group.becomes(Namespace), project, target]) } + end + end +end -- cgit v1.2.3