Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStan Hu <stanhu@gmail.com>2015-08-17 04:05:53 +0300
committerStan Hu <stanhu@gmail.com>2015-08-20 11:38:15 +0300
commit98eb89be5d2df31c31812e670f058afc0454c865 (patch)
treeafc4fb0d97a3d356b65d997dcdd8590d32fdc435 /spec/models/user_spec.rb
parent55fc58bda4a5592f2f8deaecec9526fbe4eecd6f (diff)
Only show recent push event if the branch still exists or a recent merge request has not been created
Closes #2277
Diffstat (limited to 'spec/models/user_spec.rb')
-rw-r--r--spec/models/user_spec.rb29
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