diff options
author | Nick Thomas <nick@gitlab.com> | 2018-09-21 15:13:15 +0100 |
---|---|---|
committer | Nick Thomas <nick@gitlab.com> | 2018-09-21 15:13:15 +0100 |
commit | e5f83afc60439d5b22a8604d6429218ff9ddf4c2 (patch) | |
tree | 87c3a7a8a4177fff4b0c6e949c4332305c3f3530 /spec/models/event_spec.rb | |
parent | 45ced6c5de760ef64b1f5e201ce518b1912c7704 (diff) | |
download | gitlab-ce-e5f83afc60439d5b22a8604d6429218ff9ddf4c2.tar.gz |
Fix Event#visible_to_user? for milestones
Diffstat (limited to 'spec/models/event_spec.rb')
-rw-r--r-- | spec/models/event_spec.rb | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/spec/models/event_spec.rb b/spec/models/event_spec.rb index c1eac4fa489..15bcaa19d5b 100644 --- a/spec/models/event_spec.rb +++ b/spec/models/event_spec.rb @@ -151,6 +151,7 @@ describe Event do let(:note_on_commit) { create(:note_on_commit, project: project) } let(:note_on_issue) { create(:note_on_issue, noteable: issue, project: project) } let(:note_on_confidential_issue) { create(:note_on_issue, noteable: confidential_issue, project: project) } + let(:milestone_on_project) { create(:milestone, project: project) } let(:event) { described_class.new(project: project, target: target, author_id: author.id) } before do @@ -268,6 +269,42 @@ describe Event do end end end + + context 'milestone event' do + let(:target) { milestone_on_project } + + it do + expect(event.visible_to_user?(nil)).to be_truthy + expect(event.visible_to_user?(non_member)).to be_truthy + expect(event.visible_to_user?(member)).to be_truthy + expect(event.visible_to_user?(guest)).to be_truthy + expect(event.visible_to_user?(admin)).to be_truthy + end + + context 'on public project with private issue tracker and merge requests' do + let(:project) { create(:project, :public, :issues_private, :merge_requests_private) } + + it do + expect(event.visible_to_user?(nil)).to be_falsy + expect(event.visible_to_user?(non_member)).to be_falsy + expect(event.visible_to_user?(member)).to be_truthy + expect(event.visible_to_user?(guest)).to be_truthy + expect(event.visible_to_user?(admin)).to be_truthy + end + end + + context 'on private project' do + let(:project) { create(:project, :private) } + + it do + expect(event.visible_to_user?(nil)).to be_falsy + expect(event.visible_to_user?(non_member)).to be_falsy + expect(event.visible_to_user?(member)).to be_truthy + expect(event.visible_to_user?(guest)).to be_truthy + expect(event.visible_to_user?(admin)).to be_truthy + end + end + end end describe '.limit_recent' do |