diff options
author | Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com> | 2015-08-21 17:54:53 +0300 |
---|---|---|
committer | Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com> | 2015-08-21 17:54:53 +0300 |
commit | d43d7ffd6f41fa51f8314f2bcabd7ee9d19ecb9b (patch) | |
tree | 7d728a4102b91b5eb99edc83324b74b6de8b048a /spec/models | |
parent | 59525d6b28243d119aa4bc1278a6f1f714050034 (diff) | |
parent | 98eb89be5d2df31c31812e670f058afc0454c865 (diff) |
Merge branch 'hide-recent-push' into 'master'
Only show recent push event if the branch still exists or a recent merge request has not been created
Closes #2277
See merge request !1167
Diffstat (limited to 'spec/models')
-rw-r--r-- | spec/models/user_spec.rb | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/spec/models/user_spec.rb b/spec/models/user_spec.rb index 876cfb1204a..a46e789eab4 100644 --- a/spec/models/user_spec.rb +++ b/spec/models/user_spec.rb @@ -710,4 +710,33 @@ describe User do it { expect(subject.can_be_removed?).to be_falsey } end end + + describe "#recent_push" do + subject { create(:user) } + let!(:project1) { create(:project) } + let!(:project2) { create(:project, forked_from_project: project1) } + let!(:push_data) { Gitlab::PushDataBuilder.build_sample(project2, subject) } + let!(:push_event) { create(:event, action: Event::PUSHED, project: project2, target: project1, author: subject, data: push_data) } + + before do + project1.team << [subject, :master] + project2.team << [subject, :master] + end + + it "includes push event" do + expect(subject.recent_push).to eq(push_event) + end + + it "excludes push event if branch has been deleted" do + allow_any_instance_of(Repository).to receive(:branch_names).and_return(['foo']) + + expect(subject.recent_push).to eq(nil) + end + + it "excludes push event if MR is opened for it" do + create(:merge_request, source_project: project2, target_project: project1, source_branch: project2.default_branch, target_branch: 'fix', author: subject) + + expect(subject.recent_push).to eq(nil) + end + end end |