diff options
author | Michael Kozono <mkozono@gmail.com> | 2017-07-20 21:14:14 +0300 |
---|---|---|
committer | Michael Kozono <mkozono@gmail.com> | 2017-08-15 19:05:31 +0300 |
commit | 8a8c47f781b1c2a6865bb1e88212b7e99bb84e19 (patch) | |
tree | fd56a8dcf03612cd02a88524b2adcb2f5f3abb0c | |
parent | 97b768508c360d2ae767a559b5037fe464061440 (diff) |
Replace requesters with access_requests
Refactoring. More accurate naming, and this will be especially the case after splitting access requests out of members.
38 files changed, 100 insertions, 100 deletions
diff --git a/app/controllers/admin/groups_controller.rb b/app/controllers/admin/groups_controller.rb index 2ce26de1768..a57ce129ec9 100644 --- a/app/controllers/admin/groups_controller.rb +++ b/app/controllers/admin/groups_controller.rb @@ -11,7 +11,7 @@ class Admin::GroupsController < Admin::ApplicationController def show @group = Group.with_statistics.joins(:route).group('routes.path').find_by_full_path(params[:id]) @members = @group.members.order("access_level DESC").page(params[:members_page]) - @requesters = AccessRequestsFinder.new(@group).execute(current_user) + @access_requests = AccessRequestsFinder.new(@group).execute(current_user) @projects = @group.projects.with_statistics.page(params[:projects_page]) end diff --git a/app/controllers/admin/projects_controller.rb b/app/controllers/admin/projects_controller.rb index 0b6cd71e651..ea75177aedb 100644 --- a/app/controllers/admin/projects_controller.rb +++ b/app/controllers/admin/projects_controller.rb @@ -23,7 +23,7 @@ class Admin::ProjectsController < Admin::ApplicationController end @project_members = @project.members.page(params[:project_members_page]) - @requesters = AccessRequestsFinder.new(@project).execute(current_user) + @access_requests = AccessRequestsFinder.new(@project).execute(current_user) end def transfer diff --git a/app/controllers/groups/group_members_controller.rb b/app/controllers/groups/group_members_controller.rb index 8fc234a62b1..902ecc461bd 100644 --- a/app/controllers/groups/group_members_controller.rb +++ b/app/controllers/groups/group_members_controller.rb @@ -16,7 +16,7 @@ class Groups::GroupMembersController < Groups::ApplicationController @members = @members.page(params[:page]).per(50) @members.includes(:user) - @requesters = AccessRequestsFinder.new(@group).execute(current_user) + @access_requests = AccessRequestsFinder.new(@group).execute(current_user) @group_member = @group.group_members.new end diff --git a/app/controllers/projects/project_members_controller.rb b/app/controllers/projects/project_members_controller.rb index f8ff7413b53..ab0a8c33efe 100644 --- a/app/controllers/projects/project_members_controller.rb +++ b/app/controllers/projects/project_members_controller.rb @@ -21,7 +21,7 @@ class Projects::ProjectMembersController < Projects::ApplicationController end @project_members = @project_members.sort(@sort).page(params[:page]) - @requesters = AccessRequestsFinder.new(@project).execute(current_user) + @access_requests = AccessRequestsFinder.new(@project).execute(current_user) @project_member = @project.project_members.new end diff --git a/app/finders/access_requests_finder.rb b/app/finders/access_requests_finder.rb index b6ee49df99b..1296712540c 100644 --- a/app/finders/access_requests_finder.rb +++ b/app/finders/access_requests_finder.rb @@ -16,7 +16,7 @@ class AccessRequestsFinder def execute!(current_user) raise Gitlab::Access::AccessDeniedError unless can_see_access_requests?(current_user) - source.requesters + source.access_requests end private diff --git a/app/models/group.rb b/app/models/group.rb index 2816a68257c..27f8f5ed916 100644 --- a/app/models/group.rb +++ b/app/models/group.rb @@ -15,7 +15,7 @@ class Group < Namespace through: :group_members, source: :user - has_many :requesters, -> { where.not(requested_at: nil) }, dependent: :destroy, as: :source, class_name: 'GroupMember' # rubocop:disable Cop/ActiveRecordDependent + has_many :access_requests, -> { where.not(requested_at: nil) }, dependent: :destroy, as: :source, class_name: 'GroupMember' # rubocop:disable Cop/ActiveRecordDependent has_many :milestones has_many :project_group_links, dependent: :destroy # rubocop:disable Cop/ActiveRecordDependent diff --git a/app/models/member.rb b/app/models/member.rb index ee2cb13697b..54147fa30cd 100644 --- a/app/models/member.rb +++ b/app/models/member.rb @@ -134,7 +134,7 @@ class Member < ActiveRecord::Base member = if user.is_a?(User) source.members.find_by(user_id: user.id) || - source.requesters.find_by(user_id: user.id) || + source.access_requests.find_by(user_id: user.id) || source.members.build(user_id: user.id) else source.members.build(invite_email: user) diff --git a/app/models/project.rb b/app/models/project.rb index 0de7da0ddaa..0c1e1638fb0 100644 --- a/app/models/project.rb +++ b/app/models/project.rb @@ -148,7 +148,7 @@ class Project < ActiveRecord::Base alias_method :members, :project_members has_many :users, through: :project_members - has_many :requesters, -> { where.not(requested_at: nil) }, + has_many :access_requests, -> { where.not(requested_at: nil) }, as: :source, class_name: 'ProjectMember', dependent: :delete_all # rubocop:disable Cop/ActiveRecordDependent has_many :deploy_keys_projects diff --git a/app/policies/project_policy.rb b/app/policies/project_policy.rb index 0133091db57..ac2f031e996 100644 --- a/app/policies/project_policy.rb +++ b/app/policies/project_policy.rb @@ -321,7 +321,7 @@ class ProjectPolicy < BasePolicy project.group && ( project.group.members_with_parents.exists?(user_id: @user.id) || - project.group.requesters.exists?(user_id: @user.id) + project.group.access_requests.exists?(user_id: @user.id) ) end diff --git a/app/services/members/approve_access_request_service.rb b/app/services/members/approve_access_request_service.rb index c13f289f61e..4c935d28ad4 100644 --- a/app/services/members/approve_access_request_service.rb +++ b/app/services/members/approve_access_request_service.rb @@ -4,7 +4,7 @@ module Members attr_accessor :source - # source - The source object that respond to `#requesters` (i.g. project or group) + # source - The source object that respond to `#access_requests` (i.g. project or group) # current_user - The user that performs the access request approval # params - A hash of parameters # :user_id - User ID used to retrieve the access requester @@ -20,7 +20,7 @@ module Members # :force - Bypass permission check: current_user can be nil in that case def execute(opts = {}) condition = params[:user_id] ? { user_id: params[:user_id] } : { id: params[:id] } - access_requester = source.requesters.find_by!(condition) + access_requester = source.access_requests.find_by!(condition) raise Gitlab::Access::AccessDeniedError unless can_update_access_requester?(access_requester, opts) diff --git a/app/services/members/destroy_service.rb b/app/services/members/destroy_service.rb index 2e089149ca8..eccea35fe0e 100644 --- a/app/services/members/destroy_service.rb +++ b/app/services/members/destroy_service.rb @@ -4,7 +4,7 @@ module Members attr_accessor :source - ALLOWED_SCOPES = %i[members requesters all].freeze + ALLOWED_SCOPES = %i[members access_requests all].freeze def initialize(source, current_user, params = {}) @source = source @@ -29,7 +29,7 @@ module Members case scope when :all source.members.find_by(condition) || - source.requesters.find_by!(condition) + source.access_requests.find_by!(condition) else source.public_send(scope).find_by!(condition) end diff --git a/app/views/admin/groups/show.html.haml b/app/views/admin/groups/show.html.haml index 2aadc071c75..6904e6347c4 100644 --- a/app/views/admin/groups/show.html.haml +++ b/app/views/admin/groups/show.html.haml @@ -107,7 +107,7 @@ = select_tag :access_level, options_for_select(GroupMember.access_level_roles), class: "project-access-select select2" %hr = button_tag 'Add users to group', class: "btn btn-create" - = render 'shared/members/requests', membership_source: @group, requesters: @requesters, force_mobile_view: true + = render 'shared/members/requests', membership_source: @group, access_requests: @access_requests, force_mobile_view: true .panel.panel-default .panel-heading diff --git a/app/views/admin/projects/show.html.haml b/app/views/admin/projects/show.html.haml index 7b1b15cfeb8..9f52ab6d673 100644 --- a/app/views/admin/projects/show.html.haml +++ b/app/views/admin/projects/show.html.haml @@ -165,7 +165,7 @@ .panel-footer = paginate @group_members, param_name: 'group_members_page', theme: 'gitlab' - = render 'shared/members/requests', membership_source: @project, requesters: @requesters, force_mobile_view: true + = render 'shared/members/requests', membership_source: @project, access_requests: @access_requests, force_mobile_view: true .panel.panel-default .panel-heading diff --git a/app/views/groups/group_members/index.html.haml b/app/views/groups/group_members/index.html.haml index ad9d5562ded..6e9f767f045 100644 --- a/app/views/groups/group_members/index.html.haml +++ b/app/views/groups/group_members/index.html.haml @@ -11,7 +11,7 @@ %strong= @group.name = render "new_group_member" - = render 'shared/members/requests', membership_source: @group, requesters: @requesters + = render 'shared/members/requests', membership_source: @group, access_requests: @access_requests .append-bottom-default.clearfix %h5.member.existing-title diff --git a/app/views/projects/project_members/index.html.haml b/app/views/projects/project_members/index.html.haml index 9f7c5a315eb..4ab09e83b8a 100644 --- a/app/views/projects/project_members/index.html.haml +++ b/app/views/projects/project_members/index.html.haml @@ -33,7 +33,7 @@ .tab-pane{ id: 'share-with-group-pane', role: 'tabpanel' } = render 'projects/project_members/new_shared_group', tab_title: 'Share with group' - = render 'shared/members/requests', membership_source: @project, requesters: @requesters + = render 'shared/members/requests', membership_source: @project, access_requests: @access_requests .clearfix %h5.member.existing-title Existing members and groups diff --git a/app/views/shared/members/_access_request_buttons.html.haml b/app/views/shared/members/_access_request_buttons.html.haml index 40224cec9e8..ca7778e648f 100644 --- a/app/views/shared/members/_access_request_buttons.html.haml +++ b/app/views/shared/members/_access_request_buttons.html.haml @@ -7,11 +7,11 @@ method: :delete, data: { confirm: leave_confirmation_message(source) }, class: 'btn' -- elsif requester = source.requesters.find_by(user_id: current_user.id) +- elsif access_request = source.access_requests.find_by(user_id: current_user.id) .project-action-button.inline = link_to _('Withdraw Access Request'), polymorphic_path([:leave, source, :members]), method: :delete, - data: { confirm: remove_member_message(requester) }, + data: { confirm: remove_member_message(access_request) }, class: 'btn' - elsif source.request_access_enabled && can?(current_user, :request_access, source) .project-action-button.inline diff --git a/app/views/shared/members/_requests.html.haml b/app/views/shared/members/_requests.html.haml index 09b9944082f..e8c8d218372 100644 --- a/app/views/shared/members/_requests.html.haml +++ b/app/views/shared/members/_requests.html.haml @@ -1,10 +1,10 @@ - force_mobile_view = local_assigns.fetch(:force_mobile_view, false) -- if requesters.any? +- if access_requests.any? .panel.panel-default.prepend-top-default{ class: ('panel-mobile' if force_mobile_view ) } .panel-heading Users requesting access to %strong= membership_source.name - %span.badge= requesters.size + %span.badge= access_requests.size %ul.content-list.members-list - = render partial: 'shared/members/member', collection: requesters, as: :member, locals: { force_mobile_view: force_mobile_view } + = render partial: 'shared/members/member', collection: access_requests, as: :member, locals: { force_mobile_view: force_mobile_view } diff --git a/lib/api/access_requests.rb b/lib/api/access_requests.rb index cdacf9839e5..cc9bec12354 100644 --- a/lib/api/access_requests.rb +++ b/lib/api/access_requests.rb @@ -21,10 +21,10 @@ module API get ":id/access_requests" do source = find_source(source_type, params[:id]) - access_requesters = AccessRequestsFinder.new(source).execute!(current_user) - access_requesters = paginate(access_requesters.includes(:user)) + access_requests = AccessRequestsFinder.new(source).execute!(current_user) + access_requests = paginate(access_requests.includes(:user)) - present access_requesters.map(&:user), with: Entities::AccessRequester, source: source + present access_requests.map(&:user), with: Entities::AccessRequester, source: source end desc "Requests access for the authenticated user to a #{source_type}." do @@ -70,7 +70,7 @@ module API status 204 ::Members::DestroyService.new(source, current_user, params) - .execute(:requesters) + .execute(:access_requests) end end end diff --git a/lib/api/entities.rb b/lib/api/entities.rb index 18cd604a216..dc2cacb6a4e 100644 --- a/lib/api/entities.rb +++ b/lib/api/entities.rb @@ -174,7 +174,7 @@ module API class AccessRequester < UserBasic expose :requested_at do |user, options| - access_requester = options[:access_requester] || options[:source].requesters.find_by(user_id: user.id) + access_requester = options[:access_requester] || options[:source].access_requests.find_by(user_id: user.id) access_requester.requested_at end end diff --git a/spec/controllers/groups/group_members_controller_spec.rb b/spec/controllers/groups/group_members_controller_spec.rb index cce53f6697c..304c02bc503 100644 --- a/spec/controllers/groups/group_members_controller_spec.rb +++ b/spec/controllers/groups/group_members_controller_spec.rb @@ -171,7 +171,7 @@ describe Groups::GroupMembersController do expect(response).to set_flash.to 'Your access request to the group has been withdrawn.' expect(response).to redirect_to(group_path(group)) - expect(group.requesters).to be_empty + expect(group.access_requests).to be_empty expect(group.users).not_to include user end end @@ -188,7 +188,7 @@ describe Groups::GroupMembersController do expect(response).to set_flash.to 'Your request for access has been queued for review.' expect(response).to redirect_to(group_path(group)) - expect(group.requesters.exists?(user_id: user)).to be_truthy + expect(group.access_requests.exists?(user_id: user)).to be_truthy expect(group.users).not_to include user end end diff --git a/spec/controllers/projects/project_members_controller_spec.rb b/spec/controllers/projects/project_members_controller_spec.rb index 3cb1bec5ea2..2c49be35a47 100644 --- a/spec/controllers/projects/project_members_controller_spec.rb +++ b/spec/controllers/projects/project_members_controller_spec.rb @@ -183,7 +183,7 @@ describe Projects::ProjectMembersController do expect(response).to set_flash.to 'Your access request to the project has been withdrawn.' expect(response).to redirect_to(project_path(project)) - expect(project.requesters).to be_empty + expect(project.access_requests).to be_empty expect(project.users).not_to include user end end @@ -203,7 +203,7 @@ describe Projects::ProjectMembersController do expect(response).to redirect_to( project_path(project) ) - expect(project.requesters.exists?(user_id: user)).to be_truthy + expect(project.access_requests.exists?(user_id: user)).to be_truthy expect(project.users).not_to include user end end diff --git a/spec/features/groups/members/manage_access_requests_spec.rb b/spec/features/groups/members/manage_access_requests_spec.rb index b83cd657ef7..ee82b2910d4 100644 --- a/spec/features/groups/members/manage_access_requests_spec.rb +++ b/spec/features/groups/members/manage_access_requests_spec.rb @@ -40,7 +40,7 @@ feature 'Groups > Members > Manage access requests' do end def expect_visible_access_request(group, user) - expect(group.requesters.exists?(user_id: user)).to be_truthy + expect(group.access_requests.exists?(user_id: user)).to be_truthy expect(page).to have_content "Users requesting access to #{group.name} 1" expect(page).to have_content user.name end diff --git a/spec/features/groups/members/request_access_spec.rb b/spec/features/groups/members/request_access_spec.rb index 1f3c7fd3859..40de3a7f8f5 100644 --- a/spec/features/groups/members/request_access_spec.rb +++ b/spec/features/groups/members/request_access_spec.rb @@ -25,7 +25,7 @@ feature 'Groups > Members > Request access' do expect(ActionMailer::Base.deliveries.last.to).to eq [owner.notification_email] expect(ActionMailer::Base.deliveries.last.subject).to match "Request to join the #{group.name} group" - expect(group.requesters.exists?(user_id: user)).to be_truthy + expect(group.access_requests.exists?(user_id: user)).to be_truthy expect(page).to have_content 'Your request for access has been queued for review.' expect(page).to have_content 'Withdraw Access Request' @@ -49,7 +49,7 @@ feature 'Groups > Members > Request access' do scenario 'user is not listed in the group members page' do click_link 'Request Access' - expect(group.requesters.exists?(user_id: user)).to be_truthy + expect(group.access_requests.exists?(user_id: user)).to be_truthy click_link 'Members' @@ -61,11 +61,11 @@ feature 'Groups > Members > Request access' do scenario 'user can withdraw its request for access' do click_link 'Request Access' - expect(group.requesters.exists?(user_id: user)).to be_truthy + expect(group.access_requests.exists?(user_id: user)).to be_truthy click_link 'Withdraw Access Request' - expect(group.requesters.exists?(user_id: user)).to be_falsey + expect(group.access_requests.exists?(user_id: user)).to be_falsey expect(page).to have_content 'Your access request to the group has been withdrawn.' end diff --git a/spec/features/projects/members/master_manages_access_requests_spec.rb b/spec/features/projects/members/master_manages_access_requests_spec.rb index eb3c8034873..d2cdebced44 100644 --- a/spec/features/projects/members/master_manages_access_requests_spec.rb +++ b/spec/features/projects/members/master_manages_access_requests_spec.rb @@ -40,7 +40,7 @@ feature 'Projects > Members > Master manages access requests' do end def expect_visible_access_request(project, user) - expect(project.requesters.exists?(user_id: user)).to be_truthy + expect(project.access_requests.exists?(user_id: user)).to be_truthy expect(page).to have_content "Users requesting access to #{project.name} 1" expect(page).to have_content user.name end diff --git a/spec/features/projects/members/user_requests_access_spec.rb b/spec/features/projects/members/user_requests_access_spec.rb index 24c9f708456..d8a82f4d9c6 100644 --- a/spec/features/projects/members/user_requests_access_spec.rb +++ b/spec/features/projects/members/user_requests_access_spec.rb @@ -23,7 +23,7 @@ feature 'Projects > Members > User requests access' do expect(ActionMailer::Base.deliveries.last.to).to eq [master.notification_email] expect(ActionMailer::Base.deliveries.last.subject).to eq "Request to join the #{project.name_with_namespace} project" - expect(project.requesters.exists?(user_id: user)).to be_truthy + expect(project.access_requests.exists?(user_id: user)).to be_truthy expect(page).to have_content 'Your request for access has been queued for review.' expect(page).to have_content 'Withdraw Access Request' @@ -44,7 +44,7 @@ feature 'Projects > Members > User requests access' do scenario 'user is not listed in the project members page' do click_link 'Request Access' - expect(project.requesters.exists?(user_id: user)).to be_truthy + expect(project.access_requests.exists?(user_id: user)).to be_truthy page.within('.layout-nav .nav-links') do click_link('Members') @@ -59,11 +59,11 @@ feature 'Projects > Members > User requests access' do scenario 'user can withdraw its request for access' do click_link 'Request Access' - expect(project.requesters.exists?(user_id: user)).to be_truthy + expect(project.access_requests.exists?(user_id: user)).to be_truthy click_link 'Withdraw Access Request' - expect(project.requesters.exists?(user_id: user)).to be_falsey + expect(project.access_requests.exists?(user_id: user)).to be_falsey expect(page).to have_content 'Your access request to the project has been withdrawn.' end diff --git a/spec/finders/access_requests_finder_spec.rb b/spec/finders/access_requests_finder_spec.rb index 0789d3a9b44..bc4aad14aca 100644 --- a/spec/finders/access_requests_finder_spec.rb +++ b/spec/finders/access_requests_finder_spec.rb @@ -16,13 +16,13 @@ describe AccessRequestsFinder do end end - shared_examples 'a finder returning access requesters' do |method_name| - it 'returns access requesters' do - access_requesters = described_class.new(source).public_send(method_name, user) + shared_examples 'a finder returning access requests' do |method_name| + it 'returns access requests' do + access_requests = described_class.new(source).public_send(method_name, user) - expect(access_requesters.size).to eq(1) - expect(access_requesters.first).to be_a "#{source.class}Member".constantize - expect(access_requesters.first.user).to eq(access_requester) + expect(access_requests.size).to eq(1) + expect(access_requests.first).to be_a "#{source.class}Member".constantize + expect(access_requests.first.user).to eq(access_requester) end end @@ -55,11 +55,11 @@ describe AccessRequestsFinder do group.add_owner(user) end - it_behaves_like 'a finder returning access requesters', :execute do + it_behaves_like 'a finder returning access requests', :execute do let(:source) { project } end - it_behaves_like 'a finder returning access requesters', :execute do + it_behaves_like 'a finder returning access requests', :execute do let(:source) { group } end end @@ -82,11 +82,11 @@ describe AccessRequestsFinder do group.add_owner(user) end - it_behaves_like 'a finder returning access requesters', :execute! do + it_behaves_like 'a finder returning access requests', :execute! do let(:source) { project } end - it_behaves_like 'a finder returning access requesters', :execute! do + it_behaves_like 'a finder returning access requests', :execute! do let(:source) { group } end end diff --git a/spec/lib/gitlab/import_export/all_models.yml b/spec/lib/gitlab/import_export/all_models.yml index 8da02b0cf00..16d22c9177a 100644 --- a/spec/lib/gitlab/import_export/all_models.yml +++ b/spec/lib/gitlab/import_export/all_models.yml @@ -231,7 +231,7 @@ project: - protected_tags - project_members - users -- requesters +- access_requests - deploy_keys_projects - deploy_keys - users_star_projects diff --git a/spec/mailers/notify_spec.rb b/spec/mailers/notify_spec.rb index 1fa59ebd22b..368fe7df5a9 100644 --- a/spec/mailers/notify_spec.rb +++ b/spec/mailers/notify_spec.rb @@ -374,7 +374,7 @@ describe Notify do let(:user) { create(:user) } let(:project_member) do project.request_access(user) - project.requesters.find_by(user_id: user.id) + project.access_requests.find_by(user_id: user.id) end subject { described_class.member_access_requested_email('project', project_member.id) } @@ -401,7 +401,7 @@ describe Notify do let(:user) { create(:user) } let(:project_member) do project.request_access(user) - project.requesters.find_by(user_id: user.id) + project.access_requests.find_by(user_id: user.id) end subject { described_class.member_access_requested_email('project', project_member.id) } @@ -427,7 +427,7 @@ describe Notify do let(:user) { create(:user) } let(:project_member) do project.request_access(user) - project.requesters.find_by(user_id: user.id) + project.access_requests.find_by(user_id: user.id) end subject { described_class.member_access_denied_email('project', project.id, user.id) } @@ -853,7 +853,7 @@ describe Notify do let(:user) { create(:user) } let(:group_member) do group.request_access(user) - group.requesters.find_by(user_id: user.id) + group.access_requests.find_by(user_id: user.id) end subject { described_class.member_access_requested_email('group', group_member.id) } @@ -874,7 +874,7 @@ describe Notify do let(:user) { create(:user) } let(:group_member) do group.request_access(user) - group.requesters.find_by(user_id: user.id) + group.access_requests.find_by(user_id: user.id) end subject { described_class.member_access_denied_email('group', group.id, user.id) } diff --git a/spec/models/concerns/access_requestable_spec.rb b/spec/models/concerns/access_requestable_spec.rb index 04d6cfa2c02..8c323d8f821 100644 --- a/spec/models/concerns/access_requestable_spec.rb +++ b/spec/models/concerns/access_requestable_spec.rb @@ -18,7 +18,7 @@ describe AccessRequestable do group.request_access(user) end - it { expect(group.requesters.exists?(user_id: user)).to be_truthy } + it { expect(group.access_requests.exists?(user_id: user)).to be_truthy } end end @@ -38,7 +38,7 @@ describe AccessRequestable do project.request_access(user) end - it { expect(project.requesters.exists?(user_id: user)).to be_truthy } + it { expect(project.access_requests.exists?(user_id: user)).to be_truthy } end end end diff --git a/spec/models/group_spec.rb b/spec/models/group_spec.rb index c5bfae47606..7ebf4e32e8e 100644 --- a/spec/models/group_spec.rb +++ b/spec/models/group_spec.rb @@ -8,7 +8,7 @@ describe Group do it { is_expected.to have_many(:group_members).dependent(:destroy) } it { is_expected.to have_many(:users).through(:group_members) } it { is_expected.to have_many(:owners).through(:group_members) } - it { is_expected.to have_many(:requesters).dependent(:destroy) } + it { is_expected.to have_many(:access_requests).dependent(:destroy) } it { is_expected.to have_many(:project_group_links).dependent(:destroy) } it { is_expected.to have_many(:shared_projects).through(:project_group_links) } it { is_expected.to have_many(:notification_settings).dependent(:destroy) } @@ -17,7 +17,7 @@ describe Group do it { is_expected.to have_many(:uploads).dependent(:destroy) } it { is_expected.to have_one(:chat_team) } - describe '#members & #requesters' do + describe '#members & #access_requests' do let(:requester) { create(:user) } let(:developer) { create(:user) } before do @@ -34,9 +34,9 @@ describe Group do end end - describe '#requesters' do - it 'does not include requesters' do - requester_user_ids = group.requesters.pluck(:user_id) + describe '#access_requests' do + it 'includes requesters and excludes members' do + requester_user_ids = group.access_requests.pluck(:user_id) expect(requester_user_ids).to include(requester.id) expect(requester_user_ids).not_to include(developer.id) diff --git a/spec/models/member_spec.rb b/spec/models/member_spec.rb index 87513e18b25..a94e6c67d13 100644 --- a/spec/models/member_spec.rb +++ b/spec/models/member_spec.rb @@ -87,10 +87,10 @@ describe Member do .tap { |u| u.accept_invite!(accepted_invite_user) } requested_user = create(:user).tap { |u| project.request_access(u) } - @requested_member = project.requesters.find_by(user_id: requested_user.id) + @requested_member = project.access_requests.find_by(user_id: requested_user.id) accepted_request_user = create(:user).tap { |u| project.request_access(u) } - @accepted_request_member = project.requesters.find_by(user_id: accepted_request_user.id).tap { |m| m.accept_request } + @accepted_request_member = project.access_requests.find_by(user_id: accepted_request_user.id).tap { |m| m.accept_request } end describe '.access_for_user_ids' do @@ -263,13 +263,13 @@ describe Member do it 'adds the requester as a member' do expect(source.users).not_to include(user) - expect(source.requesters.exists?(user_id: user)).to be_truthy + expect(source.access_requests.exists?(user_id: user)).to be_truthy expect { described_class.add_user(source, user, :master) } .to raise_error(Gitlab::Access::AccessDeniedError) expect(source.users.reload).not_to include(user) - expect(source.requesters.reload.exists?(user_id: user)).to be_truthy + expect(source.access_requests.reload.exists?(user_id: user)).to be_truthy end end @@ -310,12 +310,12 @@ describe Member do it 'adds the requester as a member' do expect(source.users).not_to include(user) - expect(source.requesters.exists?(user_id: user)).to be_truthy + expect(source.access_requests.exists?(user_id: user)).to be_truthy described_class.add_user(source, user, :master, current_user: admin) expect(source.users.reload).to include(user) - expect(source.requesters.reload.exists?(user_id: user)).to be_falsy + expect(source.access_requests.reload.exists?(user_id: user)).to be_falsy end end end @@ -337,12 +337,12 @@ describe Member do it 'does not destroy the requester' do expect(source.users).not_to include(user) - expect(source.requesters.exists?(user_id: user)).to be_truthy + expect(source.access_requests.exists?(user_id: user)).to be_truthy described_class.add_user(source, user, :master, current_user: user) expect(source.users.reload).not_to include(user) - expect(source.requesters.exists?(user_id: user)).to be_truthy + expect(source.access_requests.exists?(user_id: user)).to be_truthy end end end diff --git a/spec/models/project_spec.rb b/spec/models/project_spec.rb index eba71ba2f72..15c6c1bfc25 100644 --- a/spec/models/project_spec.rb +++ b/spec/models/project_spec.rb @@ -13,7 +13,7 @@ describe Project do it { is_expected.to have_many(:milestones) } it { is_expected.to have_many(:project_members).dependent(:delete_all) } it { is_expected.to have_many(:users).through(:project_members) } - it { is_expected.to have_many(:requesters).dependent(:delete_all) } + it { is_expected.to have_many(:access_requests).dependent(:delete_all) } it { is_expected.to have_many(:notes) } it { is_expected.to have_many(:snippets).class_name('ProjectSnippet') } it { is_expected.to have_many(:deploy_keys_projects) } @@ -81,7 +81,7 @@ describe Project do end end - describe '#members & #requesters' do + describe '#members & #access_requests' do let(:project) { create(:project, :public, :access_requestable) } let(:requester) { create(:user) } let(:developer) { create(:user) } @@ -99,9 +99,9 @@ describe Project do end end - describe '#requesters' do - it 'does not include requesters' do - requester_user_ids = project.requesters.pluck(:user_id) + describe '#access_requests' do + it 'includes requesters and excludes members' do + requester_user_ids = project.access_requests.pluck(:user_id) expect(requester_user_ids).to include(requester.id) expect(requester_user_ids).not_to include(developer.id) diff --git a/spec/requests/api/access_requests_spec.rb b/spec/requests/api/access_requests_spec.rb index 6bd17697c33..c9ab3fe908e 100644 --- a/spec/requests/api/access_requests_spec.rb +++ b/spec/requests/api/access_requests_spec.rb @@ -42,7 +42,7 @@ describe API::AccessRequests do end context 'when authenticated as a master/owner' do - it 'returns access requesters' do + it 'returns access requests' do get api("/#{source_type.pluralize}/#{source.id}/access_requests", master) expect(response).to have_http_status(200) @@ -69,7 +69,7 @@ describe API::AccessRequests do post api("/#{source_type.pluralize}/#{source.id}/access_requests", user) expect(response).to have_http_status(403) - end.not_to change { source.requesters.count } + end.not_to change { source.access_requests.count } end end end @@ -81,7 +81,7 @@ describe API::AccessRequests do post api("/#{source_type.pluralize}/#{source.id}/access_requests", access_requester) expect(response).to have_http_status(400) - end.not_to change { source.requesters.count } + end.not_to change { source.access_requests.count } end end @@ -96,7 +96,7 @@ describe API::AccessRequests do post api("/#{source_type.pluralize}/#{source.id}/access_requests", stranger) expect(response).to have_http_status(403) - end.not_to change { source.requesters.count } + end.not_to change { source.access_requests.count } end end @@ -105,7 +105,7 @@ describe API::AccessRequests do post api("/#{source_type.pluralize}/#{source.id}/access_requests", stranger) expect(response).to have_http_status(201) - end.to change { source.requesters.count }.by(1) + end.to change { source.access_requests.count }.by(1) # User attributes expect(json_response['id']).to eq(stranger.id) @@ -199,7 +199,7 @@ describe API::AccessRequests do delete api("/#{source_type.pluralize}/#{source.id}/access_requests/#{access_requester.id}", access_requester) expect(response).to have_http_status(204) - end.to change { source.requesters.count }.by(-1) + end.to change { source.access_requests.count }.by(-1) end end @@ -209,7 +209,7 @@ describe API::AccessRequests do delete api("/#{source_type.pluralize}/#{source.id}/access_requests/#{access_requester.id}", master) expect(response).to have_http_status(204) - end.to change { source.requesters.count }.by(-1) + end.to change { source.access_requests.count }.by(-1) end context 'user_id matches a member, not an access requester' do @@ -218,7 +218,7 @@ describe API::AccessRequests do delete api("/#{source_type.pluralize}/#{source.id}/access_requests/#{developer.id}", master) expect(response).to have_http_status(404) - end.not_to change { source.requesters.count } + end.not_to change { source.access_requests.count } end end @@ -228,7 +228,7 @@ describe API::AccessRequests do delete api("/#{source_type.pluralize}/#{source.id}/access_requests/#{stranger.id}", master) expect(response).to have_http_status(404) - end.not_to change { source.requesters.count } + end.not_to change { source.access_requests.count } end end end diff --git a/spec/requests/api/members_spec.rb b/spec/requests/api/members_spec.rb index 06aca698c91..72ac096915d 100644 --- a/spec/requests/api/members_spec.rb +++ b/spec/requests/api/members_spec.rb @@ -131,7 +131,7 @@ describe API::Members do expect(response).to have_http_status(201) end.to change { source.members.count }.by(1) - expect(source.requesters.count).to eq(0) + expect(source.access_requests.count).to eq(0) expect(json_response['id']).to eq(access_requester.id) expect(json_response['access_level']).to eq(Member::MASTER) end @@ -273,7 +273,7 @@ describe API::Members do delete api("/#{source_type.pluralize}/#{source.id}/members/#{access_requester.id}", master) expect(response).to have_http_status(404) - end.not_to change { source.requesters.count } + end.not_to change { source.access_requests.count } end end diff --git a/spec/requests/api/v3/members_spec.rb b/spec/requests/api/v3/members_spec.rb index bc918a8eb02..44fca784e6a 100644 --- a/spec/requests/api/v3/members_spec.rb +++ b/spec/requests/api/v3/members_spec.rb @@ -124,7 +124,7 @@ describe API::V3::Members do expect(response).to have_http_status(201) end.to change { source.members.count }.by(1) - expect(source.requesters.count).to eq(0) + expect(source.access_requests.count).to eq(0) expect(json_response['id']).to eq(access_requester.id) expect(json_response['access_level']).to eq(Member::MASTER) end @@ -266,7 +266,7 @@ describe API::V3::Members do delete v3_api("/#{source_type.pluralize}/#{source.id}/members/#{access_requester.id}", master) expect(response).to have_http_status(source_type == 'project' ? 200 : 404) - end.not_to change { source.requesters.count } + end.not_to change { source.access_requests.count } end end diff --git a/spec/services/members/approve_access_request_service_spec.rb b/spec/services/members/approve_access_request_service_spec.rb index 302c488d6c6..2eda4ed8d4d 100644 --- a/spec/services/members/approve_access_request_service_spec.rb +++ b/spec/services/members/approve_access_request_service_spec.rb @@ -21,7 +21,7 @@ describe Members::ApproveAccessRequestService do shared_examples 'a service approving an access request' do it 'succeeds' do - expect { described_class.new(source, user, params).execute(opts) }.to change { source.requesters.count }.by(-1) + expect { described_class.new(source, user, params).execute(opts) }.to change { source.access_requests.count }.by(-1) end it 'returns a <Source>Member' do @@ -136,7 +136,7 @@ describe Members::ApproveAccessRequestService do end context 'when given a :id' do - let(:params) { { id: project.requesters.find_by!(user_id: access_requester.id).id } } + let(:params) { { id: project.access_requests.find_by!(user_id: access_requester.id).id } } it_behaves_like 'a service approving an access request' do let(:source) { project } diff --git a/spec/services/members/destroy_service_spec.rb b/spec/services/members/destroy_service_spec.rb index 72f5e27180d..f75d5643bbb 100644 --- a/spec/services/members/destroy_service_spec.rb +++ b/spec/services/members/destroy_service_spec.rb @@ -23,31 +23,31 @@ describe Members::DestroyService do expect { described_class.new(source, user, params).execute }.to change { source.members.count }.by(-1) end - context 'when the given member is an access requester' do + context 'when the given member is an access request' do before do source.members.find_by(user_id: member_user).destroy source.update_attributes(request_access_enabled: true) source.request_access(member_user) end - let(:access_requester) { source.requesters.find_by(user_id: member_user) } + let(:access_request) { source.access_requests.find_by(user_id: member_user) } it_behaves_like 'a service raising ActiveRecord::RecordNotFound' - %i[requesters all].each do |scope| + %i[access_requests all].each do |scope| context "and #{scope} scope is passed" do - it 'destroys the access requester' do - expect { described_class.new(source, user, params).execute(scope) }.to change { source.requesters.count }.by(-1) + it 'destroys the access request' do + expect { described_class.new(source, user, params).execute(scope) }.to change { source.access_requests.count }.by(-1) end it 'calls Member#after_decline_request' do - expect_any_instance_of(NotificationService).to receive(:decline_access_request).with(access_requester) + expect_any_instance_of(NotificationService).to receive(:decline_access_request).with(access_request) described_class.new(source, user, params).execute(scope) end context 'when current user is the member' do it 'does not call Member#after_decline_request' do - expect_any_instance_of(NotificationService).not_to receive(:decline_access_request).with(access_requester) + expect_any_instance_of(NotificationService).not_to receive(:decline_access_request).with(access_request) described_class.new(source, member_user, params).execute(scope) end diff --git a/spec/services/members/request_access_service_spec.rb b/spec/services/members/request_access_service_spec.rb index 0a704bba521..010bb2f25f4 100644 --- a/spec/services/members/request_access_service_spec.rb +++ b/spec/services/members/request_access_service_spec.rb @@ -11,7 +11,7 @@ describe Members::RequestAccessService do shared_examples 'a service creating a access request' do it 'succeeds' do - expect { described_class.new(source, user).execute }.to change { source.requesters.count }.by(1) + expect { described_class.new(source, user).execute }.to change { source.access_requests.count }.by(1) end it 'returns a <Source>Member' do |