Approvers-from-authors specs are failing
Since https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/26144 got merged into EE via https://gitlab.com/gitlab-org/gitlab-ee/commit/19db55240c0b9d2088cfae8f8f706be41c35d311, we've had these specs fail.
https://gitlab.com/gitlab-org/gitlab-ee/-/jobs/181579053:
Failures:
1) VisibleApprovable#overall_approvers when committer is approver excludes committer if committers cannot approve
Failure/Error: is_expected.not_to include(committer_approver.user)
expected [#<User id: @user1946>, #<User id:1955 @user1944>, #<User id:1956 @user1945>] not to include #<User id:1955 @user1944>
Diff:
@@ -1,2 +1,2 @@
-[#<User id:1955 @user1944>]
+[#<User id: @user1946>, #<User id:1955 @user1944>, #<User id:1956 @user1945>]
# ./ee/spec/models/visible_approvable_spec.rb:80:in `block (4 levels) in <top (required)>'
Finished in 10 minutes 10 seconds (files took 12.05 seconds to load)
1275 examples, 1 failure, 16 pending
Failed examples:
rspec ./ee/spec/models/visible_approvable_spec.rb:79 # VisibleApprovable#overall_approvers when committer is approver excludes committer if committers cannot approve
https://gitlab.com/gitlab-org/gitlab-ee/-/jobs/181578493:
Failures:
1) VisibleApprovableForRule#overall_approvers when committer is approver behaves like able to exclude authors excludes author if authors cannot approve
Failure/Error: is_expected.not_to include(approver)
expected [#<User id:1249 @user1236>, #<User id:1250 @user1237>] not to include #<User id:1249 @user1236>
Diff:
@@ -1,2 +1,2 @@
-[#<User id:1249 @user1236>]
+[#<User id:1249 @user1236>, #<User id:1250 @user1237>]
Shared Example Group: "able to exclude authors" called from ./ee/spec/models/visible_approvable_for_rule_spec.rb:90
# ./ee/spec/models/visible_approvable_for_rule_spec.rb:71:in `block (4 levels) in <top (required)>'
Finished in 12 minutes 52 seconds (files took 14.38 seconds to load)
910 examples, 1 failure, 27 pending
Failed examples:
rspec './ee/spec/models/visible_approvable_for_rule_spec.rb[1:2:5:1:1]' # VisibleApprovableForRule#overall_approvers when committer is approver behaves like able to exclude authors excludes author if authors cannot approve
https://gitlab.com/gitlab-org/gitlab-ee/-/jobs/181588941:
Failures:
1) Approvable#can_approve? when authors can approve when user is committer returns false when user is not approver
Failure/Error: expect(merge_request.can_approve?(user)).to be false
expected false
got true
# ./ee/spec/models/approvable_spec.rb:95:in `block (5 levels) in <top (required)>'
2) Approvable#can_approve? when authors cannot approve returns false when user is a committer
Failure/Error: expect(merge_request.can_approve?(user)).to be false
expected false
got true
# ./ee/spec/models/approvable_spec.rb:116:in `block (4 levels) in <top (required)>'
3) ApprovableForRule#can_approve? when authors can approve when user is committer returns false when user is not approver
Failure/Error: expect(merge_request.can_approve?(user)).to be false
expected false
got true
# ./ee/spec/models/approvable_for_rule_spec.rb:76:in `block (5 levels) in <top (required)>'
4) ApprovableForRule#can_approve? when authors cannot approve returns false when user is a committer
Failure/Error: expect(merge_request.can_approve?(user)).to be false
expected false
got true
# ./ee/spec/models/approvable_for_rule_spec.rb:97:in `block (4 levels) in <top (required)>'
Finished in 14 minutes 44 seconds (files took 15.19 seconds to load)
978 examples, 4 failures, 48 pending
Failed examples:
rspec ./ee/spec/models/approvable_spec.rb:94 # Approvable#can_approve? when authors can approve when user is committer returns false when user is not approver
rspec ./ee/spec/models/approvable_spec.rb:111 # Approvable#can_approve? when authors cannot approve returns false when user is a committer
rspec ./ee/spec/models/approvable_for_rule_spec.rb:75 # ApprovableForRule#can_approve? when authors can approve when user is committer returns false when user is not approver
rspec ./ee/spec/models/approvable_for_rule_spec.rb:92 # ApprovableForRule#can_approve? when authors cannot approve returns false when user is a committer
I'm going to revert this from CE and EE now until someone can take a look.