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.