diff --git a/spec/controllers/dashboard/todos_controller_spec.rb b/spec/controllers/dashboard/todos_controller_spec.rb index 4f01839fec418a42e3cbb09905e2f8ab3b88dbd1..00b8ca0a4ff319fd427d98227fb69bc03c71005c 100644 --- a/spec/controllers/dashboard/todos_controller_spec.rb +++ b/spec/controllers/dashboard/todos_controller_spec.rb @@ -4,7 +4,7 @@ RSpec.describe Dashboard::TodosController do let_it_be(:user) { create(:user) } - let_it_be(:project) { create(:project).tap { |project| project.add_developer(user) } } + let_it_be(:project) { create(:project, developers: user) } let_it_be(:author) { create(:user) } before do diff --git a/spec/controllers/projects/deploy_keys_controller_spec.rb b/spec/controllers/projects/deploy_keys_controller_spec.rb index 82087ec1247b4a35ecf1933f698986667cbcad7e..c203effff17090107d2614659b418e1977994bf4 100644 --- a/spec/controllers/projects/deploy_keys_controller_spec.rb +++ b/spec/controllers/projects/deploy_keys_controller_spec.rb @@ -17,7 +17,7 @@ let_it_be(:project) { create(:project, :repository) } let_it_be(:user) { create(:user) } - let_it_be(:accessible_project) { create(:project, :internal).tap { |p| p.add_developer(user) } } + let_it_be(:accessible_project) { create(:project, :internal, developers: user) } let_it_be(:inaccessible_project) { create(:project, :internal) } let_it_be(:project_private) { create(:project, :private) } diff --git a/spec/features/nav/new_nav_invite_members_spec.rb b/spec/features/nav/new_nav_invite_members_spec.rb index 5a75025c98ba77e4c15298914b463228ac21ad59..6e81b3a432299c919571f5f0dad74f3198e935d4 100644 --- a/spec/features/nav/new_nav_invite_members_spec.rb +++ b/spec/features/nav/new_nav_invite_members_spec.rb @@ -28,7 +28,7 @@ end context 'when inside a project' do - let_it_be(:project) { create(:project, :repository).tap { |record| record.add_owner(user) } } + let_it_be(:project) { create(:project, :repository, owners: user) } before do visit project_path(project) diff --git a/spec/finders/ci/runner_jobs_finder_spec.rb b/spec/finders/ci/runner_jobs_finder_spec.rb index 66cdde756be7aac2294fcf002cacc23dc21f4f16..2f1611910a59425101c800e701a5e97033c2ef40 100644 --- a/spec/finders/ci/runner_jobs_finder_spec.rb +++ b/spec/finders/ci/runner_jobs_finder_spec.rb @@ -53,9 +53,9 @@ end context 'when the user has different access levels in different projects' do - let_it_be(:guest_project) { create(:project).tap { |p| p.add_guest(user) } } + let_it_be(:guest_project) { create(:project, guests: user) } let_it_be(:guest_jobs) { create_list(:ci_build, 2, runner: runner, project: guest_project) } - let_it_be(:reporter_project) { create(:project).tap { |p| p.add_reporter(user) } } + let_it_be(:reporter_project) { create(:project, reporters: user) } let_it_be(:reporter_jobs) { create_list(:ci_build, 3, runner: runner, project: reporter_project) } it 'returns only the jobs the user has permission to see', :aggregate_failures do diff --git a/spec/finders/deploy_keys/deploy_keys_finder_spec.rb b/spec/finders/deploy_keys/deploy_keys_finder_spec.rb index f0d3935cc957e48f98f0cd6d1279ba18962b7150..ef4414428a9284cffc19ec22ea2abbffb02b0c5d 100644 --- a/spec/finders/deploy_keys/deploy_keys_finder_spec.rb +++ b/spec/finders/deploy_keys/deploy_keys_finder_spec.rb @@ -7,7 +7,7 @@ let_it_be(:user) { create(:user) } let_it_be(:project) { create(:project, :repository) } - let_it_be(:accessible_project) { create(:project, :internal).tap { |p| p.add_developer(user) } } + let_it_be(:accessible_project) { create(:project, :internal, developers: user) } let_it_be(:inaccessible_project) { create(:project, :internal) } let_it_be(:project_private) { create(:project, :private) } diff --git a/spec/graphql/mutations/work_items/linked_items/base_spec.rb b/spec/graphql/mutations/work_items/linked_items/base_spec.rb index bc52aee443e4c6b1baf66657a0e3716bf87fdf52..58c43debce4e014a2c9073e5debb1265238d0efb 100644 --- a/spec/graphql/mutations/work_items/linked_items/base_spec.rb +++ b/spec/graphql/mutations/work_items/linked_items/base_spec.rb @@ -6,7 +6,7 @@ include GraphqlHelpers let_it_be(:user) { create(:user) } - let_it_be(:project) { create(:project).tap { |group| group.add_maintainer(user) } } + let_it_be(:project) { create(:project, maintainers: user) } let_it_be(:work_item) { create(:work_item, project: project) } it 'raises a NotImplementedError error if the update_links method is called on the base class' do diff --git a/spec/graphql/resolvers/users/participants_resolver_spec.rb b/spec/graphql/resolvers/users/participants_resolver_spec.rb index ae23eabaeb01290db4a4f3875790b2ddd207a81e..cce0393a3400be6f4d0519614bebac9e962277a1 100644 --- a/spec/graphql/resolvers/users/participants_resolver_spec.rb +++ b/spec/graphql/resolvers/users/participants_resolver_spec.rb @@ -15,7 +15,7 @@ end end - let_it_be(:private_project) { create(:project, :private).tap { |r| r.add_developer(user) } } + let_it_be(:private_project) { create(:project, :private, developers: user) } let_it_be(:issue) { create(:issue, project: project) } let_it_be(:private_issue) { create(:issue, project: private_project) } diff --git a/spec/graphql/resolvers/work_item_resolver_spec.rb b/spec/graphql/resolvers/work_item_resolver_spec.rb index dacc6ac11d8cd052e70705f849b1002a3ee9831b..78402b4208f28f3e48a4fba1d91a96225c8a5c66 100644 --- a/spec/graphql/resolvers/work_item_resolver_spec.rb +++ b/spec/graphql/resolvers/work_item_resolver_spec.rb @@ -7,7 +7,7 @@ describe '#resolve' do let_it_be(:developer) { create(:user) } - let_it_be(:project) { create(:project, :private).tap { |project| project.add_developer(developer) } } + let_it_be(:project) { create(:project, :private, developers: developer) } let_it_be(:work_item) { create(:work_item, project: project) } let(:current_user) { developer } diff --git a/spec/helpers/issuables_helper_spec.rb b/spec/helpers/issuables_helper_spec.rb index f2e88bc311d7dda714f56651396cf524697dff03..cb6fcaa9d65064e77388257b8c48480abbf0d70a 100644 --- a/spec/helpers/issuables_helper_spec.rb +++ b/spec/helpers/issuables_helper_spec.rb @@ -101,7 +101,7 @@ describe '#assigned_issuables_count', feature_category: :team_planning do context 'when issuable is issues' do let_it_be(:user) { create(:user) } - let_it_be(:project) { create(:project).tap { |p| p.add_developer(user) } } + let_it_be(:project) { create(:project, developers: user) } subject { helper.assigned_issuables_count(:issues) } diff --git a/spec/models/preloaders/project_policy_preloader_spec.rb b/spec/models/preloaders/project_policy_preloader_spec.rb index 79f232f5ce2ecc7fedb5132fda7fdc1645643215..a278194e9e103ff42c9fa1c648f7d40d20dee17f 100644 --- a/spec/models/preloaders/project_policy_preloader_spec.rb +++ b/spec/models/preloaders/project_policy_preloader_spec.rb @@ -33,11 +33,11 @@ preload_projects_for_policy(user) control = ActiveRecord::QueryRecorder.new { authorize_all_projects(user) } - new_project1 = create(:project, :private).tap { |project| project.add_maintainer(user) } + new_project1 = create(:project, :private, maintainers: user) new_project2 = create(:project, :private, namespace: root_parent) another_root = create(:group, :private, name: 'root-3', path: 'root-3') - new_project3 = create(:project, :private, namespace: another_root).tap { |project| project.add_maintainer(user) } + new_project3 = create(:project, :private, namespace: another_root, maintainers: user) pristine_projects = Project.where(id: base_projects + [new_project1, new_project2, new_project3]) diff --git a/spec/models/user_spec.rb b/spec/models/user_spec.rb index 86cfb1c35cfdddf392eff0bba9631c32f99d1d5a..c7d6e7f89174fd8ba3ce21fc1e91e98144d4f200 100644 --- a/spec/models/user_spec.rb +++ b/spec/models/user_spec.rb @@ -4878,7 +4878,7 @@ def login_method(login) it 'includes projects that belong to a user, but no other projects' do owned = create(:project, :private, namespace: user.namespace) - member = create(:project, :private).tap { |p| p.add_maintainer(user) } + member = create(:project, :private, maintainers: user) other = create(:project) expect(subject).to include(owned) diff --git a/spec/requests/api/graphql/issues_spec.rb b/spec/requests/api/graphql/issues_spec.rb index 913f1fc6367fe8dbd2a1f78cc0ed2919eac403f0..b783926434c2a1273cf0df306a8bc49e3535d413 100644 --- a/spec/requests/api/graphql/issues_spec.rb +++ b/spec/requests/api/graphql/issues_spec.rb @@ -215,7 +215,7 @@ def pagination_query(params) control = ActiveRecord::QueryRecorder.new(skip_cached: false) { post_query } expect_graphql_errors_to_be_empty - new_private_project = create(:project, :private).tap { |project| project.add_developer(current_user) } + new_private_project = create(:project, :private, developers: current_user) create(:issue, project: new_private_project) private_group = create(:group, :private, developers: current_user) diff --git a/spec/services/issues/create_service_spec.rb b/spec/services/issues/create_service_spec.rb index 2e6625679521239c0657d4aeeae09215b2e7b1f3..de71aaa72c6e80937b1e53bf99b6da525884ef94 100644 --- a/spec/services/issues/create_service_spec.rb +++ b/spec/services/issues/create_service_spec.rb @@ -73,7 +73,7 @@ end describe 'authorization' do - let_it_be(:project) { create(:project, :private, group: group).tap { |project| project.add_guest(user) } } + let_it_be(:project) { create(:project, :private, group: group, guests: user) } let(:opts) { { title: 'private issue', description: 'please fix' } } @@ -170,7 +170,7 @@ context 'when issue template is provided' do let_it_be(:files) { { '.gitlab/issue_templates/Default.md' => 'Default template contents' } } - let_it_be_with_reload(:project) { create(:project, :custom_repo, group: group, files: files).tap { |project| project.add_guest(user) } } + let_it_be_with_reload(:project) { create(:project, :custom_repo, group: group, files: files, guests: user) } context 'when description is blank' do it 'sets template contents as description when description is blank' do 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 2ff2486dc50d5003e00f52491d6d2240bcfdd0a4..6a58733df30b376eabdc071dc21d629be5cc2f10 100644 --- a/spec/services/merge_requests/push_options_handler_service_spec.rb +++ b/spec/services/merge_requests/push_options_handler_service_spec.rb @@ -924,7 +924,7 @@ def run_service_with_exception end describe 'when MRs are not enabled' do - let(:project) { create(:project, :public, :repository).tap { |pr| pr.add_developer(user1) } } + let(:project) { create(:project, :public, :repository, developers: user1) } let(:push_options) { { create: true } } let(:changes) { new_branch_changes } diff --git a/spec/services/notification_recipients/builder/default_spec.rb b/spec/services/notification_recipients/builder/default_spec.rb index da991b5951a1579fbfad9d685d3bbd55967a42a9..fef9340141fb661c673286aa7702a0e7613d3b60 100644 --- a/spec/services/notification_recipients/builder/default_spec.rb +++ b/spec/services/notification_recipients/builder/default_spec.rb @@ -5,7 +5,7 @@ RSpec.describe NotificationRecipients::Builder::Default, feature_category: :team_planning do describe '#build!' do let_it_be(:group) { create(:group, :public) } - let_it_be(:project) { create(:project, :public, group: group).tap { |p| p.add_developer(project_watcher) if project_watcher } } + let_it_be(:project) { create(:project, :public, group: group, developers: project_watcher) } let_it_be(:target) { create(:issue, project: project) } let_it_be(:current_user) { create(:user) } @@ -135,7 +135,7 @@ let(:grand_parent_group) { create(:group, :public) } let(:parent_group) { create(:group, :public, parent: grand_parent_group) } let(:group) { create(:group, :public, parent: parent_group) } - let(:project) { create(:project, :public, group: group).tap { |p| p.add_developer(project_watcher) } } + let(:project) { create(:project, :public, group: group, developers: project_watcher) } let(:target) { create(:issue, project: project) } before do diff --git a/spec/services/users/assigned_issues_count_service_spec.rb b/spec/services/users/assigned_issues_count_service_spec.rb index 2062f68b24b8ed47a8400819281880507013000d..4d014c6441b102e44f6baada83da983898736799 100644 --- a/spec/services/users/assigned_issues_count_service_spec.rb +++ b/spec/services/users/assigned_issues_count_service_spec.rb @@ -30,7 +30,7 @@ context 'when the number of assigned open issues exceeds max_limit' do let_it_be(:banned_user) { create(:user, :banned) } - let_it_be(:project) { create(:project).tap { |p| p.add_developer(user) } } + let_it_be(:project) { create(:project, developers: user) } context 'when user is admin', :enable_admin_mode do let_it_be(:admin) { create(:admin) } diff --git a/spec/services/work_items/task_list_reference_replacement_service_spec.rb b/spec/services/work_items/task_list_reference_replacement_service_spec.rb index 8f696109fa155d72af8f73d384a93c6a8ae374c4..c7765e7c8989c111d52ac4185dda500ad0b68d68 100644 --- a/spec/services/work_items/task_list_reference_replacement_service_spec.rb +++ b/spec/services/work_items/task_list_reference_replacement_service_spec.rb @@ -4,7 +4,7 @@ RSpec.describe WorkItems::TaskListReferenceReplacementService, feature_category: :team_planning do let_it_be(:developer) { create(:user) } - let_it_be(:project) { create(:project, :repository).tap { |project| project.add_developer(developer) } } + let_it_be(:project) { create(:project, :repository, developers: developer) } let_it_be(:single_line_work_item, refind: true) { create(:work_item, project: project, description: '- [ ] single line', lock_version: 3) } let_it_be(:multiple_line_work_item, refind: true) { create(:work_item, project: project, description: "Any text\n\n* [ ] Item to be converted\n second line\n third line", lock_version: 3) }