Refactor and remove open_merge_requests_count method
Summary
The idea here is to get rid of the open_merge_requests_count method. We want to use the OpenMergeRequestsCountFacade at the given places wherever open_merge_requests_count was used.
Improvements
For style reasons, we want to get rid of the usage of services inside model methods. We want to use the facade pattern here to simplify the usage of functionality currently defined on models.
Risks
We really need to look out for all places, where duck typing was used. Please check all these places and try to get rid of the methods and replace it with facades.
Involved components
.//app/models/project.rb
.//app/models/label.rb
.//app/models/group.rb
.//app/models/user.rb
.//app/graphql/types/project_type.rb
.//app/graphql/types/namespaces/sidebar_type.rb
.//app/controllers/concerns/renders_projects_list.rb
.//app/helpers/merge_requests_helper.rb
.//app/helpers/sidebars_helper.rb
.//app/helpers/issuables_helper.rb
.//app/services/projects/open_merge_requests_count_service.rb
.//app/services/groups/merge_requests_count_service.rb
.//ee/spec/graphql/ee/types/namespaces/sidebar_type_spec.rb
.//ee/spec/helpers/sidebars_helper_spec.rb
.//spec/models/project_spec.rb
.//spec/models/group_spec.rb
.//spec/models/merge_request_spec.rb
.//spec/models/user_spec.rb
.//spec/requests/api/labels_spec.rb
.//spec/graphql/types/project_type_spec.rb
.//spec/graphql/types/namespaces/sidebar_type_spec.rb
.//spec/lib/sidebars/projects/menus/merge_requests_menu_spec.rb
.//spec/lib/sidebars/your_work/menus/merge_requests_menu_spec.rb
.//spec/lib/api/entities/user_counts_spec.rb
.//spec/helpers/sidebars_helper_spec.rb
.//spec/helpers/merge_requests_helper_spec.rb
.//spec/services/merge_requests/create_service_spec.rb
.//spec/services/merge_requests/close_service_spec.rb
.//spec/services/merge_requests/update_service_spec.rb
.//spec/services/merge_requests/post_merge_service_spec.rb
.//spec/services/merge_requests/update_reviewers_service_spec.rb
.//spec/services/merge_requests/reopen_service_spec.rb
.//spec/services/members/destroy_service_spec.rb
.//spec/services/members/unassign_issuables_service_spec.rb
.//lib/sidebars/projects/menus/merge_requests_menu.rb
.//lib/api/entities/label.rb
.//lib/api/entities/user_counts.rb
Edited by Daniel Prause