diff --git a/ee/spec/controllers/projects/integrations/jira/issues_controller_spec.rb b/ee/spec/controllers/projects/integrations/jira/issues_controller_spec.rb index 686d159f5a979044fb7f9f5502449b285be6d0bb..6fcd6821babdce573440448ad397039d1764f4df 100644 --- a/ee/spec/controllers/projects/integrations/jira/issues_controller_spec.rb +++ b/ee/spec/controllers/projects/integrations/jira/issues_controller_spec.rb @@ -6,7 +6,7 @@ include ProjectForksHelper let_it_be(:project) { create(:project) } - let_it_be(:user) { create(:user, developer_projects: [project]) } + let_it_be(:user) { create(:user, developer_of: project) } let_it_be(:jira) { create(:jira_integration, project: project, issues_enabled: true, project_key: 'TEST', project_keys: ['TEST']) } before do diff --git a/ee/spec/controllers/projects/integrations/zentao/issues_controller_spec.rb b/ee/spec/controllers/projects/integrations/zentao/issues_controller_spec.rb index b7cfd8e94a011c391e4801a3cfaecf9ff5ab96ae..24dd95df8b51cf2cb6705762e0ed91ed928c8705 100644 --- a/ee/spec/controllers/projects/integrations/zentao/issues_controller_spec.rb +++ b/ee/spec/controllers/projects/integrations/zentao/issues_controller_spec.rb @@ -4,7 +4,7 @@ RSpec.describe Projects::Integrations::Zentao::IssuesController, feature_category: :integrations do let_it_be(:project) { create(:project) } - let_it_be(:user) { create(:user, developer_projects: [project]) } + let_it_be(:user) { create(:user, developer_of: project) } let_it_be(:zentao_integration) { create(:zentao_integration, project: project) } before do diff --git a/ee/spec/factories/incident_management/escalation_rules.rb b/ee/spec/factories/incident_management/escalation_rules.rb index 94e43fe4c9a5b06a96c04fb3b4702f02c8df9f03..964e3b842ffdb49cdf0e175a11aa1dee2ffddf94 100644 --- a/ee/spec/factories/incident_management/escalation_rules.rb +++ b/ee/spec/factories/incident_management/escalation_rules.rb @@ -18,7 +18,7 @@ trait :with_user do oncall_schedule {} - user { association :user, developer_projects: [policy.project] } + user { association :user, developer_of: policy.project } end end end diff --git a/ee/spec/factories/protected_branches.rb b/ee/spec/factories/protected_branches.rb index cf56438b16e9ea09e649a330fbf1c524ad1354f7..82c4b5752580f1209761d5c8f47685ec2658947b 100644 --- a/ee/spec/factories/protected_branches.rb +++ b/ee/spec/factories/protected_branches.rb @@ -14,7 +14,7 @@ trait :user_can_merge do authorize_user_to_merge do - association(:user, maintainer_projects: [project]) + association(:user, maintainer_of: project) end end @@ -26,7 +26,7 @@ trait :user_can_push do authorize_user_to_push do - association(:user, maintainer_projects: [project]) + association(:user, maintainer_of: project) end end @@ -50,7 +50,7 @@ trait :user_can_unprotect do authorize_user_to_unprotect do - association(:user, maintainer_projects: [project]) + association(:user, maintainer_of: project) end end diff --git a/ee/spec/features/incidents/user_uploads_metric_images_spec.rb b/ee/spec/features/incidents/user_uploads_metric_images_spec.rb index f97aa39365f47413713c1e3b84a177d18c675772..a48a811e612760215064c2fe389a5ad3f7264d49 100644 --- a/ee/spec/features/incidents/user_uploads_metric_images_spec.rb +++ b/ee/spec/features/incidents/user_uploads_metric_images_spec.rb @@ -5,7 +5,7 @@ RSpec.describe 'User uploads metrics to incident', :js, feature_category: :incident_management do let_it_be(:incident) { create(:incident) } let_it_be(:project) { incident.project } - let_it_be(:user) { create(:user, developer_projects: [project]) } + let_it_be(:user) { create(:user, developer_of: project) } context 'when feature is available' do before do diff --git a/ee/spec/features/projects/releases/user_views_release_spec.rb b/ee/spec/features/projects/releases/user_views_release_spec.rb index c14947444217998fc44dc16eec09da00c29ee742..b1a9a9e18ac0af61449097902592b4cdd5764444 100644 --- a/ee/spec/features/projects/releases/user_views_release_spec.rb +++ b/ee/spec/features/projects/releases/user_views_release_spec.rb @@ -11,7 +11,7 @@ group_milestone = create(:milestone, group: group, title: 'group_milestone_1') release = create(:release, project: project, milestones: [group_milestone]) - user = create(:user, developer_projects: [project]) + user = create(:user, developer_of: project) sign_in(user) visit project_release_path(project, release) diff --git a/ee/spec/finders/ee/clusters/agents_finder_spec.rb b/ee/spec/finders/ee/clusters/agents_finder_spec.rb index 365f23afe7d98298a74a61c33b7bcbecf74316b4..aa304c84e40daa95f55baba02ffc518a66cf7483 100644 --- a/ee/spec/finders/ee/clusters/agents_finder_spec.rb +++ b/ee/spec/finders/ee/clusters/agents_finder_spec.rb @@ -5,7 +5,7 @@ RSpec.describe Clusters::AgentsFinder do describe '#execute' do let_it_be(:project) { create(:project) } - let_it_be(:user) { create(:user, maintainer_projects: [project]) } + let_it_be(:user) { create(:user, maintainer_of: project) } let_it_be(:reporter) { create(:user) } let(:current_user) { user } diff --git a/ee/spec/graphql/mutations/app_sec/fuzzing/coverage/corpus/create_spec.rb b/ee/spec/graphql/mutations/app_sec/fuzzing/coverage/corpus/create_spec.rb index f57e9609e4bcea2a2f38deb2de4dcd3b34105e72..50ddc490cfecc73fbbb5c5940c5e786a06f47e90 100644 --- a/ee/spec/graphql/mutations/app_sec/fuzzing/coverage/corpus/create_spec.rb +++ b/ee/spec/graphql/mutations/app_sec/fuzzing/coverage/corpus/create_spec.rb @@ -4,7 +4,7 @@ RSpec.describe Mutations::AppSec::Fuzzing::Coverage::Corpus::Create do let_it_be(:project) { create(:project) } - let_it_be(:developer) { create(:user, developer_projects: [project]) } + let_it_be(:developer) { create(:user, developer_of: project) } let_it_be(:package) { create(:package, project: project, creator: developer) } let(:corpus) { AppSec::Fuzzing::Coverage::Corpus.find_by(user: developer, project: project) } diff --git a/ee/spec/graphql/mutations/dast/profiles/create_spec.rb b/ee/spec/graphql/mutations/dast/profiles/create_spec.rb index 446879cbb00d4dd5ec100e200fcbba47dc0cb3f7..40bcf09ad56a8ec812eedd3955a78aa774008bfa 100644 --- a/ee/spec/graphql/mutations/dast/profiles/create_spec.rb +++ b/ee/spec/graphql/mutations/dast/profiles/create_spec.rb @@ -5,7 +5,7 @@ RSpec.describe Mutations::Dast::Profiles::Create, :dynamic_analysis, feature_category: :dynamic_application_security_testing do let_it_be(:project) { create(:project, :repository) } - let_it_be(:developer) { create(:user, developer_projects: [project]) } + let_it_be(:developer) { create(:user, developer_of: project) } let_it_be(:dast_site_profile) { create(:dast_site_profile, project: project) } let_it_be(:dast_scanner_profile) { create(:dast_scanner_profile, project: project) } diff --git a/ee/spec/graphql/resolvers/app_sec/dast/profile_resolver_spec.rb b/ee/spec/graphql/resolvers/app_sec/dast/profile_resolver_spec.rb index 5a01cb15e0635db8eb0495c657ce4d471d530fba..0480c11e17d54d077d7c639b8a9b9d228e18516e 100644 --- a/ee/spec/graphql/resolvers/app_sec/dast/profile_resolver_spec.rb +++ b/ee/spec/graphql/resolvers/app_sec/dast/profile_resolver_spec.rb @@ -10,7 +10,7 @@ end let_it_be(:project) { create(:project) } - let_it_be(:developer) { create(:user, developer_projects: [project]) } + let_it_be(:developer) { create(:user, developer_of: project) } let_it_be(:dast_profile1) { create(:dast_profile, project: project) } let_it_be(:dast_profile2) { create(:dast_profile, project: project) } diff --git a/ee/spec/graphql/resolvers/clusters/agents_resolver_spec.rb b/ee/spec/graphql/resolvers/clusters/agents_resolver_spec.rb index e4d9d1cc85bd0569f9f6166ea83655c916d068eb..99f66eae6bb82ca939b6e5297bd7b992a851b1bc 100644 --- a/ee/spec/graphql/resolvers/clusters/agents_resolver_spec.rb +++ b/ee/spec/graphql/resolvers/clusters/agents_resolver_spec.rb @@ -17,7 +17,7 @@ let_it_be(:project) { create(:project) } let(:ctx) { { current_user: current_user } } let(:params) { {} } - let_it_be(:maintainer) { create(:user, developer_projects: [project]) } + let_it_be(:maintainer) { create(:user, developer_of: project) } let_it_be(:reporter) { create(:user) } before do diff --git a/ee/spec/graphql/resolvers/dast_site_profile_resolver_spec.rb b/ee/spec/graphql/resolvers/dast_site_profile_resolver_spec.rb index d52a4665f77eecd5a7aa60722781f0b3f18299e0..fe31ee6b288e92cb3e54cab0687f40c5b91e861d 100644 --- a/ee/spec/graphql/resolvers/dast_site_profile_resolver_spec.rb +++ b/ee/spec/graphql/resolvers/dast_site_profile_resolver_spec.rb @@ -10,7 +10,7 @@ end let_it_be(:project) { create(:project) } - let_it_be(:developer) { create(:user, developer_projects: [project]) } + let_it_be(:developer) { create(:user, developer_of: project) } let_it_be(:dast_site_profile1) { create(:dast_site_profile, project: project) } let_it_be(:dast_site_profile2) { create(:dast_site_profile, project: project) } let_it_be(:dast_site_profile3) do diff --git a/ee/spec/graphql/types/app_sec/fuzzing/coverage/corpus_type_spec.rb b/ee/spec/graphql/types/app_sec/fuzzing/coverage/corpus_type_spec.rb index 475676c07b2fd5db0d65fcb61cce005c5d55fb77..860a3fbae5ba0c4625b7be011d1a6d2ca0cef5ad 100644 --- a/ee/spec/graphql/types/app_sec/fuzzing/coverage/corpus_type_spec.rb +++ b/ee/spec/graphql/types/app_sec/fuzzing/coverage/corpus_type_spec.rb @@ -7,7 +7,7 @@ let_it_be(:project) { create(:project, :repository) } let_it_be(:object) { create(:corpus, project: project) } - let_it_be(:user) { create(:user, developer_projects: [project]) } + let_it_be(:user) { create(:user, developer_of: project) } let_it_be(:fields) { %i[id package] } specify { expect(described_class.graphql_name).to eq('CoverageFuzzingCorpus') } diff --git a/ee/spec/graphql/types/dast/pre_scan_verification_step_type_spec.rb b/ee/spec/graphql/types/dast/pre_scan_verification_step_type_spec.rb index f00141c4bfea1142169e69f3b101177d518b7eed..41773584fb72d1bf34ae12555e99b55e11cd7da0 100644 --- a/ee/spec/graphql/types/dast/pre_scan_verification_step_type_spec.rb +++ b/ee/spec/graphql/types/dast/pre_scan_verification_step_type_spec.rb @@ -18,7 +18,7 @@ ) end - let_it_be(:user) { create(:user, developer_projects: [project]) } + let_it_be(:user) { create(:user, developer_of: project) } let_it_be(:fields) { %i[name check_type errors success] } before do diff --git a/ee/spec/graphql/types/dast/pre_scan_verification_type_spec.rb b/ee/spec/graphql/types/dast/pre_scan_verification_type_spec.rb index d1dac06e41480dff1034cbb3a8260e44f991d31c..1c22c41e238f9a2482ccaad51116ecb533d61970 100644 --- a/ee/spec/graphql/types/dast/pre_scan_verification_type_spec.rb +++ b/ee/spec/graphql/types/dast/pre_scan_verification_type_spec.rb @@ -9,7 +9,7 @@ let_it_be(:project) { create(:project) } let_it_be(:dast_profile) { create(:dast_profile, project: project) } let_it_be(:object) { create(:dast_pre_scan_verification, dast_profile: dast_profile) } - let_it_be(:user) { create(:user, developer_projects: [project]) } + let_it_be(:user) { create(:user, developer_of: project) } let_it_be(:dast_pre_scan_verification_step_1) do create( :dast_pre_scan_verification_step, diff --git a/ee/spec/graphql/types/dast/profile_schedule_type_spec.rb b/ee/spec/graphql/types/dast/profile_schedule_type_spec.rb index 129bc411e3bf98430700db0b2bc15074eea68711..8e0da631cbe6bcc61301f80b27dff65f6a9a72cb 100644 --- a/ee/spec/graphql/types/dast/profile_schedule_type_spec.rb +++ b/ee/spec/graphql/types/dast/profile_schedule_type_spec.rb @@ -7,7 +7,7 @@ let_it_be(:fields) { %i[id active startsAt timezone nextRunAt cadence ownerValid] } let_it_be(:project) { create(:project) } - let_it_be(:user) { create(:user, developer_projects: [project]) } + let_it_be(:user) { create(:user, developer_of: project) } let_it_be(:object) { create(:dast_profile_schedule, project: project, owner: user) } specify { expect(described_class.graphql_name).to eq('DastProfileSchedule') } diff --git a/ee/spec/graphql/types/dast/profile_type_spec.rb b/ee/spec/graphql/types/dast/profile_type_spec.rb index dca25f6810caf8e74bc755c58f7e586525327e7c..5376a6c5db1e43c1269aefbd92b3e31423f14b70 100644 --- a/ee/spec/graphql/types/dast/profile_type_spec.rb +++ b/ee/spec/graphql/types/dast/profile_type_spec.rb @@ -9,7 +9,7 @@ let_it_be(:project) { create(:project, :repository) } let_it_be(:object) { create(:dast_profile, project: project) } let_it_be(:dast_pre_scan_verification) { create(:dast_pre_scan_verification, dast_profile: object) } - let_it_be(:user) { create(:user, developer_projects: [project]) } + let_it_be(:user) { create(:user, developer_of: project) } let_it_be(:tag_list) { %w[ruby postgres] } let_it_be(:fields) do diff --git a/ee/spec/graphql/types/dast/site_profile_auth_type_spec.rb b/ee/spec/graphql/types/dast/site_profile_auth_type_spec.rb index 718e15e7aa8ffaec009e1c5a61582917bcd278ae..50ab64a5969a52fba3c916c2f1aee725a8ea08d5 100644 --- a/ee/spec/graphql/types/dast/site_profile_auth_type_spec.rb +++ b/ee/spec/graphql/types/dast/site_profile_auth_type_spec.rb @@ -6,7 +6,7 @@ include GraphqlHelpers let_it_be(:project) { create(:project) } - let_it_be(:user) { create(:user, developer_projects: [project]) } + let_it_be(:user) { create(:user, developer_of: project) } let_it_be(:object, reload: true) { create(:dast_site_profile, project: project) } let_it_be(:fields) { %i[enabled url usernameField passwordField username password submitField] } diff --git a/ee/spec/graphql/types/dast_site_profile_type_spec.rb b/ee/spec/graphql/types/dast_site_profile_type_spec.rb index 9f382a944a7954e99f10cf9779a9e4ba17b30362..6f533b9bb76612c1fd8da325baa469217aac4e80 100644 --- a/ee/spec/graphql/types/dast_site_profile_type_spec.rb +++ b/ee/spec/graphql/types/dast_site_profile_type_spec.rb @@ -7,7 +7,7 @@ include RepoHelpers let_it_be(:project) { create(:project) } - let_it_be(:user) { create(:user, developer_projects: [project]) } + let_it_be(:user) { create(:user, developer_of: project) } let_it_be(:object, reload: true) { create(:dast_site_profile, project: project) } let_it_be(:fields) { %i[id profileName targetUrl targetType editPath excludedUrls requestHeaders validationStatus userPermissions normalizedTargetUrl auth referencedInSecurityPolicies scanMethod scanFilePath validationStartedAt] } diff --git a/ee/spec/helpers/ee/branches_helper_spec.rb b/ee/spec/helpers/ee/branches_helper_spec.rb index d6826f371a97c4ba4dad6733f6844b6645c5a4e3..42fddbdb8fc8a5fbf1c00601e862337d1910c9cf 100644 --- a/ee/spec/helpers/ee/branches_helper_spec.rb +++ b/ee/spec/helpers/ee/branches_helper_spec.rb @@ -17,7 +17,7 @@ let!(:project) { create(:project) } let!(:protected_branch) { create(:protected_branch, :developers_can_merge, :maintainers_can_push, project: project) } let!(:deploy_key) { create(:deploy_key, deploy_keys_projects: [create(:deploy_keys_project, :write_access, project: project)]) } - let(:user) { create(:user, maintainer_projects: [project]) } + let(:user) { create(:user, maintainer_of: project) } let(:merge_level) { protected_branch.merge_access_levels.first } let(:push_level) { protected_branch.push_access_levels.first } diff --git a/ee/spec/lib/gitlab/ci/pipeline/chain/create_cross_database_associations_spec.rb b/ee/spec/lib/gitlab/ci/pipeline/chain/create_cross_database_associations_spec.rb index 0e3c634c6f1bd85ecc892a709cc315a8b95f7434..c1e1ba5b5d2c2d5edaef020254b2d3423bf25e5e 100644 --- a/ee/spec/lib/gitlab/ci/pipeline/chain/create_cross_database_associations_spec.rb +++ b/ee/spec/lib/gitlab/ci/pipeline/chain/create_cross_database_associations_spec.rb @@ -4,7 +4,7 @@ RSpec.describe Gitlab::Ci::Pipeline::Chain::CreateCrossDatabaseAssociations do let_it_be(:project) { create(:project) } - let_it_be(:user) { create(:user, developer_projects: [project]) } + let_it_be(:user) { create(:user, developer_of: project) } let_it_be(:outsider) { create(:user) } let!(:pipeline) { create(:ci_pipeline, project: project, user: user) } diff --git a/ee/spec/models/ci/build_spec.rb b/ee/spec/models/ci/build_spec.rb index f810930d1750b3c08b56d8705e2330cab222b1b5..e6ae81a30ab5fe9784061479f150a0e7cc879c44 100644 --- a/ee/spec/models/ci/build_spec.rb +++ b/ee/spec/models/ci/build_spec.rb @@ -155,7 +155,7 @@ describe 'dast' do let_it_be(:project) { create(:project, :repository) } - let_it_be(:user) { create(:user, developer_projects: [project]) } + let_it_be(:user) { create(:user, developer_of: project) } let_it_be(:dast_site_profile) { create(:dast_site_profile, project: project) } let_it_be(:dast_scanner_profile) { create(:dast_scanner_profile, project: project) } let_it_be(:dast_site_profile_secret_variable) { create(:dast_site_profile_secret_variable, :password, dast_site_profile: dast_site_profile) } diff --git a/ee/spec/models/dast_site_profile_spec.rb b/ee/spec/models/dast_site_profile_spec.rb index 53888602b4cef57d83dfcfcb75662f71c326e29a..336c29e75a8185dad99a9254a2e1928806c35673 100644 --- a/ee/spec/models/dast_site_profile_spec.rb +++ b/ee/spec/models/dast_site_profile_spec.rb @@ -542,7 +542,7 @@ end describe '#secret_ci_variables' do - let_it_be(:user) { create(:user, developer_projects: [project]) } + let_it_be(:user) { create(:user, developer_of: project) } context 'when user can read secrets' do before do diff --git a/ee/spec/models/preloaders/environments/protected_environment_preloader_spec.rb b/ee/spec/models/preloaders/environments/protected_environment_preloader_spec.rb index 6ba3ffc10c5b2e3bdc309f504f3be148fb18f0c6..c04e3aa469208fd59fa40724e680f8f357e8ec51 100644 --- a/ee/spec/models/preloaders/environments/protected_environment_preloader_spec.rb +++ b/ee/spec/models/preloaders/environments/protected_environment_preloader_spec.rb @@ -20,8 +20,8 @@ let_it_be(:project, reload: true) { create(:project, :repository, group: subgroup) } let_it_be(:production, refind: true) { create(:environment, name: 'production', project: project) } let_it_be(:staging, refind: true) { create(:environment, name: 'staging', project: project) } - let_it_be(:production_operator) { create(:user, developer_projects: [project]) } - let_it_be(:staging_operator) { create(:user, developer_projects: [project]) } + let_it_be(:production_operator) { create(:user, developer_of: project) } + let_it_be(:staging_operator) { create(:user, developer_of: project) } subject { described_class.new([production, staging]).execute(association_attributes) } diff --git a/ee/spec/requests/api/graphql/mutations/merge_requests/set_assignees_spec.rb b/ee/spec/requests/api/graphql/mutations/merge_requests/set_assignees_spec.rb index 8639bab7dbfb390b0eaadade3bd39c974010bcd9..ba0cbc8366481433e09c375fe7316123e0299cfd 100644 --- a/ee/spec/requests/api/graphql/mutations/merge_requests/set_assignees_spec.rb +++ b/ee/spec/requests/api/graphql/mutations/merge_requests/set_assignees_spec.rb @@ -6,10 +6,10 @@ include GraphqlHelpers let_it_be(:project) { create(:project, :repository) } - let_it_be(:current_user) { create(:user, developer_projects: [project]) } + let_it_be(:current_user) { create(:user, developer_of: project) } let_it_be(:merge_request) { create(:merge_request, source_project: project) } - let_it_be(:assignees) { create_list(:user, 3, developer_projects: [project]) } - let_it_be(:extra_assignees) { create_list(:user, 2, developer_projects: [project]) } + let_it_be(:assignees) { create_list(:user, 3, developer_of: project) } + let_it_be(:extra_assignees) { create_list(:user, 2, developer_of: project) } let(:input) { { assignee_usernames: assignees.map(&:username) } } let(:expected_result) do diff --git a/ee/spec/requests/api/graphql/mutations/merge_requests/update_approval_rule_spec.rb b/ee/spec/requests/api/graphql/mutations/merge_requests/update_approval_rule_spec.rb index 68622473c3d2f9e46b0784f8bbbb3227cbadfb9d..d5644a51dc5b775a891006592bea7a9db6bd5ced 100644 --- a/ee/spec/requests/api/graphql/mutations/merge_requests/update_approval_rule_spec.rb +++ b/ee/spec/requests/api/graphql/mutations/merge_requests/update_approval_rule_spec.rb @@ -6,10 +6,10 @@ include GraphqlHelpers let_it_be(:project) { create(:project, :repository) } - let_it_be(:current_user) { create(:user, developer_projects: [project]) } + let_it_be(:current_user) { create(:user, developer_of: project) } let_it_be(:merge_request) { create(:merge_request, source_project: project) } - let_it_be(:users) { create_list(:user, 3, developer_projects: [project]) } - let_it_be(:extra_users) { create_list(:user, 2, developer_projects: [project]) } + let_it_be(:users) { create_list(:user, 3, developer_of: project) } + let_it_be(:extra_users) { create_list(:user, 2, developer_of: project) } let_it_be(:rule) do create(:approval_merge_request_rule, name: "test-rule", merge_request: merge_request, approvals_required: 1) end diff --git a/ee/spec/requests/api/graphql/mutations/projects/chat_spec.rb b/ee/spec/requests/api/graphql/mutations/projects/chat_spec.rb index c8345c4bdbd9ac77ede13f4a3bd5cd32435b74c9..c08f891bb27e8a30e6dc0071c8f667fd52bb59a5 100644 --- a/ee/spec/requests/api/graphql/mutations/projects/chat_spec.rb +++ b/ee/spec/requests/api/graphql/mutations/projects/chat_spec.rb @@ -7,7 +7,7 @@ let_it_be_with_reload(:group) { create(:group_with_plan, :public, plan: :ultimate_plan) } let_it_be(:project) { create(:project, :public, group: group) } - let_it_be(:current_user) { create(:user, developer_projects: [project]) } + let_it_be(:current_user) { create(:user, developer_of: project) } let_it_be(:resource) { create(:issue, project: project) } let(:params) { { chat: { resource_id: resource&.to_gid, content: "summarize" } } } diff --git a/ee/spec/requests/api/graphql/mutations/projects/explain_code_spec.rb b/ee/spec/requests/api/graphql/mutations/projects/explain_code_spec.rb index 6d133252ca8e5e97ec92ada893eab35081c4ba5f..a9908fb8c47c8ff8abec2769f6334ae4e3e66c3e 100644 --- a/ee/spec/requests/api/graphql/mutations/projects/explain_code_spec.rb +++ b/ee/spec/requests/api/graphql/mutations/projects/explain_code_spec.rb @@ -8,7 +8,7 @@ let_it_be(:group) { create(:group_with_plan, plan: :ultimate_plan) } let_it_be(:project) { create(:project, :public, group: group) } - let_it_be(:current_user) { create(:user, developer_projects: [project]) } + let_it_be(:current_user) { create(:user, developer_of: project) } let(:uuid) { 'uuid' } let(:messages) do diff --git a/ee/spec/requests/api/graphql/mutations/projects/fill_in_merge_request_template_spec.rb b/ee/spec/requests/api/graphql/mutations/projects/fill_in_merge_request_template_spec.rb index ed37567e46f9c5ae579cb4b4316c4a76c9b4ea8b..a7f7d75b6fa6b7e90e816caaf059b16cfedb9d0b 100644 --- a/ee/spec/requests/api/graphql/mutations/projects/fill_in_merge_request_template_spec.rb +++ b/ee/spec/requests/api/graphql/mutations/projects/fill_in_merge_request_template_spec.rb @@ -8,7 +8,7 @@ let_it_be(:group) { create(:group_with_plan, :public, plan: :ultimate_plan) } let_it_be(:project) { create(:project, :public, group: group) } - let_it_be(:current_user) { create(:user, developer_projects: [project]) } + let_it_be(:current_user) { create(:user, developer_of: project) } let(:mutation) do params = { diff --git a/ee/spec/requests/api/graphql/mutations/projects/generate_commit_message_spec.rb b/ee/spec/requests/api/graphql/mutations/projects/generate_commit_message_spec.rb index 973a9437484ec7853f9cdc86ee7ec18996e1eb66..3dfefbf9c1c74670fba3f4bc90cc6283c3a8b4f7 100644 --- a/ee/spec/requests/api/graphql/mutations/projects/generate_commit_message_spec.rb +++ b/ee/spec/requests/api/graphql/mutations/projects/generate_commit_message_spec.rb @@ -8,7 +8,7 @@ let_it_be(:group) { create(:group_with_plan, :public, plan: :ultimate_plan) } let_it_be(:project) { create(:project, :public, group: group) } - let_it_be(:current_user) { create(:user, developer_projects: [project]) } + let_it_be(:current_user) { create(:user, developer_of: project) } let_it_be(:merge_request) { create(:merge_request, source_project: project) } let(:mutation) do diff --git a/ee/spec/requests/api/graphql/mutations/projects/summarize_new_merge_request_spec.rb b/ee/spec/requests/api/graphql/mutations/projects/summarize_new_merge_request_spec.rb index 140d28ee8cdf5c3145146aff033e7641ec5d0f09..965a99c44b696b0b2799cc7727e073c07e0eeffb 100644 --- a/ee/spec/requests/api/graphql/mutations/projects/summarize_new_merge_request_spec.rb +++ b/ee/spec/requests/api/graphql/mutations/projects/summarize_new_merge_request_spec.rb @@ -8,7 +8,7 @@ let_it_be(:group) { create(:group_with_plan, :public, plan: :ultimate_plan) } let_it_be(:project) { create(:project, :public, group: group) } - let_it_be(:current_user) { create(:user, developer_projects: [project]) } + let_it_be(:current_user) { create(:user, developer_of: project) } let(:mutation) do params = { diff --git a/ee/spec/requests/api/graphql/project/branch_rules_spec.rb b/ee/spec/requests/api/graphql/project/branch_rules_spec.rb index da97da7ccccefd7b4654278ced3b682be56927da..2f32e5ba9d4490a5d51ec165548ff6a2afe7bb6b 100644 --- a/ee/spec/requests/api/graphql/project/branch_rules_spec.rb +++ b/ee/spec/requests/api/graphql/project/branch_rules_spec.rb @@ -6,7 +6,7 @@ include GraphqlHelpers let_it_be(:project) { create(:project, :repository, :public) } - let_it_be(:current_user) { create(:user, maintainer_projects: [project]) } + let_it_be(:current_user) { create(:user, maintainer_of: project) } let(:branch_rules_data) { graphql_data_at('project', 'branchRules', 'nodes') } let(:variables) { { path: project.full_path } } diff --git a/ee/spec/requests/api/internal/app_sec/dast/site_validations_spec.rb b/ee/spec/requests/api/internal/app_sec/dast/site_validations_spec.rb index 8377a53eec1102003e4ceaa60f5e3aeb5aabc794..d7cd8973e0a5d5803e4026f1ed310ef56da42014 100644 --- a/ee/spec/requests/api/internal/app_sec/dast/site_validations_spec.rb +++ b/ee/spec/requests/api/internal/app_sec/dast/site_validations_spec.rb @@ -7,7 +7,7 @@ include Ci::JobTokenScopeHelpers let_it_be(:project) { create(:project) } - let_it_be(:developer) { create(:user, developer_projects: [project]) } + let_it_be(:developer) { create(:user, developer_of: project) } let_it_be(:site_validation) { create(:dast_site_validation, dast_site_token: create(:dast_site_token, project: project)) } let_it_be(:job) { create(:ci_build, :running, project: project, user: developer) } diff --git a/ee/spec/requests/api/protected_tags_spec.rb b/ee/spec/requests/api/protected_tags_spec.rb index 1dc13c26d4eb2e466b46b5bcd0ad45a6cf526d45..36864418a761c00d9d0efb4e899abf32aae4702b 100644 --- a/ee/spec/requests/api/protected_tags_spec.rb +++ b/ee/spec/requests/api/protected_tags_spec.rb @@ -4,7 +4,7 @@ RSpec.describe API::ProtectedTags, feature_category: :source_code_management do let_it_be(:project) { create(:project, :repository) } - let_it_be(:user) { create(:user, maintainer_projects: [project]) } + let_it_be(:user) { create(:user, maintainer_of: project) } let(:invited_group) { create(:project_group_link, project: project).group } let(:project_member) { create(:project_member, project: project).user } diff --git a/ee/spec/services/analytics/ai_analytics/code_suggestion_usage_rate_service_spec.rb b/ee/spec/services/analytics/ai_analytics/code_suggestion_usage_rate_service_spec.rb index fd730b5968b9182f692d61ef3c5a29f5186f9431..a3485c13e6e437c8abc0d4a7f1ca8962dbda7a37 100644 --- a/ee/spec/services/analytics/ai_analytics/code_suggestion_usage_rate_service_spec.rb +++ b/ee/spec/services/analytics/ai_analytics/code_suggestion_usage_rate_service_spec.rb @@ -7,24 +7,18 @@ described_class.new(current_user, namespace: container, from: from, to: to).execute end - let_it_be(:user1) { create(:user) } - let_it_be(:user2) { create(:user) } - let_it_be(:user_without_ai_usage) { create(:user) } - let_it_be(:unmatched_user) { create(:user) } let_it_be(:group) { create(:group) } let_it_be(:subgroup) { create(:group, parent: group) } let_it_be(:project) { create(:project, group: subgroup) } + let_it_be(:user1) { create(:user, developer_of: group) } + let_it_be(:user2) { create(:user, developer_of: subgroup) } + let_it_be(:user_without_ai_usage) { create(:user, developer_of: group) } + let_it_be(:unmatched_user) { create(:user) } let(:current_user) { user1 } let(:from) { Time.current } let(:to) { Time.current } - before_all do - group.add_developer(user1) - subgroup.add_developer(user2) - group.add_developer(user_without_ai_usage) - end - before do allow(Gitlab::ClickHouse).to receive(:enabled_for_analytics?).and_return(true) end diff --git a/ee/spec/services/app_sec/dast/pre_scan_verification_steps/create_or_update_service_spec.rb b/ee/spec/services/app_sec/dast/pre_scan_verification_steps/create_or_update_service_spec.rb index 4f4be3e999e361d8bd3af620cf13bfd85f2aba8d..6db325a6fcd24549b8e2f1501ce596eb343b6340 100644 --- a/ee/spec/services/app_sec/dast/pre_scan_verification_steps/create_or_update_service_spec.rb +++ b/ee/spec/services/app_sec/dast/pre_scan_verification_steps/create_or_update_service_spec.rb @@ -5,7 +5,7 @@ RSpec.describe AppSec::Dast::PreScanVerificationSteps::CreateOrUpdateService, :dynamic_analysis, feature_category: :dynamic_application_security_testing do let_it_be(:project) { create(:project, :repository) } - let_it_be(:developer) { create(:user, developer_projects: [project]) } + let_it_be(:developer) { create(:user, developer_of: project) } let_it_be(:dast_profile) { create(:dast_profile, project: project) } let_it_be(:dast_pre_scan_verification) { create(:dast_pre_scan_verification, dast_profile: dast_profile) } let_it_be(:step) { 'connection' } diff --git a/ee/spec/services/app_sec/dast/pre_scan_verification_steps/find_or_create_service_spec.rb b/ee/spec/services/app_sec/dast/pre_scan_verification_steps/find_or_create_service_spec.rb index 51889aaaf29b9fbe3a0869bb51a746920f79de69..522c1ca6d8bf83f71fa315372ade18c311607a00 100644 --- a/ee/spec/services/app_sec/dast/pre_scan_verification_steps/find_or_create_service_spec.rb +++ b/ee/spec/services/app_sec/dast/pre_scan_verification_steps/find_or_create_service_spec.rb @@ -5,7 +5,7 @@ RSpec.describe AppSec::Dast::PreScanVerificationSteps::FindOrCreateService, :dynamic_analysis, feature_category: :dynamic_application_security_testing do let_it_be(:project) { create(:project, :repository) } - let_it_be(:developer) { create(:user, developer_projects: [project]) } + let_it_be(:developer) { create(:user, developer_of: project) } let_it_be(:dast_profile) { create(:dast_profile, project: project) } let_it_be(:dast_pre_scan_verification) { create(:dast_pre_scan_verification, dast_profile: dast_profile) } let_it_be(:step) { 'connection' } diff --git a/ee/spec/services/app_sec/dast/profiles/build_config_service_spec.rb b/ee/spec/services/app_sec/dast/profiles/build_config_service_spec.rb index 4c70074bbf1043bef1eeb2d01811bf86e4a625db..cfa63a69a600fa1b6fcca98d5122417bc7189d9c 100644 --- a/ee/spec/services/app_sec/dast/profiles/build_config_service_spec.rb +++ b/ee/spec/services/app_sec/dast/profiles/build_config_service_spec.rb @@ -6,7 +6,7 @@ let_it_be(:project) { create(:project) } let_it_be(:dast_site_profile) { create(:dast_site_profile, project: project) } let_it_be(:dast_scanner_profile) { create(:dast_scanner_profile, project: project) } - let_it_be(:user) { create(:user, developer_projects: [project]) } + let_it_be(:user) { create(:user, developer_of: project) } let(:dast_site_profile_name) { dast_site_profile.name } let(:dast_scanner_profile_name) { dast_scanner_profile.name } @@ -58,7 +58,7 @@ context 'when the profile cannot be read' do let_it_be(:project) { create(:project) } - let_it_be(:user) { create(:user, developer_projects: [project]) } + let_it_be(:user) { create(:user, developer_of: project) } it_behaves_like 'an error occurred' do let(:error_message) { "DAST profile not found: #{profile_name}" } diff --git a/ee/spec/services/app_sec/dast/profiles/create_associations_service_spec.rb b/ee/spec/services/app_sec/dast/profiles/create_associations_service_spec.rb index 16865fe396ea022262c999e185803d0cb3c99953..80bc62c22e59b62cbbea930e0018bf642fad18d8 100644 --- a/ee/spec/services/app_sec/dast/profiles/create_associations_service_spec.rb +++ b/ee/spec/services/app_sec/dast/profiles/create_associations_service_spec.rb @@ -4,7 +4,7 @@ RSpec.describe AppSec::Dast::Profiles::CreateAssociationsService do let_it_be(:project) { create(:project) } - let_it_be(:user) { create(:user, developer_projects: [project]) } + let_it_be(:user) { create(:user, developer_of: project) } let_it_be(:outsider) { create(:user) } let_it_be(:dast_site_profile) { create(:dast_site_profile, project: project) } let_it_be(:dast_scanner_profile) { create(:dast_scanner_profile, project: project) } diff --git a/ee/spec/services/app_sec/dast/profiles/create_service_spec.rb b/ee/spec/services/app_sec/dast/profiles/create_service_spec.rb index c628f4f6d764bff749e4a8d0b5ef1f0718fd0e08..33b4963896cbf14b3a362cf75f317da215ff120f 100644 --- a/ee/spec/services/app_sec/dast/profiles/create_service_spec.rb +++ b/ee/spec/services/app_sec/dast/profiles/create_service_spec.rb @@ -5,7 +5,7 @@ RSpec.describe AppSec::Dast::Profiles::CreateService, :dynamic_analysis, feature_category: :dynamic_application_security_testing do let_it_be(:project) { create(:project, :repository) } - let_it_be(:developer) { create(:user, developer_projects: [project]) } + let_it_be(:developer) { create(:user, developer_of: project) } let_it_be(:dast_site_profile) { create(:dast_site_profile, project: project) } let_it_be(:dast_scanner_profile) { create(:dast_scanner_profile, project: project) } let_it_be(:time_zone) { Time.zone.tzinfo.name } diff --git a/ee/spec/services/app_sec/dast/site_profile_secret_variables/create_or_update_service_spec.rb b/ee/spec/services/app_sec/dast/site_profile_secret_variables/create_or_update_service_spec.rb index 353104029ec1e764db8a5de4d72915626db86aab..bc286e407249939366c66f947c46010e56527c0d 100644 --- a/ee/spec/services/app_sec/dast/site_profile_secret_variables/create_or_update_service_spec.rb +++ b/ee/spec/services/app_sec/dast/site_profile_secret_variables/create_or_update_service_spec.rb @@ -5,7 +5,7 @@ RSpec.describe AppSec::Dast::SiteProfileSecretVariables::CreateOrUpdateService do let_it_be(:project) { create(:project) } let_it_be(:dast_profile) { create(:dast_profile, project: project) } - let_it_be(:developer) { create(:user, developer_projects: [project] ) } + let_it_be(:developer) { create(:user, developer_of: project ) } let_it_be(:default_params) do { diff --git a/ee/spec/services/app_sec/dast/site_validations/find_or_create_service_spec.rb b/ee/spec/services/app_sec/dast/site_validations/find_or_create_service_spec.rb index 3fe94492853c66b52eac8c05ff72a561e71cb27d..676fa671039f0f7fd1fd8e5be33740276d9973d9 100644 --- a/ee/spec/services/app_sec/dast/site_validations/find_or_create_service_spec.rb +++ b/ee/spec/services/app_sec/dast/site_validations/find_or_create_service_spec.rb @@ -4,7 +4,7 @@ RSpec.describe AppSec::Dast::SiteValidations::FindOrCreateService do let_it_be(:project) { create(:project, :repository) } - let_it_be(:developer) { create(:user, developer_projects: [project]) } + let_it_be(:developer) { create(:user, developer_of: project) } let_it_be(:dast_site) { create(:dast_site, project: project) } let_it_be(:dast_site_token) { create(:dast_site_token, project: project, url: dast_site.url) } diff --git a/ee/spec/services/app_sec/dast/site_validations/runner_service_spec.rb b/ee/spec/services/app_sec/dast/site_validations/runner_service_spec.rb index cc8693f0bda952058331dc557fd526be1655688b..1c418246eeceeea6d74134b2450391d04903cc08 100644 --- a/ee/spec/services/app_sec/dast/site_validations/runner_service_spec.rb +++ b/ee/spec/services/app_sec/dast/site_validations/runner_service_spec.rb @@ -4,7 +4,7 @@ RSpec.describe AppSec::Dast::SiteValidations::RunnerService do let_it_be(:project) { create(:project, :repository) } - let_it_be(:developer) { create(:user, developer_projects: [project] ) } + let_it_be(:developer) { create(:user, developer_of: project ) } let_it_be(:dast_site_token) { create(:dast_site_token, project: project) } let_it_be(:dast_site_validation) { create(:dast_site_validation, dast_site_token: dast_site_token) } diff --git a/ee/spec/services/app_sec/fuzzing/coverage/corpuses/create_service_spec.rb b/ee/spec/services/app_sec/fuzzing/coverage/corpuses/create_service_spec.rb index 40d8fa417a22c1dfa00aafa3270a6e62ff9c6c77..621881084e63fbdfb36626d3f9dbbb989dbec9e9 100644 --- a/ee/spec/services/app_sec/fuzzing/coverage/corpuses/create_service_spec.rb +++ b/ee/spec/services/app_sec/fuzzing/coverage/corpuses/create_service_spec.rb @@ -4,7 +4,7 @@ RSpec.describe AppSec::Fuzzing::Coverage::Corpuses::CreateService do let_it_be(:project) { create(:project) } - let_it_be(:developer) { create(:user, developer_projects: [project] ) } + let_it_be(:developer) { create(:user, developer_of: project ) } let_it_be(:package) { create(:generic_package, :with_zip_file, project: project, creator: developer) } let_it_be(:default_params) do diff --git a/ee/spec/services/ci/create_pipeline_service/dast_configuration_spec.rb b/ee/spec/services/ci/create_pipeline_service/dast_configuration_spec.rb index a70aa4441a6a3d299620bc3ab77c29dae65065c1..02be8229fdae2da7ca7c77e36c0c43095a44c9df 100644 --- a/ee/spec/services/ci/create_pipeline_service/dast_configuration_spec.rb +++ b/ee/spec/services/ci/create_pipeline_service/dast_configuration_spec.rb @@ -4,7 +4,7 @@ RSpec.describe Ci::CreatePipelineService, feature_category: :dynamic_application_security_testing do let_it_be_with_refind(:project) { create(:project, :custom_repo, files: { 'README.txt' => '' }) } - let_it_be(:user) { create(:user, developer_projects: [project]) } + let_it_be(:user) { create(:user, developer_of: project) } let_it_be(:dast_site_profile) { create(:dast_site_profile, project: project) } let_it_be(:dast_scanner_profile) { create(:dast_scanner_profile, project: project) } let_it_be(:another_dast_site_profile) { create(:dast_site_profile, project: project) } diff --git a/ee/spec/services/ci/play_bridge_service_spec.rb b/ee/spec/services/ci/play_bridge_service_spec.rb index 6fd32023389ea78b89790dc05ed15983c388bd77..b64b2987d2e9555cf8f8ed5ee7ccdca183b65260 100644 --- a/ee/spec/services/ci/play_bridge_service_spec.rb +++ b/ee/spec/services/ci/play_bridge_service_spec.rb @@ -4,7 +4,7 @@ RSpec.describe Ci::PlayBridgeService, '#execute', feature_category: :continuous_integration do it_behaves_like 'prevents playing job when credit card is required' do - let(:user) { create(:user, maintainer_projects: [project, downstream_project]) } + let(:user) { create(:user, maintainer_of: [project, downstream_project]) } let(:project) { create(:project) } let(:pipeline) { create(:ci_pipeline, project: project) } let(:downstream_project) { create(:project) } diff --git a/ee/spec/services/ci/play_build_service_spec.rb b/ee/spec/services/ci/play_build_service_spec.rb index 23f32d9e3bbb7f0bd016fe03697376ae7e81da17..162ee70bf6110e41164a7f3bd0c56c025c80103f 100644 --- a/ee/spec/services/ci/play_build_service_spec.rb +++ b/ee/spec/services/ci/play_build_service_spec.rb @@ -8,7 +8,7 @@ end it_behaves_like 'prevents playing job when credit card is required' do - let(:user) { create(:user, maintainer_projects: [project]) } + let(:user) { create(:user, maintainer_of: project) } let(:project) { create(:project) } let(:pipeline) { create(:ci_pipeline, project: project) } let(:job) { create(:ci_build, :manual, pipeline: pipeline) } diff --git a/ee/spec/services/ee/members/destroy_service_spec.rb b/ee/spec/services/ee/members/destroy_service_spec.rb index d11d5ec4a150295c3cb2823cda9b72ce3879a237..95e813d2e29bd59ea2a94756a4a36ae259c6cf3d 100644 --- a/ee/spec/services/ee/members/destroy_service_spec.rb +++ b/ee/spec/services/ee/members/destroy_service_spec.rb @@ -180,7 +180,7 @@ end context 'group member is removed' do - let(:other_user) { create(:user, developer_projects: [group]) } + let(:other_user) { create(:user, developer_of: group) } let!(:other_user_rule) { create(:incident_management_escalation_rule, :with_user, user: other_user, policy: project_1_policy) } let!(:other_namespace_rule) { create(:incident_management_escalation_rule, :with_user, user: member_user) } diff --git a/ee/spec/services/merge_requests/push_options_handler_service_spec.rb b/ee/spec/services/merge_requests/push_options_handler_service_spec.rb index a740b0b6d9d073141c71eb11af77e309833933fc..289c70e52712564d7b8ed224c1c7822e8d83b8ee 100644 --- a/ee/spec/services/merge_requests/push_options_handler_service_spec.rb +++ b/ee/spec/services/merge_requests/push_options_handler_service_spec.rb @@ -6,9 +6,9 @@ include ProjectForksHelper let_it_be(:project) { create(:project, :public, :repository) } - let_it_be(:user1) { create(:user, developer_projects: [project]) } - let_it_be(:user2) { create(:user, developer_projects: [project]) } - let_it_be(:user3) { create(:user, developer_projects: [project]) } + let_it_be(:user1) { create(:user, developer_of: project) } + let_it_be(:user2) { create(:user, developer_of: project) } + let_it_be(:user3) { create(:user, developer_of: project) } let_it_be(:forked_project) { fork_project(project, user1, repository: true) } let(:service) { described_class.new(project: project, current_user: user1, changes: changes, push_options: push_options) } diff --git a/ee/spec/services/releases/create_service_spec.rb b/ee/spec/services/releases/create_service_spec.rb index 4305810308d948400281f512bccf13304a750988..56c4d714a17be777961c4093c5f019ceb342b249 100644 --- a/ee/spec/services/releases/create_service_spec.rb +++ b/ee/spec/services/releases/create_service_spec.rb @@ -5,7 +5,7 @@ RSpec.describe Releases::CreateService, feature_category: :release_orchestration do let(:group) { create :group } let(:project) { create(:project, :repository, group: group) } - let(:user) { create(:user, maintainer_projects: [project]) } + let(:user) { create(:user, maintainer_of: project) } let(:tag_name) { 'v1.1.0' } let(:name) { 'Bionic Beaver' } let(:description) { 'Awesome release!' } diff --git a/ee/spec/support/shared_examples/requests/api/graphql/projects/branch_protections/access_level_request_examples.rb b/ee/spec/support/shared_examples/requests/api/graphql/projects/branch_protections/access_level_request_examples.rb index 71a088e036e68f2ff164751bf7c1ad4075740548..12b9948976648bfa798f35035c9a590dad990f1f 100644 --- a/ee/spec/support/shared_examples/requests/api/graphql/projects/branch_protections/access_level_request_examples.rb +++ b/ee/spec/support/shared_examples/requests/api/graphql/projects/branch_protections/access_level_request_examples.rb @@ -22,7 +22,7 @@ create( "protected_branch_#{access_level_kind}_access_level", protected_branch: protected_branch, - user: create(:user, developer_projects: [project]) + user: create(:user, developer_of: project) ) control = ActiveRecord::QueryRecorder.new(skip_cached: false) do @@ -37,7 +37,7 @@ create( "protected_branch_#{access_level_kind}_access_level", protected_branch: protected_branch, - user: create(:user, developer_projects: [project]) + user: create(:user, developer_of: project) ) expect do @@ -56,7 +56,7 @@ create( "protected_branch_#{access_level_kind}_access_level", protected_branch: protected_branch, - user: create(:user, developer_projects: [project]) + user: create(:user, developer_of: project) ) post_graphql(query, current_user: current_user, variables: variables) end diff --git a/spec/controllers/projects/hooks_controller_spec.rb b/spec/controllers/projects/hooks_controller_spec.rb index af690c0d3a887e7e4856d41ad45d1f801d8315ad..7f3a71f536c7d9aab2961291ae7de820ee4badd0 100644 --- a/spec/controllers/projects/hooks_controller_spec.rb +++ b/spec/controllers/projects/hooks_controller_spec.rb @@ -219,7 +219,7 @@ def it_renders_correctly it_behaves_like 'Web hook destroyer' context 'when user does not have permission' do - let(:user) { create(:user, developer_projects: [project]) } + let(:user) { create(:user, developer_of: project) } it 'renders a 404' do delete :destroy, params: params diff --git a/spec/controllers/projects/protected_branches_controller_spec.rb b/spec/controllers/projects/protected_branches_controller_spec.rb index 6778d4100b834164170ede68b91e0bf422d6ad89..fe1414541da420bc712d6cfa44d6c485688f2a95 100644 --- a/spec/controllers/projects/protected_branches_controller_spec.rb +++ b/spec/controllers/projects/protected_branches_controller_spec.rb @@ -5,7 +5,7 @@ RSpec.describe Projects::ProtectedBranchesController do let_it_be_with_reload(:project) { create(:project, :repository) } let_it_be_with_reload(:empty_project) { create(:project, :empty_repo) } - let_it_be(:maintainer) { create(:user, maintainer_projects: [project, empty_project]) } + let_it_be(:maintainer) { create(:user, maintainer_of: [project, empty_project]) } let(:protected_branch) { create(:protected_branch, project: project) } let(:project_params) { { namespace_id: project.namespace.to_param, project_id: project } } diff --git a/spec/controllers/projects/raw_controller_spec.rb b/spec/controllers/projects/raw_controller_spec.rb index b15a37d8d903ccf4f37aa6a7aa17de6b18638a1b..d4c7f679bee7e768400870475ddbba6198ee4ff9 100644 --- a/spec/controllers/projects/raw_controller_spec.rb +++ b/spec/controllers/projects/raw_controller_spec.rb @@ -269,7 +269,7 @@ def request_file context 'when a public project has private repo' do let(:project) { create(:project, :public, :repository, :repository_private) } - let(:user) { create(:user, maintainer_projects: [project]) } + let(:user) { create(:user, maintainer_of: project) } it 'does not set public caching header' do sign_in user diff --git a/spec/factories/users.rb b/spec/factories/users.rb index 7f771ae855123e69bd66000471f7e9c7fa36d0f5..c100e3d938f4bddfb64e3586a2b1eb6952ebce60 100644 --- a/spec/factories/users.rb +++ b/spec/factories/users.rb @@ -187,18 +187,21 @@ end transient do - developer_projects { [] } - maintainer_projects { [] } + # rubocop:disable Lint/EmptyBlock -- block is required by factorybot + guest_of {} + reporter_of {} + developer_of {} + maintainer_of {} + owner_of {} + # rubocop:enable Lint/EmptyBlock end after(:create) do |user, evaluator| - evaluator.developer_projects.each do |project| - project.add_developer(user) - end - - evaluator.maintainer_projects.each do |project| - project.add_maintainer(user) - end + Array.wrap(evaluator.guest_of).each { |target| target.add_guest(user) } + Array.wrap(evaluator.reporter_of).each { |target| target.add_reporter(user) } + Array.wrap(evaluator.developer_of).each { |target| target.add_developer(user) } + Array.wrap(evaluator.maintainer_of).each { |target| target.add_maintainer(user) } + Array.wrap(evaluator.owner_of).each { |target| target.add_owner(user) } end factory :omniauth_user do diff --git a/spec/features/clusters/create_agent_spec.rb b/spec/features/clusters/create_agent_spec.rb index 960d5c78d438c3950bee5fce01790f9a626a859d..3af9d1dfd0ec53f8d16eadb71fef09cccbc95cf2 100644 --- a/spec/features/clusters/create_agent_spec.rb +++ b/spec/features/clusters/create_agent_spec.rb @@ -4,7 +4,7 @@ RSpec.describe 'Cluster agent registration', :js, feature_category: :deployment_management do let_it_be(:project) { create(:project, :custom_repo, files: { '.gitlab/agents/example-agent-1/config.yaml' => '' }) } - let_it_be(:current_user) { create(:user, maintainer_projects: [project]) } + let_it_be(:current_user) { create(:user, maintainer_of: project) } let_it_be(:token) { Devise.friendly_token } before do diff --git a/spec/features/commits_spec.rb b/spec/features/commits_spec.rb index 87b67f1507e204b58a80479e5168d814cdf45725..66efd9bb9ef6df3d2567b9068fcf77db8c239f42 100644 --- a/spec/features/commits_spec.rb +++ b/spec/features/commits_spec.rb @@ -12,7 +12,7 @@ stub_ci_pipeline_to_return_yaml_file end - let(:creator) { create(:user, developer_projects: [project]) } + let(:creator) { create(:user, developer_of: project) } let!(:pipeline) do create( :ci_pipeline, diff --git a/spec/features/incidents/incident_timeline_events_spec.rb b/spec/features/incidents/incident_timeline_events_spec.rb index 4ceae0f87808ef91d070a2676415122eb0dea57d..9ee79b8249c067a12d0c03148c28963393fc049a 100644 --- a/spec/features/incidents/incident_timeline_events_spec.rb +++ b/spec/features/incidents/incident_timeline_events_spec.rb @@ -6,7 +6,7 @@ include ListboxHelpers let_it_be(:project) { create(:project) } - let_it_be(:user) { create(:user, developer_projects: [project]) } + let_it_be(:user) { create(:user, developer_of: project) } let_it_be(:incident) { create(:incident, project: project) } shared_examples 'add, edit, and delete timeline events' do diff --git a/spec/features/incidents/user_views_alert_details_spec.rb b/spec/features/incidents/user_views_alert_details_spec.rb index f3d0273071c08228a96db3686e52c84ad58e7237..658aa03fe14a791f864161eccb70824347ac9ed6 100644 --- a/spec/features/incidents/user_views_alert_details_spec.rb +++ b/spec/features/incidents/user_views_alert_details_spec.rb @@ -5,7 +5,7 @@ RSpec.describe 'User uploads alerts to incident', :js, feature_category: :incident_management do let_it_be(:incident) { create(:incident) } let_it_be(:project) { incident.project } - let_it_be(:user) { create(:user, developer_projects: [project]) } + let_it_be(:user) { create(:user, developer_of: project) } context 'with alert' do let_it_be(:alert) { create(:alert_management_alert, issue_id: incident.id, project: project) } diff --git a/spec/features/projects/activity/user_sees_design_activity_spec.rb b/spec/features/projects/activity/user_sees_design_activity_spec.rb index 6a51e54870058db7d7b7995b2cd7aed0b7e4ffbf..b904eee1852e763ef5cfbe3f316dd3fe34f9c517 100644 --- a/spec/features/projects/activity/user_sees_design_activity_spec.rb +++ b/spec/features/projects/activity/user_sees_design_activity_spec.rb @@ -66,7 +66,7 @@ def design_activity(user, action) context 'the project is private' do let_it_be(:project) { create(:project, :repository) } - let_it_be(:user) { create(:user, developer_projects: [project]) } + let_it_be(:user) { create(:user, developer_of: project) } it_behaves_like 'being able to see design activity' end diff --git a/spec/features/projects/settings/slack_application_spec.rb b/spec/features/projects/settings/slack_application_spec.rb index 4d1aa17e9866b6733a4b5b49470d7f3a5f72ad02..11b4884b00c9a1850b282e04f23bf433eedd0923 100644 --- a/spec/features/projects/settings/slack_application_spec.rb +++ b/spec/features/projects/settings/slack_application_spec.rb @@ -6,7 +6,7 @@ include Spec::Support::Helpers::ModalHelpers let_it_be(:project) { create(:project) } - let_it_be(:user) { create(:user, maintainer_projects: [project]) } + let_it_be(:user) { create(:user, maintainer_of: project) } let_it_be(:integration) { create(:gitlab_slack_application_integration, project: project) } let(:slack_application_form_path) { edit_project_settings_integration_path(project, integration) } diff --git a/spec/finders/clusters/agent_tokens_finder_spec.rb b/spec/finders/clusters/agent_tokens_finder_spec.rb index 16fdbc1b6691e9d1810ccd192f154470fdcde8cd..654abfd381503116ad9823d03c564d285ac59b3c 100644 --- a/spec/finders/clusters/agent_tokens_finder_spec.rb +++ b/spec/finders/clusters/agent_tokens_finder_spec.rb @@ -6,7 +6,7 @@ describe '#execute' do let_it_be(:project) { create(:project) } let_it_be(:agent) { create(:cluster_agent, project: project) } - let(:user) { create(:user, maintainer_projects: [project]) } + let(:user) { create(:user, maintainer_of: project) } let_it_be(:active_agent_tokens) do [ diff --git a/spec/finders/clusters/agents_finder_spec.rb b/spec/finders/clusters/agents_finder_spec.rb index 4ec798daa998fc86e0cd16586978f0f47b2eaf52..97e1bdc3a31684a061e884993db20db16d287df9 100644 --- a/spec/finders/clusters/agents_finder_spec.rb +++ b/spec/finders/clusters/agents_finder_spec.rb @@ -5,7 +5,7 @@ RSpec.describe Clusters::AgentsFinder do describe '#execute' do let(:project) { create(:project) } - let(:user) { create(:user, maintainer_projects: [project]) } + let(:user) { create(:user, maintainer_of: project) } let!(:matching_agent) { create(:cluster_agent, project: project) } let!(:wrong_project) { create(:cluster_agent) } diff --git a/spec/frontend/fixtures/pipelines.rb b/spec/frontend/fixtures/pipelines.rb index 151d4a763c04ab16851baee4e7b5e3c1463d3034..2d6fe5d340e5d2c8a2bd011a0f5c56b5dd2c7075 100644 --- a/spec/frontend/fixtures/pipelines.rb +++ b/spec/frontend/fixtures/pipelines.rb @@ -19,7 +19,7 @@ let!(:build_pipeline_without_commit) { create(:ci_build, pipeline: pipeline_without_commit, stage: 'test') } let(:commit) { create(:commit, project: project) } - let(:user) { create(:user, developer_projects: [project], email: commit.author_email) } + let(:user) { create(:user, developer_of: project, email: commit.author_email) } let!(:pipeline) { create(:ci_pipeline, :with_test_reports, project: project, sha: commit.id, user: user) } let!(:build_success) { create(:ci_build, pipeline: pipeline, stage: 'build') } let!(:build_test) { create(:ci_build, pipeline: pipeline, stage: 'test') } diff --git a/spec/graphql/mutations/design_management/move_spec.rb b/spec/graphql/mutations/design_management/move_spec.rb index d17483e69b33affb46be2d0445392b443dabb5f0..c805dcc9389fc7dc5d64da31809ed4311489cdaa 100644 --- a/spec/graphql/mutations/design_management/move_spec.rb +++ b/spec/graphql/mutations/design_management/move_spec.rb @@ -7,7 +7,7 @@ let_it_be(:issue) { create(:issue) } let_it_be(:designs) { create_list(:design, 3, issue: issue) } - let_it_be(:developer) { create(:user, developer_projects: [issue.project]) } + let_it_be(:developer) { create(:user, developer_of: issue.project) } let(:user) { developer } diff --git a/spec/graphql/mutations/discussions/toggle_resolve_spec.rb b/spec/graphql/mutations/discussions/toggle_resolve_spec.rb index 3f7347798e5959b386d55e267693b3a4add1263f..8aba4e88cef0f953bab6d47ce38361c7100d9af0 100644 --- a/spec/graphql/mutations/discussions/toggle_resolve_spec.rb +++ b/spec/graphql/mutations/discussions/toggle_resolve_spec.rb @@ -35,7 +35,7 @@ end context 'when the user has permission' do - let_it_be(:user) { create(:user, developer_projects: [project]) } + let_it_be(:user) { create(:user, developer_of: project) } context 'when discussion cannot be found' do let(:id_arg) { global_id_of(id: non_existing_record_id, model_name: discussion.class.name) } diff --git a/spec/graphql/resolvers/clusters/agent_activity_events_resolver_spec.rb b/spec/graphql/resolvers/clusters/agent_activity_events_resolver_spec.rb index 5a6b27e43a56bee719c10fa1ef8a5677508db928..6db0a7729bfcacb070ed3be41e42b1c4fcacabaa 100644 --- a/spec/graphql/resolvers/clusters/agent_activity_events_resolver_spec.rb +++ b/spec/graphql/resolvers/clusters/agent_activity_events_resolver_spec.rb @@ -11,7 +11,7 @@ describe '#resolve' do let_it_be(:agent) { create(:cluster_agent) } - let(:user) { create(:user, maintainer_projects: [agent.project]) } + let(:user) { create(:user, maintainer_of: agent.project) } let(:ctx) { { current_user: user } } let(:events) { double } @@ -26,7 +26,7 @@ end context 'user does not have permission' do - let(:user) { create(:user, developer_projects: [agent.project]) } + let(:user) { create(:user, developer_of: agent.project) } it { is_expected.to be_empty } end diff --git a/spec/graphql/resolvers/clusters/agent_tokens_resolver_spec.rb b/spec/graphql/resolvers/clusters/agent_tokens_resolver_spec.rb index afb10b26907ea3edd702242ec8fbc8dab76dcd3c..6d52492a3caa3aa1bda0816d202312bafc3adfb6 100644 --- a/spec/graphql/resolvers/clusters/agent_tokens_resolver_spec.rb +++ b/spec/graphql/resolvers/clusters/agent_tokens_resolver_spec.rb @@ -11,7 +11,7 @@ describe '#resolve' do let(:agent) { create(:cluster_agent) } - let(:user) { create(:user, developer_projects: [agent.project]) } + let(:user) { create(:user, developer_of: agent.project) } let(:ctx) { Hash(current_user: user) } let!(:matching_token1) { create(:cluster_agent_token, agent: agent, last_used_at: 5.days.ago) } diff --git a/spec/graphql/resolvers/clusters/agents/authorizations/ci_access_resolver_spec.rb b/spec/graphql/resolvers/clusters/agents/authorizations/ci_access_resolver_spec.rb index b5280365794a3f19a4737bd9b8215073b96c549d..9ab51a0334a7102734bcd616453a656ae141cbc2 100644 --- a/spec/graphql/resolvers/clusters/agents/authorizations/ci_access_resolver_spec.rb +++ b/spec/graphql/resolvers/clusters/agents/authorizations/ci_access_resolver_spec.rb @@ -11,7 +11,7 @@ describe '#resolve' do let_it_be(:project) { create(:project) } - let_it_be(:user) { create(:user, maintainer_projects: [project]) } + let_it_be(:user) { create(:user, maintainer_of: project) } let(:ctx) { { current_user: user } } diff --git a/spec/graphql/resolvers/clusters/agents/authorizations/user_access_resolver_spec.rb b/spec/graphql/resolvers/clusters/agents/authorizations/user_access_resolver_spec.rb index b7e2fef78eb935e1002aa0bb589e5d64412c7a00..bc53a7c1666b85c1a5c1f16200fd98c92f893058 100644 --- a/spec/graphql/resolvers/clusters/agents/authorizations/user_access_resolver_spec.rb +++ b/spec/graphql/resolvers/clusters/agents/authorizations/user_access_resolver_spec.rb @@ -11,7 +11,7 @@ describe '#resolve' do let_it_be(:project) { create(:project) } - let_it_be(:user) { create(:user, maintainer_projects: [project]) } + let_it_be(:user) { create(:user, maintainer_of: project) } let(:ctx) { { current_user: user } } diff --git a/spec/graphql/resolvers/clusters/agents_resolver_spec.rb b/spec/graphql/resolvers/clusters/agents_resolver_spec.rb index f451a337848c72eae8c5878c0762861f3b51e0c3..c7eceffa1dd553fc965363b5d2acfdcf7474748b 100644 --- a/spec/graphql/resolvers/clusters/agents_resolver_spec.rb +++ b/spec/graphql/resolvers/clusters/agents_resolver_spec.rb @@ -15,7 +15,7 @@ describe '#resolve' do let_it_be(:project) { create(:project) } - let_it_be(:maintainer) { create(:user, developer_projects: [project]) } + let_it_be(:maintainer) { create(:user, developer_of: project) } let_it_be(:reporter) { create(:user) } let_it_be(:agents) { create_list(:cluster_agent, 2, project: project) } diff --git a/spec/graphql/resolvers/kas/agent_configurations_resolver_spec.rb b/spec/graphql/resolvers/kas/agent_configurations_resolver_spec.rb index dc3721d2e8342c06d6d142083b82ab7242f7995b..01f7132576484d35f4046dcd35b6fe8bc1a55258 100644 --- a/spec/graphql/resolvers/kas/agent_configurations_resolver_spec.rb +++ b/spec/graphql/resolvers/kas/agent_configurations_resolver_spec.rb @@ -12,7 +12,7 @@ describe '#resolve' do let_it_be(:project) { create(:project) } - let(:user) { create(:user, maintainer_projects: [project]) } + let(:user) { create(:user, maintainer_of: project) } let(:ctx) { Hash(current_user: user) } let(:agent1) { double } diff --git a/spec/graphql/resolvers/kas/agent_connections_resolver_spec.rb b/spec/graphql/resolvers/kas/agent_connections_resolver_spec.rb index 58333037e4c3bba546897cd178e80276d8155b06..348ca3ccccf031502c9a1514d61854a3ebbc8fa3 100644 --- a/spec/graphql/resolvers/kas/agent_connections_resolver_spec.rb +++ b/spec/graphql/resolvers/kas/agent_connections_resolver_spec.rb @@ -13,7 +13,7 @@ let_it_be(:agent1) { create(:cluster_agent, project: project) } let_it_be(:agent2) { create(:cluster_agent, project: project) } - let(:user) { create(:user, maintainer_projects: [project]) } + let(:user) { create(:user, maintainer_of: project) } let(:ctx) { Hash(current_user: user) } let(:connection1) { double(agent_id: agent1.id) } diff --git a/spec/graphql/resolvers/projects/fork_targets_resolver_spec.rb b/spec/graphql/resolvers/projects/fork_targets_resolver_spec.rb index 07415077d1f55aab984effff03302d55f39b6f2a..f792a0f67031d70ccaf9d432fe05c050b10d3158 100644 --- a/spec/graphql/resolvers/projects/fork_targets_resolver_spec.rb +++ b/spec/graphql/resolvers/projects/fork_targets_resolver_spec.rb @@ -8,7 +8,7 @@ let_it_be(:group) { create(:group, path: 'namespace-group') } let_it_be(:another_group) { create(:group, path: 'namespace-another-group') } let_it_be(:project) { create(:project, :private, group: group) } - let_it_be(:user) { create(:user, username: 'namespace-user', maintainer_projects: [project]) } + let_it_be(:user) { create(:user, username: 'namespace-user', maintainer_of: project) } let(:args) { { search: 'namespace' } } diff --git a/spec/graphql/resolvers/release_milestones_resolver_spec.rb b/spec/graphql/resolvers/release_milestones_resolver_spec.rb index a5a523859f915ceb8b4253590c04bd9d252ab141..e1b0e627927943ba8b75f4113459d33703220685 100644 --- a/spec/graphql/resolvers/release_milestones_resolver_spec.rb +++ b/spec/graphql/resolvers/release_milestones_resolver_spec.rb @@ -6,7 +6,7 @@ include GraphqlHelpers let_it_be(:release) { create(:release, :with_milestones, milestones_count: 2) } - let_it_be(:current_user) { create(:user, developer_projects: [release.project]) } + let_it_be(:current_user) { create(:user, developer_of: release.project) } let(:resolved) do resolve(described_class, obj: release, ctx: { current_user: current_user }) diff --git a/spec/graphql/resolvers/terraform/states_resolver_spec.rb b/spec/graphql/resolvers/terraform/states_resolver_spec.rb index 012c74ce398773df84d5a283f82990346c499a13..ba1288501b9a8f6088793f779680663c23b03790 100644 --- a/spec/graphql/resolvers/terraform/states_resolver_spec.rb +++ b/spec/graphql/resolvers/terraform/states_resolver_spec.rb @@ -16,7 +16,7 @@ let_it_be(:other_state) { create(:terraform_state) } let(:ctx) { Hash(current_user: user) } - let(:user) { create(:user, developer_projects: [project]) } + let(:user) { create(:user, developer_of: project) } subject { resolve(described_class, obj: project, ctx: ctx) } diff --git a/spec/graphql/types/alert_management/prometheus_integration_type_spec.rb b/spec/graphql/types/alert_management/prometheus_integration_type_spec.rb index bfb6958e327194a2e434d27c34adbc12943fdbe8..8c0bb96488fefaaf9c0847d51bdc52df8fd5ff30 100644 --- a/spec/graphql/types/alert_management/prometheus_integration_type_spec.rb +++ b/spec/graphql/types/alert_management/prometheus_integration_type_spec.rb @@ -18,7 +18,7 @@ end let_it_be_with_reload(:integration) { create(:prometheus_integration) } - let_it_be(:user) { create(:user, maintainer_projects: [integration.project]) } + let_it_be(:user) { create(:user, maintainer_of: integration.project) } it_behaves_like 'has field with value', 'name' do let(:value) { integration.title } diff --git a/spec/helpers/commits_helper_spec.rb b/spec/helpers/commits_helper_spec.rb index 49adba22ebee0b9881edc2e2842d93f2ab8fe0da..d9d32303bec836d2b3f906d3d982eecf1f77c51b 100644 --- a/spec/helpers/commits_helper_spec.rb +++ b/spec/helpers/commits_helper_spec.rb @@ -219,7 +219,7 @@ describe '#cherry_pick_projects_data' do let(:project) { create(:project, :repository) } - let(:user) { create(:user, maintainer_projects: [project]) } + let(:user) { create(:user, maintainer_of: project) } let!(:forked_project) { fork_project(project, user, { namespace: user.namespace, repository: true }) } before do diff --git a/spec/helpers/invite_members_helper_spec.rb b/spec/helpers/invite_members_helper_spec.rb index 7cf9ffa06218e245bd3940a82c788337b14661e4..16e4bee47c07aa512b4cf20294462dbe292a45a8 100644 --- a/spec/helpers/invite_members_helper_spec.rb +++ b/spec/helpers/invite_members_helper_spec.rb @@ -7,7 +7,7 @@ let_it_be(:project) { create(:project) } let_it_be(:group) { create(:group, projects: [project]) } - let_it_be(:developer) { create(:user, developer_projects: [project]) } + let_it_be(:developer) { create(:user, developer_of: project) } let(:owner) { project.owner } diff --git a/spec/lib/banzai/filter/references/design_reference_filter_spec.rb b/spec/lib/banzai/filter/references/design_reference_filter_spec.rb index 678d661910180d6c9d92e3a28fc814cd4c054904..ca8afccd836c4c827eddd859728396a7e2bfcdec 100644 --- a/spec/lib/banzai/filter/references/design_reference_filter_spec.rb +++ b/spec/lib/banzai/filter/references/design_reference_filter_spec.rb @@ -9,7 +9,7 @@ let_it_be(:issue) { create(:issue, iid: 10) } let_it_be(:issue_proj_2) { create(:issue, iid: 20) } let_it_be(:issue_b) { create(:issue, project: issue.project) } - let_it_be(:developer) { create(:user, developer_projects: [issue.project, issue_proj_2.project]) } + let_it_be(:developer) { create(:user, developer_of: [issue.project, issue_proj_2.project]) } let_it_be(:design_a) { create(:design, :with_versions, issue: issue) } let_it_be(:design_b) { create(:design, :with_versions, issue: issue_b) } let_it_be(:design_proj_2) { create(:design, :with_versions, issue: issue_proj_2) } diff --git a/spec/lib/banzai/reference_parser/design_parser_spec.rb b/spec/lib/banzai/reference_parser/design_parser_spec.rb index c490cf5b36d27fa04fd365c1a7927aefee33e1e2..ef4eb53d2067128af9782d5347f738f3a23ac7fe 100644 --- a/spec/lib/banzai/reference_parser/design_parser_spec.rb +++ b/spec/lib/banzai/reference_parser/design_parser_spec.rb @@ -8,7 +8,7 @@ let_it_be(:issue) { create(:issue) } let_it_be(:design) { create(:design, :with_versions, issue: issue) } - let_it_be(:user) { create(:user, developer_projects: [issue.project]) } + let_it_be(:user) { create(:user, developer_of: issue.project) } subject(:instance) { described_class.new(Banzai::RenderContext.new(issue.project, user)) } diff --git a/spec/lib/gitlab/ci/pipeline/chain/build/associations_spec.rb b/spec/lib/gitlab/ci/pipeline/chain/build/associations_spec.rb index b2128f779607a7895dda206c1e6589112aa647ed..81d0bea57479cf0d034399209329d71e0cfff573 100644 --- a/spec/lib/gitlab/ci/pipeline/chain/build/associations_spec.rb +++ b/spec/lib/gitlab/ci/pipeline/chain/build/associations_spec.rb @@ -4,7 +4,7 @@ RSpec.describe Gitlab::Ci::Pipeline::Chain::Build::Associations, feature_category: :continuous_integration do let_it_be_with_reload(:project) { create(:project, :repository) } - let_it_be(:user) { create(:user, developer_projects: [project]) } + let_it_be(:user) { create(:user, developer_of: project) } # Assigning partition_id here to validate it is being propagated correctly let(:pipeline) { Ci::Pipeline.new(partition_id: ci_testing_partition_id) } diff --git a/spec/lib/gitlab/ci/pipeline/chain/build_spec.rb b/spec/lib/gitlab/ci/pipeline/chain/build_spec.rb index dca2204f544deca7afa76c05dbfa36c9e5a2527c..4201095aeed685e3da5d38c67e0e5d9e111d04a1 100644 --- a/spec/lib/gitlab/ci/pipeline/chain/build_spec.rb +++ b/spec/lib/gitlab/ci/pipeline/chain/build_spec.rb @@ -4,7 +4,7 @@ RSpec.describe Gitlab::Ci::Pipeline::Chain::Build do let_it_be(:project, reload: true) { create(:project, :repository) } - let_it_be(:user) { create(:user, developer_projects: [project]) } + let_it_be(:user) { create(:user, developer_of: project) } let(:pipeline) { Ci::Pipeline.new } diff --git a/spec/lib/gitlab/ci/pipeline/chain/seed_block_spec.rb b/spec/lib/gitlab/ci/pipeline/chain/seed_block_spec.rb index 5ee96b0baa84bbcc24a95b381081a66f63e39f9d..35b07075bca2470733d7b2e36ae7c3b003ae5eb8 100644 --- a/spec/lib/gitlab/ci/pipeline/chain/seed_block_spec.rb +++ b/spec/lib/gitlab/ci/pipeline/chain/seed_block_spec.rb @@ -4,7 +4,7 @@ RSpec.describe Gitlab::Ci::Pipeline::Chain::SeedBlock do let(:project) { create(:project, :repository) } - let(:user) { create(:user, developer_projects: [project]) } + let(:user) { create(:user, developer_of: project) } let(:seeds_block) {} let(:command) do diff --git a/spec/lib/gitlab/ci/pipeline/chain/seed_spec.rb b/spec/lib/gitlab/ci/pipeline/chain/seed_spec.rb index 323bab89e6ac1fd211be96937f1a26d417470a04..a8358f3910dc1c2e7e8e8d1375169268a03d99a6 100644 --- a/spec/lib/gitlab/ci/pipeline/chain/seed_spec.rb +++ b/spec/lib/gitlab/ci/pipeline/chain/seed_spec.rb @@ -4,7 +4,7 @@ RSpec.describe Gitlab::Ci::Pipeline::Chain::Seed do let_it_be(:project) { create(:project, :repository) } - let_it_be(:user) { create(:user, developer_projects: [project]) } + let_it_be(:user) { create(:user, developer_of: project) } let(:seeds_block) {} let(:command) { initialize_command } diff --git a/spec/lib/gitlab/graphql/loaders/issuable_loader_spec.rb b/spec/lib/gitlab/graphql/loaders/issuable_loader_spec.rb index 33a9d40931ef3f0fdfa865ee9ab2b46328437d1f..4475bdaa1816f2c83b48c8c434bb6044de7f7fce 100644 --- a/spec/lib/gitlab/graphql/loaders/issuable_loader_spec.rb +++ b/spec/lib/gitlab/graphql/loaders/issuable_loader_spec.rb @@ -71,7 +71,7 @@ def params_class issue_c = create(:issue, project: issue_a.project) proj_1 = issue_a.project proj_2 = issue_b.project - user = create(:user, developer_projects: [proj_1, proj_2]) + user = create(:user, developer_of: [proj_1, proj_2]) finder_a = finder_class.new(user, iids: [issue_a.iid]) finder_b = finder_class.new(user, iids: [issue_b.iid]) diff --git a/spec/policies/terraform/state_policy_spec.rb b/spec/policies/terraform/state_policy_spec.rb index d75e20a2c66787ac6bf8f353e2cf54dfb738f1d0..fad6d35ea0818a2d8c3907e9d103fc5c243cc62d 100644 --- a/spec/policies/terraform/state_policy_spec.rb +++ b/spec/policies/terraform/state_policy_spec.rb @@ -17,14 +17,14 @@ end context 'developer' do - let(:user) { create(:user, developer_projects: [project]) } + let(:user) { create(:user, developer_of: project) } it { is_expected.to be_allowed(:read_terraform_state) } it { is_expected.to be_disallowed(:admin_terraform_state) } end context 'maintainer' do - let(:user) { create(:user, maintainer_projects: [project]) } + let(:user) { create(:user, maintainer_of: project) } it { is_expected.to be_allowed(:read_terraform_state) } it { is_expected.to be_allowed(:admin_terraform_state) } diff --git a/spec/policies/terraform/state_version_policy_spec.rb b/spec/policies/terraform/state_version_policy_spec.rb index 4d41dd4445508205811ab56bcbc8a163c4b6acc1..af82c11d5038e1980f469485619f8ed22ae4260c 100644 --- a/spec/policies/terraform/state_version_policy_spec.rb +++ b/spec/policies/terraform/state_version_policy_spec.rb @@ -17,14 +17,14 @@ end context 'developer' do - let(:user) { create(:user, developer_projects: [project]) } + let(:user) { create(:user, developer_of: project) } it { is_expected.to be_allowed(:read_terraform_state) } it { is_expected.to be_disallowed(:admin_terraform_state) } end context 'maintainer' do - let(:user) { create(:user, maintainer_projects: [project]) } + let(:user) { create(:user, maintainer_of: project) } it { is_expected.to be_allowed(:read_terraform_state) } it { is_expected.to be_allowed(:admin_terraform_state) } diff --git a/spec/requests/api/graphql/group/merge_requests_spec.rb b/spec/requests/api/graphql/group/merge_requests_spec.rb index adaee3031a95c0c82b6e2d7f7a556be0c9d844cc..207ff360b2ffd34b8f22243652f46a4186bf4c8d 100644 --- a/spec/requests/api/graphql/group/merge_requests_spec.rb +++ b/spec/requests/api/graphql/group/merge_requests_spec.rb @@ -14,7 +14,7 @@ let_it_be(:project_b) { create(:project, :repository, group: group) } let_it_be(:project_c) { create(:project, :repository, group: sub_group) } let_it_be(:project_x) { create(:project, :repository) } - let_it_be(:user) { create(:user, developer_projects: [project_x]) } + let_it_be(:user) { create(:user, developer_of: project_x) } let_it_be(:archived_project) { create(:project, :archived, :repository, group: group) } let_it_be(:archived_mr) { create(:merge_request, source_project: archived_project) } diff --git a/spec/requests/api/graphql/mutations/container_registry/protection/rule/create_spec.rb b/spec/requests/api/graphql/mutations/container_registry/protection/rule/create_spec.rb index 25488d4a3fd2f5adaf37e426b3c8c7744ae70633..e0e5d42ff9d4c7c84772fa22d8982b16da4a0a71 100644 --- a/spec/requests/api/graphql/mutations/container_registry/protection/rule/create_spec.rb +++ b/spec/requests/api/graphql/mutations/container_registry/protection/rule/create_spec.rb @@ -6,7 +6,7 @@ include GraphqlHelpers let_it_be(:project) { create(:project) } - let_it_be(:user) { create(:user, maintainer_projects: [project]) } + let_it_be(:user) { create(:user, maintainer_of: project) } let(:container_registry_protection_rule_attributes) do build_stubbed(:container_registry_protection_rule, project: project) diff --git a/spec/requests/api/graphql/mutations/container_registry/protection/rule/delete_spec.rb b/spec/requests/api/graphql/mutations/container_registry/protection/rule/delete_spec.rb index 6de38efdf54005a14ac4951d72853e519834bb84..1321c6dd4981ffed540598254efedb7b5aaac97a 100644 --- a/spec/requests/api/graphql/mutations/container_registry/protection/rule/delete_spec.rb +++ b/spec/requests/api/graphql/mutations/container_registry/protection/rule/delete_spec.rb @@ -10,7 +10,7 @@ create(:container_registry_protection_rule, project: project) end - let_it_be(:current_user) { create(:user, maintainer_projects: [project]) } + let_it_be(:current_user) { create(:user, maintainer_of: project) } let(:mutation) { graphql_mutation(:delete_container_registry_protection_rule, input) } let(:mutation_response) { graphql_mutation_response(:delete_container_registry_protection_rule) } diff --git a/spec/requests/api/graphql/mutations/container_registry/protection/rule/update_spec.rb b/spec/requests/api/graphql/mutations/container_registry/protection/rule/update_spec.rb index 196be2aacb9f37c7455c5f15b180f044bd24c78d..ebf3a152e2efda6afd747f0a661eb9435852954b 100644 --- a/spec/requests/api/graphql/mutations/container_registry/protection/rule/update_spec.rb +++ b/spec/requests/api/graphql/mutations/container_registry/protection/rule/update_spec.rb @@ -10,7 +10,7 @@ create(:container_registry_protection_rule, project: project, push_protected_up_to_access_level: :developer) end - let_it_be(:current_user) { create(:user, maintainer_projects: [project]) } + let_it_be(:current_user) { create(:user, maintainer_of: project) } let(:container_registry_protection_rule_attributes) do build_stubbed(:container_registry_protection_rule, project: project) diff --git a/spec/requests/api/graphql/mutations/design_management/move_spec.rb b/spec/requests/api/graphql/mutations/design_management/move_spec.rb index 27b5259c56b621dd1b12c08b6342f5103a6acd73..0a62089bdf48565a3d7babd7e8eabc676fcdc529 100644 --- a/spec/requests/api/graphql/mutations/design_management/move_spec.rb +++ b/spec/requests/api/graphql/mutations/design_management/move_spec.rb @@ -7,7 +7,7 @@ let_it_be(:issue) { create(:issue) } let_it_be(:designs) { create_list(:design, 3, :with_versions, :with_relative_position, issue: issue) } - let_it_be(:developer) { create(:user, developer_projects: [issue.project]) } + let_it_be(:developer) { create(:user, developer_of: issue.project) } let(:user) { developer } diff --git a/spec/requests/api/graphql/mutations/design_management/update_spec.rb b/spec/requests/api/graphql/mutations/design_management/update_spec.rb index 9558f2538f1904e20ec3057e6b665cddbb19ea8a..99f424ca4fcf55aecabf12d56778c6522a82ff94 100644 --- a/spec/requests/api/graphql/mutations/design_management/update_spec.rb +++ b/spec/requests/api/graphql/mutations/design_management/update_spec.rb @@ -8,7 +8,7 @@ let_it_be(:issue) { create(:issue) } let_it_be_with_reload(:design) { create(:design, description: 'old description', issue: issue) } - let_it_be(:developer) { create(:user, developer_projects: [issue.project]) } + let_it_be(:developer) { create(:user, developer_of: issue.project) } let(:user) { developer } let(:description) { 'new description' } diff --git a/spec/requests/api/graphql/mutations/discussions/toggle_resolve_spec.rb b/spec/requests/api/graphql/mutations/discussions/toggle_resolve_spec.rb index 16d3bbb6518c35f32f144a22d17cd88ae6b86dc3..ce34521b0b7ba1e767eb8fc96edd559a3c348e19 100644 --- a/spec/requests/api/graphql/mutations/discussions/toggle_resolve_spec.rb +++ b/spec/requests/api/graphql/mutations/discussions/toggle_resolve_spec.rb @@ -25,7 +25,7 @@ end context 'when user has permission' do - let_it_be(:current_user) { create(:user, developer_projects: [project]) } + let_it_be(:current_user) { create(:user, developer_of: project) } it 'returns the discussion without errors', :aggregate_failures do post_graphql_mutation(mutation, current_user: current_user) diff --git a/spec/requests/api/graphql/mutations/merge_requests/set_assignees_spec.rb b/spec/requests/api/graphql/mutations/merge_requests/set_assignees_spec.rb index c0ce85723680088e31984ad173662395b816281f..8185ed0d0e7f425fbfc6dae33bfefff6fca470e4 100644 --- a/spec/requests/api/graphql/mutations/merge_requests/set_assignees_spec.rb +++ b/spec/requests/api/graphql/mutations/merge_requests/set_assignees_spec.rb @@ -6,7 +6,7 @@ include GraphqlHelpers let_it_be(:project) { create(:project, :repository) } - let_it_be(:current_user) { create(:user, developer_projects: [project]) } + let_it_be(:current_user) { create(:user, developer_of: project) } let_it_be(:assignee) { create(:user) } let_it_be(:assignee2) { create(:user) } let_it_be_with_reload(:merge_request) { create(:merge_request, source_project: project) } diff --git a/spec/requests/api/graphql/mutations/merge_requests/set_reviewers_spec.rb b/spec/requests/api/graphql/mutations/merge_requests/set_reviewers_spec.rb index c9efba689c2ade92c5350656eafac677dcaa5fa1..374d8466bad8bb4d9b33452353695d05721bf8a2 100644 --- a/spec/requests/api/graphql/mutations/merge_requests/set_reviewers_spec.rb +++ b/spec/requests/api/graphql/mutations/merge_requests/set_reviewers_spec.rb @@ -6,7 +6,7 @@ include GraphqlHelpers let_it_be(:project) { create(:project, :repository) } - let_it_be(:current_user) { create(:user, developer_projects: [project]) } + let_it_be(:current_user) { create(:user, developer_of: project) } let_it_be(:reviewer) { create(:user) } let_it_be(:reviewer2) { create(:user) } let_it_be_with_reload(:merge_request) { create(:merge_request, source_project: project) } diff --git a/spec/requests/api/graphql/mutations/packages/protection/rule/create_spec.rb b/spec/requests/api/graphql/mutations/packages/protection/rule/create_spec.rb index ae5b6a5af95d6afe2908fb1a956733cdb1ac2414..d2a0c4f30a1b27718f827b5ae0d1c3afc61b28ee 100644 --- a/spec/requests/api/graphql/mutations/packages/protection/rule/create_spec.rb +++ b/spec/requests/api/graphql/mutations/packages/protection/rule/create_spec.rb @@ -6,7 +6,7 @@ include GraphqlHelpers let_it_be(:project) { create(:project) } - let_it_be(:user) { create(:user, maintainer_projects: [project]) } + let_it_be(:user) { create(:user, maintainer_of: project) } let(:package_protection_rule_attributes) { build_stubbed(:package_protection_rule, project: project) } diff --git a/spec/requests/api/graphql/mutations/packages/protection/rule/delete_spec.rb b/spec/requests/api/graphql/mutations/packages/protection/rule/delete_spec.rb index 6c300f8ce573585e0d5a44f6ad35f6f1e25647bb..a0da7205e7a6af3f34902d12f750879ba8cea21d 100644 --- a/spec/requests/api/graphql/mutations/packages/protection/rule/delete_spec.rb +++ b/spec/requests/api/graphql/mutations/packages/protection/rule/delete_spec.rb @@ -7,7 +7,7 @@ let_it_be(:project) { create(:project, :repository) } let_it_be_with_refind(:package_protection_rule) { create(:package_protection_rule, project: project) } - let_it_be(:current_user) { create(:user, maintainer_projects: [project]) } + let_it_be(:current_user) { create(:user, maintainer_of: project) } let(:mutation) { graphql_mutation(:delete_packages_protection_rule, input) } let(:mutation_response) { graphql_mutation_response(:delete_packages_protection_rule) } diff --git a/spec/requests/api/graphql/mutations/packages/protection/rule/update_spec.rb b/spec/requests/api/graphql/mutations/packages/protection/rule/update_spec.rb index efc919062d62d3a747571f23fdf06453670fbb14..3fad74c59c7f467db670335b4119e1337a886033 100644 --- a/spec/requests/api/graphql/mutations/packages/protection/rule/update_spec.rb +++ b/spec/requests/api/graphql/mutations/packages/protection/rule/update_spec.rb @@ -10,7 +10,7 @@ create(:package_protection_rule, project: project, push_protected_up_to_access_level: :developer) end - let_it_be(:current_user) { create(:user, maintainer_projects: [project]) } + let_it_be(:current_user) { create(:user, maintainer_of: project) } let(:package_protection_rule_attributes) { build_stubbed(:package_protection_rule, project: project) } diff --git a/spec/requests/api/graphql/mutations/projects/sync_fork_spec.rb b/spec/requests/api/graphql/mutations/projects/sync_fork_spec.rb index 0745fb945bb1e443a74961f49cde753f7adeaf4e..4eb7057add2d984f634a899944a994a32f5c5eb4 100644 --- a/spec/requests/api/graphql/mutations/projects/sync_fork_spec.rb +++ b/spec/requests/api/graphql/mutations/projects/sync_fork_spec.rb @@ -8,7 +8,7 @@ include ExclusiveLeaseHelpers let_it_be(:source_project) { create(:project, :repository, :public) } - let_it_be(:current_user) { create(:user, maintainer_projects: [source_project]) } + let_it_be(:current_user) { create(:user, maintainer_of: source_project) } let_it_be(:project, refind: true) { fork_project(source_project, current_user, { repository: true }) } let_it_be(:target_branch) { project.default_branch } diff --git a/spec/requests/api/graphql/project/cluster_agents_spec.rb b/spec/requests/api/graphql/project/cluster_agents_spec.rb index 104f4f41cba4a42a913f70dbda22822734c15fbf..338052d2a9e8176600510aff3e20c57eac1192d6 100644 --- a/spec/requests/api/graphql/project/cluster_agents_spec.rb +++ b/spec/requests/api/graphql/project/cluster_agents_spec.rb @@ -6,7 +6,7 @@ include GraphqlHelpers let_it_be(:project) { create(:project, :public) } - let_it_be(:current_user) { create(:user, maintainer_projects: [project]) } + let_it_be(:current_user) { create(:user, maintainer_of: project) } let_it_be(:agents) { create_list(:cluster_agent, 3, project: project) } let(:first) { var('Int') } diff --git a/spec/requests/api/graphql/project/flow_metrics_spec.rb b/spec/requests/api/graphql/project/flow_metrics_spec.rb index 3b5758b3a2ed776528aa4be9cd9cd51db43a03f0..3bf95da7d68f1d9698f55b597a2cca0c63025df0 100644 --- a/spec/requests/api/graphql/project/flow_metrics_spec.rb +++ b/spec/requests/api/graphql/project/flow_metrics_spec.rb @@ -12,7 +12,7 @@ let_it_be(:project2) { project1 } let_it_be(:production_environment1) { create(:environment, :production, project: project1) } let_it_be(:production_environment2) { production_environment1 } - let_it_be(:current_user) { create(:user, maintainer_projects: [project1]) } + let_it_be(:current_user) { create(:user, maintainer_of: project1) } let(:full_path) { project1.full_path } let(:context) { :project } diff --git a/spec/requests/api/graphql/project/fork_details_spec.rb b/spec/requests/api/graphql/project/fork_details_spec.rb index 91a04dc7c50a5b3daa74cee01a38e672c6dd5b6f..7a63ce57b0a31e535ad629eba9f45391ed8ea3c3 100644 --- a/spec/requests/api/graphql/project/fork_details_spec.rb +++ b/spec/requests/api/graphql/project/fork_details_spec.rb @@ -7,7 +7,7 @@ include ProjectForksHelper let_it_be(:project) { create(:project, :public, :repository_private, :repository) } - let_it_be(:current_user) { create(:user, maintainer_projects: [project]) } + let_it_be(:current_user) { create(:user, maintainer_of: project) } let_it_be(:forked_project) { fork_project(project, current_user, repository: true) } let(:ref) { 'feature' } diff --git a/spec/requests/api/graphql/project/fork_targets_spec.rb b/spec/requests/api/graphql/project/fork_targets_spec.rb index f2a3901b2c68073523b728588372f124ca695e54..46c33666cfc789a19ea2cc2534cdd465a8bf6e9d 100644 --- a/spec/requests/api/graphql/project/fork_targets_spec.rb +++ b/spec/requests/api/graphql/project/fork_targets_spec.rb @@ -8,7 +8,7 @@ let_it_be(:group) { create(:group) } let_it_be(:another_group) { create(:group) } let_it_be(:project) { create(:project, :private, group: group) } - let_it_be(:user) { create(:user, developer_projects: [project]) } + let_it_be(:user) { create(:user, developer_of: project) } let(:current_user) { user } let(:fields) do diff --git a/spec/requests/api/graphql/terraform/state/delete_spec.rb b/spec/requests/api/graphql/terraform/state/delete_spec.rb index f4af402492c360af0029047ce4272bb5060adbf1..7d6cbfd8a70dca1ba64b26004ff6079844a64783 100644 --- a/spec/requests/api/graphql/terraform/state/delete_spec.rb +++ b/spec/requests/api/graphql/terraform/state/delete_spec.rb @@ -6,7 +6,7 @@ include GraphqlHelpers let_it_be(:project) { create(:project) } - let_it_be(:user) { create(:user, maintainer_projects: [project]) } + let_it_be(:user) { create(:user, maintainer_of: project) } let(:state) { create(:terraform_state, project: project) } let(:mutation) { graphql_mutation(:terraform_state_delete, id: state.to_global_id.to_s) } diff --git a/spec/requests/api/graphql/terraform/state/lock_spec.rb b/spec/requests/api/graphql/terraform/state/lock_spec.rb index 4219f4f4651e5fff4d92bf0c569500647e361103..d0332b7ad64b4247d51cf55d3d34eea2f45d1445 100644 --- a/spec/requests/api/graphql/terraform/state/lock_spec.rb +++ b/spec/requests/api/graphql/terraform/state/lock_spec.rb @@ -6,7 +6,7 @@ include GraphqlHelpers let_it_be(:project) { create(:project) } - let_it_be(:user) { create(:user, maintainer_projects: [project]) } + let_it_be(:user) { create(:user, maintainer_of: project) } let(:state) { create(:terraform_state, project: project) } let(:mutation) { graphql_mutation(:terraform_state_lock, id: state.to_global_id.to_s) } diff --git a/spec/requests/api/graphql/terraform/state/unlock_spec.rb b/spec/requests/api/graphql/terraform/state/unlock_spec.rb index 84ccc09711d4c5870b910c241bf668c8e931f03c..f8416bb80267810dec88df1a8b8a75a5ec3b5d8e 100644 --- a/spec/requests/api/graphql/terraform/state/unlock_spec.rb +++ b/spec/requests/api/graphql/terraform/state/unlock_spec.rb @@ -6,7 +6,7 @@ include GraphqlHelpers let_it_be(:project) { create(:project) } - let_it_be(:user) { create(:user, maintainer_projects: [project]) } + let_it_be(:user) { create(:user, maintainer_of: project) } let(:state) { create(:terraform_state, :locked, project: project) } let(:mutation) { graphql_mutation(:terraform_state_unlock, id: state.to_global_id.to_s) } diff --git a/spec/requests/api/graphql/user_query_spec.rb b/spec/requests/api/graphql/user_query_spec.rb index feb405b33ffaa7235d5b12124cd36bd7c2a008ef..81877e84415c509b92535bbcf7256959eb76f582 100644 --- a/spec/requests/api/graphql/user_query_spec.rb +++ b/spec/requests/api/graphql/user_query_spec.rb @@ -24,8 +24,8 @@ context 'looking up a user by username' do let_it_be(:project_a) { create(:project, :repository) } let_it_be(:project_b) { create(:project, :repository) } - let_it_be(:user, reload: true) { create(:user, developer_projects: [project_a, project_b]) } - let_it_be(:authorised_user) { create(:user, developer_projects: [project_a, project_b]) } + let_it_be(:user, reload: true) { create(:user, developer_of: [project_a, project_b]) } + let_it_be(:authorised_user) { create(:user, developer_of: [project_a, project_b]) } let_it_be(:unauthorized_user) { create(:user) } let_it_be(:assigned_mr) do diff --git a/spec/requests/api/project_snippets_spec.rb b/spec/requests/api/project_snippets_spec.rb index f0aa61c688b8e57de4101de26a3561ea8773152a..1d9280c7d6bcf7727ea28ac996c1958bce925e95 100644 --- a/spec/requests/api/project_snippets_spec.rb +++ b/spec/requests/api/project_snippets_spec.rb @@ -7,8 +7,8 @@ let_it_be(:project) { create(:project, :public) } let_it_be(:project_no_snippets) { create(:project, :snippets_disabled) } - let_it_be(:user) { create(:user, developer_projects: [project_no_snippets]) } - let_it_be(:admin) { create(:admin, developer_projects: [project_no_snippets]) } + let_it_be(:user) { create(:user, developer_of: project_no_snippets) } + let_it_be(:admin) { create(:admin, developer_of: project_no_snippets) } let_it_be(:public_snippet, reload: true) { create(:project_snippet, :public, :repository, project: project) } describe "GET /projects/:project_id/snippets/:id/user_agent_detail" do diff --git a/spec/requests/api/terraform/state_spec.rb b/spec/requests/api/terraform/state_spec.rb index c919de3193c7b1e9e5937148b9dd1706aee22197..88ebf2313f6af30f6e65278f1c2dfb40a8cbcfec 100644 --- a/spec/requests/api/terraform/state_spec.rb +++ b/spec/requests/api/terraform/state_spec.rb @@ -6,8 +6,8 @@ include HttpBasicAuthHelpers let_it_be(:project) { create(:project) } - let_it_be(:developer) { create(:user, developer_projects: [project]) } - let_it_be(:maintainer) { create(:user, maintainer_projects: [project]) } + let_it_be(:developer) { create(:user, developer_of: project) } + let_it_be(:maintainer) { create(:user, maintainer_of: project) } let(:current_user) { maintainer } let(:auth_header) { user_basic_auth_header(current_user) } diff --git a/spec/requests/api/terraform/state_version_spec.rb b/spec/requests/api/terraform/state_version_spec.rb index 94fd29844354689885a78ac04b63e96c79b7175f..46341be0e3867398262b5e0b4a9eeb16fd553c4f 100644 --- a/spec/requests/api/terraform/state_version_spec.rb +++ b/spec/requests/api/terraform/state_version_spec.rb @@ -6,8 +6,8 @@ include HttpBasicAuthHelpers let_it_be(:project) { create(:project) } - let_it_be(:developer) { create(:user, developer_projects: [project]) } - let_it_be(:maintainer) { create(:user, maintainer_projects: [project]) } + let_it_be(:developer) { create(:user, developer_of: project) } + let_it_be(:maintainer) { create(:user, maintainer_of: project) } let_it_be(:user_without_access) { create(:user) } let_it_be_with_reload(:state) { create(:terraform_state, project: project) } diff --git a/spec/requests/projects/integrations/slash_commands_controller_spec.rb b/spec/requests/projects/integrations/slash_commands_controller_spec.rb index 3d61f882bdf02f0df3c5e25a57dfe24d9d71f2d3..f64ed7db40e11a84186b5ad5cd4b0473884dc90a 100644 --- a/spec/requests/projects/integrations/slash_commands_controller_spec.rb +++ b/spec/requests/projects/integrations/slash_commands_controller_spec.rb @@ -4,7 +4,7 @@ RSpec.describe ::Projects::Integrations::SlashCommandsController, feature_category: :integrations do let_it_be(:project) { create(:project) } - let_it_be(:user) { create(:user, developer_projects: [project]) } + let_it_be(:user) { create(:user, developer_of: project) } let_it_be(:chat_name) { create(:chat_name, user: user) } let(:params) do diff --git a/spec/serializers/issue_sidebar_basic_entity_spec.rb b/spec/serializers/issue_sidebar_basic_entity_spec.rb index a7e7730516ac2abbfe9f57ac78546e395cd1e0f5..bd885afefe61817e634184fa1902d9c5f1d52ddc 100644 --- a/spec/serializers/issue_sidebar_basic_entity_spec.rb +++ b/spec/serializers/issue_sidebar_basic_entity_spec.rb @@ -5,7 +5,7 @@ RSpec.describe IssueSidebarBasicEntity do let_it_be(:group) { create(:group) } let_it_be(:project) { create(:project, :repository, group: group) } - let_it_be(:user) { create(:user, developer_projects: [project]) } + let_it_be(:user) { create(:user, developer_of: project) } let_it_be_with_reload(:issue) { create(:issue, project: project, assignees: [user]) } let(:serializer) { IssueSerializer.new(current_user: user, project: project) } diff --git a/spec/services/ci/enqueue_job_service_spec.rb b/spec/services/ci/enqueue_job_service_spec.rb index 859836511482116a12177f73c982499cfe50cb48..455349934de9ea9e3b27521ef600502a97bd476f 100644 --- a/spec/services/ci/enqueue_job_service_spec.rb +++ b/spec/services/ci/enqueue_job_service_spec.rb @@ -4,7 +4,7 @@ RSpec.describe Ci::EnqueueJobService, '#execute', feature_category: :continuous_integration do let_it_be(:project) { create(:project) } - let(:user) { create(:user, developer_projects: [project]) } + let(:user) { create(:user, developer_of: project) } let(:pipeline) { create(:ci_pipeline, project: project) } let(:build) { create(:ci_build, :manual, pipeline: pipeline) } diff --git a/spec/services/ci/play_build_service_spec.rb b/spec/services/ci/play_build_service_spec.rb index c5651dc45024d225ac641fcd81c3867346a35fbd..9e3baf662ea564f13a901e04729ad90b6017473f 100644 --- a/spec/services/ci/play_build_service_spec.rb +++ b/spec/services/ci/play_build_service_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' RSpec.describe Ci::PlayBuildService, '#execute', feature_category: :continuous_integration do - let(:user) { create(:user, developer_projects: [project]) } + let(:user) { create(:user, developer_of: project) } let(:project) { create(:project) } let(:pipeline) { create(:ci_pipeline, project: project) } let(:build) { create(:ci_build, :manual, pipeline: pipeline) } diff --git a/spec/services/container_registry/protection/create_rule_service_spec.rb b/spec/services/container_registry/protection/create_rule_service_spec.rb index 6ba7bc7bc57b2e697184a53c8ed35332081cc6fa..ca1d0a0490463d4be5d192a00b8da54163d1dc9f 100644 --- a/spec/services/container_registry/protection/create_rule_service_spec.rb +++ b/spec/services/container_registry/protection/create_rule_service_spec.rb @@ -4,7 +4,7 @@ RSpec.describe ContainerRegistry::Protection::CreateRuleService, '#execute', feature_category: :container_registry do let_it_be(:project) { create(:project, :repository) } - let_it_be(:current_user) { create(:user, maintainer_projects: [project]) } + let_it_be(:current_user) { create(:user, maintainer_of: project) } let(:service) { described_class.new(project, current_user, params) } let(:params) { attributes_for(:container_registry_protection_rule, project: project) } diff --git a/spec/services/container_registry/protection/delete_rule_service_spec.rb b/spec/services/container_registry/protection/delete_rule_service_spec.rb index f8712cf7fc2bf2ebc8f9e17f61cf19a2fbbe60ec..ffd581eb6cd8b367dc1f6157c40485763dfbfefc 100644 --- a/spec/services/container_registry/protection/delete_rule_service_spec.rb +++ b/spec/services/container_registry/protection/delete_rule_service_spec.rb @@ -4,7 +4,7 @@ RSpec.describe ContainerRegistry::Protection::DeleteRuleService, '#execute', feature_category: :container_registry do let_it_be(:project) { create(:project) } - let_it_be(:current_user) { create(:user, maintainer_projects: [project]) } + let_it_be(:current_user) { create(:user, maintainer_of: project) } let_it_be_with_refind(:container_registry_protection_rule) do create(:container_registry_protection_rule, project: project) end diff --git a/spec/services/container_registry/protection/update_rule_service_spec.rb b/spec/services/container_registry/protection/update_rule_service_spec.rb index 4f8fc3796ff29b0fc3c6a4b0363dba0792cc2969..068c19d3bc847e85fad162623e69fde8ed31d7d4 100644 --- a/spec/services/container_registry/protection/update_rule_service_spec.rb +++ b/spec/services/container_registry/protection/update_rule_service_spec.rb @@ -4,7 +4,7 @@ RSpec.describe ContainerRegistry::Protection::UpdateRuleService, '#execute', feature_category: :container_registry do let_it_be(:project) { create(:project, :repository) } - let_it_be(:current_user) { create(:user, maintainer_projects: [project]) } + let_it_be(:current_user) { create(:user, maintainer_of: project) } let_it_be_with_reload(:container_registry_protection_rule) do create(:container_registry_protection_rule, project: project) end diff --git a/spec/services/design_management/move_designs_service_spec.rb b/spec/services/design_management/move_designs_service_spec.rb index 8276d8d186afdb9e26621a67ae19604f073339d5..cdd5fe059ef8203f46dfa5a7a1233c7dbe38a9c8 100644 --- a/spec/services/design_management/move_designs_service_spec.rb +++ b/spec/services/design_management/move_designs_service_spec.rb @@ -5,7 +5,7 @@ include DesignManagementTestHelpers let_it_be(:issue) { create(:issue) } - let_it_be(:developer) { create(:user, developer_projects: [issue.project]) } + let_it_be(:developer) { create(:user, developer_of: issue.project) } let_it_be(:designs) { create_list(:design, 3, :with_relative_position, issue: issue) } let(:project) { issue.project } diff --git a/spec/services/discussions/resolve_service_spec.rb b/spec/services/discussions/resolve_service_spec.rb index 88ef390bb02e4d4a3cc3ecc6ff32aed0ec0936e0..17d74f7a203cfe9a0e74abf58ce08138e878b545 100644 --- a/spec/services/discussions/resolve_service_spec.rb +++ b/spec/services/discussions/resolve_service_spec.rb @@ -5,7 +5,7 @@ RSpec.describe Discussions::ResolveService, feature_category: :code_review_workflow do describe '#execute' do let_it_be(:project) { create(:project, :repository) } - let_it_be(:user) { create(:user, developer_projects: [project]) } + let_it_be(:user) { create(:user, developer_of: project) } let_it_be(:merge_request) { create(:merge_request, :merge_when_pipeline_succeeds, source_project: project) } let(:discussion) { create(:diff_note_on_merge_request, noteable: merge_request, project: project).to_discussion } diff --git a/spec/services/discussions/unresolve_service_spec.rb b/spec/services/discussions/unresolve_service_spec.rb index e9f58e4e10eb13d994526e89e1e1f881616d596e..a9eb4d8a992eac2c59383d99d0cf424da7fb4e60 100644 --- a/spec/services/discussions/unresolve_service_spec.rb +++ b/spec/services/discussions/unresolve_service_spec.rb @@ -5,7 +5,7 @@ RSpec.describe Discussions::UnresolveService, feature_category: :code_review_workflow do describe "#execute" do let_it_be(:project) { create(:project, :repository) } - let_it_be(:user) { create(:user, developer_projects: [project]) } + let_it_be(:user) { create(:user, developer_of: project) } let_it_be(:merge_request) { create(:merge_request, :merge_when_pipeline_succeeds, source_project: project) } let(:discussion) { create(:diff_note_on_merge_request, noteable: merge_request, project: project).to_discussion } diff --git a/spec/services/integrations/slack_interactions/incident_management/incident_modal_opened_service_spec.rb b/spec/services/integrations/slack_interactions/incident_management/incident_modal_opened_service_spec.rb index 2a1aa0aabecf2a688910c7756e8e0cef8685b3c8..46a4bc52836c42b3f8e3075a5206ec8aa6875aba 100644 --- a/spec/services/integrations/slack_interactions/incident_management/incident_modal_opened_service_spec.rb +++ b/spec/services/integrations/slack_interactions/incident_management/incident_modal_opened_service_spec.rb @@ -7,7 +7,7 @@ describe '#execute' do let_it_be(:slack_installation) { create(:slack_integration) } let_it_be(:project) { create(:project) } - let_it_be(:user) { create(:user, developer_projects: [project]) } + let_it_be(:user) { create(:user, developer_of: project) } let_it_be(:trigger_id) { '12345.98765.abcd2358fdea' } let(:slack_workspace_id) { slack_installation.team_id } diff --git a/spec/services/integrations/slack_interactions/slack_block_actions/incident_management/project_update_handler_spec.rb b/spec/services/integrations/slack_interactions/slack_block_actions/incident_management/project_update_handler_spec.rb index 5edffc9997709413bd9e16071a50af76d8790e8a..c7b705980607b64366027793aaccee0230816266 100644 --- a/spec/services/integrations/slack_interactions/slack_block_actions/incident_management/project_update_handler_spec.rb +++ b/spec/services/integrations/slack_interactions/slack_block_actions/incident_management/project_update_handler_spec.rb @@ -8,7 +8,7 @@ let_it_be(:slack_installation) { create(:slack_integration) } let_it_be(:old_project) { create(:project) } let_it_be(:new_project) { create(:project) } - let_it_be(:user) { create(:user, developer_projects: [old_project, new_project]) } + let_it_be(:user) { create(:user, developer_of: [old_project, new_project]) } let_it_be(:chat_name) { create(:chat_name, user: user) } let_it_be(:api_url) { "#{Slack::API::BASE_URL}/views.update" } diff --git a/spec/services/merge_requests/push_options_handler_service_spec.rb b/spec/services/merge_requests/push_options_handler_service_spec.rb index e34eb804a82c5a92f54b26d294927c0518258022..2ff2486dc50d5003e00f52491d6d2240bcfdd0a4 100644 --- a/spec/services/merge_requests/push_options_handler_service_spec.rb +++ b/spec/services/merge_requests/push_options_handler_service_spec.rb @@ -8,9 +8,9 @@ let_it_be(:parent_group) { create(:group, :public) } let_it_be(:child_group) { create(:group, :public, parent: parent_group) } let_it_be(:project) { create(:project, :public, :repository, group: child_group) } - let_it_be(:user1) { create(:user, developer_projects: [project]) } - let_it_be(:user2) { create(:user, developer_projects: [project]) } - let_it_be(:user3) { create(:user, developer_projects: [project]) } + let_it_be(:user1) { create(:user, developer_of: project) } + let_it_be(:user2) { create(:user, developer_of: project) } + let_it_be(:user3) { create(:user, developer_of: project) } let_it_be(:forked_project) { fork_project(project, user1, repository: true) } let_it_be(:parent_group_milestone) { create(:milestone, group: parent_group, title: 'ParentGroupMilestone1.0') } let_it_be(:child_group_milestone) { create(:milestone, group: child_group, title: 'ChildGroupMilestone1.0') } @@ -769,8 +769,8 @@ context 'when passing in usernames' do # makes sure that usernames starting with numbers aren't treated as IDs - let(:user2) { create(:user, username: '123user', developer_projects: [project]) } - let(:user3) { create(:user, username: '999user', developer_projects: [project]) } + let(:user2) { create(:user, username: '123user', developer_of: project) } + let(:user3) { create(:user, username: '999user', developer_of: project) } let(:assigned) { { user2.username => 1, user3.username => 1 } } it_behaves_like 'with an existing branch that has a merge request open in foss' diff --git a/spec/services/notification_service_spec.rb b/spec/services/notification_service_spec.rb index 587e5ed25d5bed463f240129e6ba3b791e58f98f..e9eabeb94a14159d8116c54cc68638fa25ebe035 100644 --- a/spec/services/notification_service_spec.rb +++ b/spec/services/notification_service_spec.rb @@ -1349,9 +1349,9 @@ let_it_be(:design) { create(:design, :with_file) } let_it_be(:project) { design.project } - let_it_be(:member_and_mentioned) { create(:user, developer_projects: [project]) } - let_it_be(:member_and_author_of_second_note) { create(:user, developer_projects: [project]) } - let_it_be(:member_and_not_mentioned) { create(:user, developer_projects: [project]) } + let_it_be(:member_and_mentioned) { create(:user, developer_of: project) } + let_it_be(:member_and_author_of_second_note) { create(:user, developer_of: project) } + let_it_be(:member_and_not_mentioned) { create(:user, developer_of: project) } let_it_be(:non_member_and_mentioned) { create(:user) } let_it_be(:note) do create( diff --git a/spec/services/packages/protection/delete_rule_service_spec.rb b/spec/services/packages/protection/delete_rule_service_spec.rb index d64609d4df1acd1aa7806b069b67b8c54d084664..6f1f5526fe9d6e1057a2712390da5909b5b785fb 100644 --- a/spec/services/packages/protection/delete_rule_service_spec.rb +++ b/spec/services/packages/protection/delete_rule_service_spec.rb @@ -4,7 +4,7 @@ RSpec.describe Packages::Protection::DeleteRuleService, '#execute', feature_category: :package_registry do let_it_be(:project) { create(:project) } - let_it_be(:current_user) { create(:user, maintainer_projects: [project]) } + let_it_be(:current_user) { create(:user, maintainer_of: project) } let_it_be_with_refind(:package_protection_rule) { create(:package_protection_rule, project: project) } subject { described_class.new(package_protection_rule, current_user: current_user).execute } diff --git a/spec/services/packages/protection/update_rule_service_spec.rb b/spec/services/packages/protection/update_rule_service_spec.rb index 70619a1caa3ddc030bd32e5d72b47312d87ceca8..3342c4e88a7670f4fb896d3dd78caf5ae41bf3de 100644 --- a/spec/services/packages/protection/update_rule_service_spec.rb +++ b/spec/services/packages/protection/update_rule_service_spec.rb @@ -4,7 +4,7 @@ RSpec.describe Packages::Protection::UpdateRuleService, '#execute', feature_category: :environment_management do let_it_be(:project) { create(:project, :repository) } - let_it_be(:current_user) { create(:user, maintainer_projects: [project]) } + let_it_be(:current_user) { create(:user, maintainer_of: project) } let_it_be_with_reload(:package_protection_rule) { create(:package_protection_rule, project: project) } let(:service) { described_class.new(package_protection_rule, current_user: current_user, params: params) } diff --git a/spec/services/remote_mirrors/sync_service_spec.rb b/spec/services/remote_mirrors/sync_service_spec.rb index a6d938829d328431604a45a7b379d5892ffea0d2..a4bf87360d93248668eea7c5f47421131ffbfefd 100644 --- a/spec/services/remote_mirrors/sync_service_spec.rb +++ b/spec/services/remote_mirrors/sync_service_spec.rb @@ -6,7 +6,7 @@ subject(:sync_service) { described_class.new(project, current_user) } let_it_be(:project) { create(:project, :repository) } - let_it_be(:maintainer) { create(:user, maintainer_projects: [project]) } + let_it_be(:maintainer) { create(:user, maintainer_of: project) } let_it_be_with_reload(:remote_mirror) { create(:remote_mirror, project: project, enabled: true) } let(:current_user) { maintainer } diff --git a/spec/services/terraform/remote_state_handler_spec.rb b/spec/services/terraform/remote_state_handler_spec.rb index 4590a9ad0e92c38c8b1848296934203aa6f9649c..64c489bfdf455c90fdbbb62f6b24a7f7bcd88010 100644 --- a/spec/services/terraform/remote_state_handler_spec.rb +++ b/spec/services/terraform/remote_state_handler_spec.rb @@ -4,8 +4,8 @@ RSpec.describe Terraform::RemoteStateHandler, feature_category: :infrastructure_as_code do let_it_be(:project) { create(:project) } - let_it_be(:developer) { create(:user, developer_projects: [project]) } - let_it_be(:maintainer) { create(:user, maintainer_projects: [project]) } + let_it_be(:developer) { create(:user, developer_of: project) } + let_it_be(:maintainer) { create(:user, maintainer_of: project) } let_it_be(:user) { maintainer } diff --git a/spec/services/terraform/states/trigger_destroy_service_spec.rb b/spec/services/terraform/states/trigger_destroy_service_spec.rb index 0b37d96235385ea66b4c6414a0eb1efeb5b48a65..713efbf75e4c53a5bf1ece1b16ada9599b2b6219 100644 --- a/spec/services/terraform/states/trigger_destroy_service_spec.rb +++ b/spec/services/terraform/states/trigger_destroy_service_spec.rb @@ -4,7 +4,7 @@ RSpec.describe Terraform::States::TriggerDestroyService, feature_category: :infrastructure_as_code do let_it_be(:project) { create(:project) } - let_it_be(:user) { create(:user, maintainer_projects: [project]) } + let_it_be(:user) { create(:user, maintainer_of: project) } describe '#execute', :aggregate_failures do let_it_be(:state) { create(:terraform_state, project: project) } @@ -40,7 +40,7 @@ end context 'user does not have permission' do - let(:user) { create(:user, developer_projects: [project]) } + let(:user) { create(:user, developer_of: project) } let(:message) { 'You have insufficient permissions to delete this state' } include_examples 'unable to delete state' diff --git a/spec/support/shared_examples/requests/api/graphql/projects/branch_protections/access_level_request_examples.rb b/spec/support/shared_examples/requests/api/graphql/projects/branch_protections/access_level_request_examples.rb index 6648c18fb702480f7200bd6edd6e124b37802b59..b699b372f71660d1fa5a845b4eebce8d6cbc5d8c 100644 --- a/spec/support/shared_examples/requests/api/graphql/projects/branch_protections/access_level_request_examples.rb +++ b/spec/support/shared_examples/requests/api/graphql/projects/branch_protections/access_level_request_examples.rb @@ -4,7 +4,7 @@ include GraphqlHelpers let_it_be(:project) { create(:project) } - let_it_be(:current_user) { create(:user, maintainer_projects: [project]) } + let_it_be(:current_user) { create(:user, maintainer_of: project) } let_it_be(:variables) { { path: project.full_path } } let(:fields) { all_graphql_fields_for("#{access_level_kind.to_s.classify}AccessLevel") } diff --git a/spec/support/shared_examples/views/pipeline_status_changes_email.rb b/spec/support/shared_examples/views/pipeline_status_changes_email.rb index a2db05c319e5595e8652706b5342abca60141796..c46ccbd8a0dd377f022480d8079ecb3e9bd0afc2 100644 --- a/spec/support/shared_examples/views/pipeline_status_changes_email.rb +++ b/spec/support/shared_examples/views/pipeline_status_changes_email.rb @@ -3,7 +3,7 @@ RSpec.shared_examples 'pipeline status changes email' do include Devise::Test::ControllerHelpers - let(:user) { create(:user, developer_projects: [project]) } + let(:user) { create(:user, developer_of: project) } let(:project) { create(:project, :repository) } let(:merge_request) { create(:merge_request, :simple, source_project: project) } diff --git a/spec/views/notify/autodevops_disabled_email.text.erb_spec.rb b/spec/views/notify/autodevops_disabled_email.text.erb_spec.rb index 4e053711dcf71fe88bfe01f339e644a457ad8fdd..7ace5b21162317e893a7e9296959b769c7c7db9d 100644 --- a/spec/views/notify/autodevops_disabled_email.text.erb_spec.rb +++ b/spec/views/notify/autodevops_disabled_email.text.erb_spec.rb @@ -5,7 +5,7 @@ RSpec.describe 'notify/autodevops_disabled_email.text.erb' do include Devise::Test::ControllerHelpers - let(:user) { create(:user, developer_projects: [project]) } + let(:user) { create(:user, developer_of: project) } let(:project) { create(:project, :repository) } let(:pipeline) do diff --git a/spec/views/notify/push_to_merge_request_email.text.haml_spec.rb b/spec/views/notify/push_to_merge_request_email.text.haml_spec.rb index ce402533496c04ababc1c71b8097e8c412c073f7..77df59d224503e9ba3bb52f56a2c92ecfd7744e4 100644 --- a/spec/views/notify/push_to_merge_request_email.text.haml_spec.rb +++ b/spec/views/notify/push_to_merge_request_email.text.haml_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' RSpec.describe 'notify/push_to_merge_request_email.text.haml' do - let(:user) { create(:user, developer_projects: [project]) } + let(:user) { create(:user, developer_of: project) } let(:project) { create(:project, :repository) } let(:merge_request) { create(:merge_request, :simple, source_project: project) } let(:new_commits) { project.repository.commits_between('be93687618e4b132087f430a4d8fc3a609c9b77c', '54fcc214b94e78d7a41a9a8fe6d87a5e59500e51') } diff --git a/spec/workers/auto_devops/disable_worker_spec.rb b/spec/workers/auto_devops/disable_worker_spec.rb index 1d2b93b9287ec973409cce838f4ebfaadfbed4f8..93ecbd3f82f17dd48e0e3a2d9fd37d922ee4155a 100644 --- a/spec/workers/auto_devops/disable_worker_spec.rb +++ b/spec/workers/auto_devops/disable_worker_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' RSpec.describe AutoDevops::DisableWorker, '#perform', feature_category: :auto_devops do - let(:user) { create(:user, developer_projects: [project]) } + let(:user) { create(:user, developer_of: project) } let(:project) { create(:project, :repository, :auto_devops) } let(:auto_devops) { project.auto_devops } let(:pipeline) { create(:ci_pipeline, :failed, :auto_devops_source, project: project, user: user) } diff --git a/spec/workers/personal_access_tokens/expiring_worker_spec.rb b/spec/workers/personal_access_tokens/expiring_worker_spec.rb index 8276311112a51b8e90781779c78860eaf6471946..930e6ef8ff79f7268673339ac53e5aaa48fc4cc5 100644 --- a/spec/workers/personal_access_tokens/expiring_worker_spec.rb +++ b/spec/workers/personal_access_tokens/expiring_worker_spec.rb @@ -118,10 +118,10 @@ it 'avoids N+1 queries', :use_sql_query_cache do control = ActiveRecord::QueryRecorder.new(skip_cached: false) { worker.perform } - user1 = create(:user, :project_bot, developer_projects: [project]) + user1 = create(:user, :project_bot, developer_of: project) create(:personal_access_token, user: user1, expires_at: 5.days.from_now) - user2 = create(:user, :project_bot, developer_projects: [project]) + user2 = create(:user, :project_bot, developer_of: project) create(:personal_access_token, user: user2, expires_at: 5.days.from_now) expect { worker.perform }.not_to exceed_all_query_limit(control)