From fc4faf47ac4e5f1ddc40640c42c32405c38c9455 Mon Sep 17 00:00:00 2001 From: GitLab Bot Date: Thu, 25 May 2023 12:07:22 +0000 Subject: Add latest changes from gitlab-org/gitlab@master --- spec/controllers/autocomplete_controller_spec.rb | 2 +- .../dashboard/projects_controller_spec.rb | 2 +- .../explore/projects_controller_spec.rb | 2 +- .../controllers/groups/children_controller_spec.rb | 2 +- spec/controllers/projects/blame_controller_spec.rb | 8 + spec/controllers/projects_controller_spec.rb | 2 +- spec/factories/packages/packages.rb | 27 ++ spec/features/admin/admin_groups_spec.rb | 2 +- spec/features/admin/admin_projects_spec.rb | 2 +- .../admin/admin_sees_project_statistics_spec.rb | 2 +- .../admin/admin_sees_projects_statistics_spec.rb | 2 +- spec/features/dashboard/archived_projects_spec.rb | 2 +- ...ard_with_external_authorization_service_spec.rb | 2 +- spec/features/dashboard/group_spec.rb | 2 +- spec/features/dashboard/groups_list_spec.rb | 2 +- spec/features/dashboard/projects_spec.rb | 2 +- .../dashboard/user_filters_projects_spec.rb | 2 +- spec/features/explore/groups_list_spec.rb | 2 +- spec/features/explore/groups_spec.rb | 2 +- spec/features/file_uploads/attachment_spec.rb | 2 +- spec/features/file_uploads/group_import_spec.rb | 2 +- spec/features/file_uploads/project_import_spec.rb | 2 +- spec/features/groups/activity_spec.rb | 2 +- spec/features/groups/board_sidebar_spec.rb | 2 +- spec/features/groups/empty_states_spec.rb | 2 +- ...age_with_external_authorization_service_spec.rb | 2 +- spec/features/groups/group_settings_spec.rb | 2 +- spec/features/groups/issues_spec.rb | 2 +- .../features/groups/members/filter_members_spec.rb | 2 +- spec/features/groups/members/leave_group_spec.rb | 2 +- spec/features/groups/members/list_members_spec.rb | 2 +- spec/features/groups/members/manage_groups_spec.rb | 2 +- .../features/groups/members/manage_members_spec.rb | 2 +- ...master_adds_member_with_expiration_date_spec.rb | 2 +- .../members/master_manages_access_requests_spec.rb | 2 +- .../features/groups/members/request_access_spec.rb | 2 +- .../features/groups/members/search_members_spec.rb | 2 +- spec/features/groups/members/sort_members_spec.rb | 2 +- spec/features/groups/members/tabs_spec.rb | 2 +- spec/features/groups/milestone_spec.rb | 2 +- spec/features/groups/new_group_page_spec.rb | 2 +- spec/features/groups/settings/group_badges_spec.rb | 2 +- .../groups/settings/manage_applications_spec.rb | 2 +- .../settings/user_searches_in_settings_spec.rb | 2 +- spec/features/groups/share_lock_spec.rb | 2 +- spec/features/groups/show_spec.rb | 2 +- .../groups/user_browse_projects_group_page_spec.rb | 2 +- .../groups/user_sees_package_sidebar_spec.rb | 2 +- ..._sees_users_dropdowns_in_issuables_list_spec.rb | 2 +- spec/features/groups_spec.rb | 2 +- spec/features/ics/group_issues_spec.rb | 2 +- spec/features/ics/project_issues_spec.rb | 2 +- spec/features/projects/active_tabs_spec.rb | 2 +- spec/features/projects/activity/rss_spec.rb | 2 +- .../projects/activity/user_sees_activity_spec.rb | 2 +- .../activity/user_sees_private_activity_spec.rb | 2 +- spec/features/projects/blobs/blame_spec.rb | 2 +- .../blobs/blob_line_permalink_updater_spec.rb | 2 +- spec/features/projects/blobs/blob_show_spec.rb | 2 +- spec/features/projects/blobs/edit_spec.rb | 2 +- .../features/projects/blobs/shortcuts_blob_spec.rb | 2 +- .../user_follows_pipeline_suggest_nudge_spec.rb | 2 +- .../user_views_pipeline_editor_button_spec.rb | 2 +- .../projects/branches/download_buttons_spec.rb | 2 +- .../branches/new_branch_ref_dropdown_spec.rb | 2 +- .../projects/branches/user_creates_branch_spec.rb | 2 +- .../projects/branches/user_deletes_branch_spec.rb | 2 +- .../projects/branches/user_views_branches_spec.rb | 2 +- spec/features/projects/branches_spec.rb | 2 +- .../classification_label_on_project_pages_spec.rb | 2 +- spec/features/projects/cluster_agents_spec.rb | 2 +- spec/features/projects/clusters_spec.rb | 2 +- spec/features/projects/compare_spec.rb | 2 +- spec/features/projects/container_registry_spec.rb | 2 +- spec/features/projects/deploy_keys_spec.rb | 2 +- .../projects/environments/environment_spec.rb | 2 +- .../projects/environments/environments_spec.rb | 2 +- .../user_deletes_feature_flag_user_list_spec.rb | 2 +- .../user_edits_feature_flag_user_list_spec.rb | 2 +- ...ser_sees_feature_flag_user_list_details_spec.rb | 2 +- spec/features/projects/features_visibility_spec.rb | 2 +- .../projects/files/dockerfile_dropdown_spec.rb | 2 +- .../projects/files/download_buttons_spec.rb | 2 +- .../projects/files/edit_file_soft_wrap_spec.rb | 2 +- .../features/projects/files/editing_a_file_spec.rb | 2 +- .../files_sort_submodules_with_folders_spec.rb | 2 +- .../projects/files/find_file_keyboard_spec.rb | 2 +- .../projects/files/gitignore_dropdown_spec.rb | 2 +- .../projects/files/gitlab_ci_yml_dropdown_spec.rb | 2 +- .../project_owner_creates_license_file_spec.rb | 2 +- ...to_create_license_file_in_empty_project_spec.rb | 2 +- .../projects/files/template_selector_menu_spec.rb | 2 +- spec/features/projects/files/undo_template_spec.rb | 2 +- ..._with_a_folder_containing_only_a_folder_spec.rb | 2 +- .../projects/files/user_browses_files_spec.rb | 2 +- .../projects/files/user_browses_lfs_files_spec.rb | 2 +- .../projects/files/user_creates_directory_spec.rb | 2 +- .../projects/files/user_creates_files_spec.rb | 2 +- .../projects/files/user_deletes_files_spec.rb | 2 +- .../projects/files/user_edits_files_spec.rb | 2 +- .../features/projects/files/user_find_file_spec.rb | 2 +- .../files/user_reads_pipeline_status_spec.rb | 2 +- .../projects/files/user_replaces_files_spec.rb | 2 +- .../projects/files/user_searches_for_files_spec.rb | 2 +- .../projects/files/user_uploads_files_spec.rb | 2 +- spec/features/projects/fork_spec.rb | 2 +- spec/features/projects/forks/fork_list_spec.rb | 2 +- .../projects/gfm_autocomplete_load_spec.rb | 2 +- spec/features/projects/graph_spec.rb | 2 +- .../projects/hook_logs/user_reads_log_spec.rb | 2 +- .../projects/infrastructure_registry_spec.rb | 2 +- spec/features/projects/issuable_templates_spec.rb | 2 +- spec/features/projects/jobs/permissions_spec.rb | 2 +- .../projects/jobs/user_browses_job_spec.rb | 2 +- .../projects/jobs/user_browses_jobs_spec.rb | 2 +- ...user_triggers_manual_job_with_variables_spec.rb | 2 +- spec/features/projects/jobs_spec.rb | 2 +- ...group_member_cannot_leave_group_project_spec.rb | 2 +- ...not_request_access_to_his_group_project_spec.rb | 2 +- .../projects/members/group_members_spec.rb | 2 +- ...uester_cannot_request_access_to_project_spec.rb | 2 +- .../members/groups_with_access_list_spec.rb | 2 +- .../projects/members/manage_groups_spec.rb | 2 +- ...master_adds_member_with_expiration_date_spec.rb | 2 +- .../members/master_manages_access_requests_spec.rb | 2 +- ...er_cannot_request_access_to_his_project_spec.rb | 2 +- .../projects/members/member_leaves_project_spec.rb | 2 +- .../members/owner_cannot_leave_project_spec.rb | 2 +- ...er_cannot_request_access_to_his_project_spec.rb | 2 +- spec/features/projects/members/sorting_spec.rb | 2 +- spec/features/projects/members/tabs_spec.rb | 2 +- .../projects/members/user_requests_access_spec.rb | 2 +- .../features/projects/merge_request_button_spec.rb | 2 +- spec/features/projects/navbar_spec.rb | 2 +- spec/features/projects/network_graph_spec.rb | 2 +- .../projects/new_project_from_template_spec.rb | 2 +- spec/features/projects/new_project_spec.rb | 2 +- spec/features/projects/package_files_spec.rb | 2 +- spec/features/projects/packages_spec.rb | 2 +- spec/features/projects/pipeline_schedules_spec.rb | 2 +- spec/features/projects/pipelines/pipeline_spec.rb | 2 +- spec/features/projects/pipelines/pipelines_spec.rb | 2 +- .../raw/user_interacts_with_raw_endpoint_spec.rb | 2 +- spec/features/projects/remote_mirror_spec.rb | 2 +- .../settings/branch_names_settings_spec.rb | 2 +- .../settings/branch_rules_settings_spec.rb | 2 +- ...external_authorization_service_settings_spec.rb | 2 +- .../settings/forked_project_settings_spec.rb | 2 +- .../projects/settings/lfs_settings_spec.rb | 2 +- .../settings/merge_requests_settings_spec.rb | 2 +- .../projects/settings/monitor_settings_spec.rb | 2 +- .../projects/settings/packages_settings_spec.rb | 2 +- .../projects/settings/pipelines_settings_spec.rb | 2 +- .../projects/settings/project_badges_spec.rb | 2 +- .../projects/settings/project_settings_spec.rb | 2 +- .../registry_settings_cleanup_tags_spec.rb | 2 +- .../projects/settings/registry_settings_spec.rb | 2 +- .../projects/settings/repository_settings_spec.rb | 2 +- .../projects/settings/secure_files_spec.rb | 2 +- .../projects/settings/service_desk_setting_spec.rb | 2 +- .../settings/user_archives_project_spec.rb | 2 +- .../projects/settings/user_changes_avatar_spec.rb | 2 +- .../settings/user_changes_default_branch_spec.rb | 2 +- .../user_interacts_with_deploy_keys_spec.rb | 2 +- .../user_manages_merge_requests_settings_spec.rb | 2 +- .../settings/user_manages_project_members_spec.rb | 2 +- .../settings/user_renames_a_project_spec.rb | 2 +- .../settings/user_searches_in_settings_spec.rb | 2 +- .../user_sees_revoke_deploy_token_modal_spec.rb | 2 +- .../projects/settings/user_tags_project_spec.rb | 2 +- .../settings/user_transfers_a_project_spec.rb | 2 +- .../projects/settings/visibility_settings_spec.rb | 2 +- .../projects/settings/webhooks_settings_spec.rb | 2 +- spec/features/projects/show/clone_button_spec.rb | 2 +- .../projects/show/download_buttons_spec.rb | 2 +- spec/features/projects/show/no_password_spec.rb | 2 +- spec/features/projects/show/redirects_spec.rb | 2 +- spec/features/projects/show/rss_spec.rb | 2 +- spec/features/projects/show/schema_markup_spec.rb | 2 +- .../user_interacts_with_auto_devops_banner_spec.rb | 2 +- .../show/user_interacts_with_stars_spec.rb | 2 +- .../show/user_manages_notifications_spec.rb | 2 +- .../show/user_sees_collaboration_links_spec.rb | 2 +- .../user_sees_deletion_failure_message_spec.rb | 2 +- .../show/user_sees_git_instructions_spec.rb | 2 +- .../show/user_sees_last_commit_ci_status_spec.rb | 2 +- .../projects/show/user_sees_readme_spec.rb | 2 +- .../show/user_sees_setup_shortcut_buttons_spec.rb | 2 +- .../projects/show/user_uploads_files_spec.rb | 2 +- spec/features/projects/sourcegraph_csp_spec.rb | 2 +- spec/features/projects/sub_group_issuables_spec.rb | 2 +- spec/features/projects/terraform_spec.rb | 2 +- spec/features/projects/tree/rss_spec.rb | 2 +- .../user_changes_project_visibility_spec.rb | 2 +- .../features/projects/user_creates_project_spec.rb | 2 +- spec/features/projects/user_sees_sidebar_spec.rb | 2 +- .../projects/user_sees_user_popover_spec.rb | 2 +- spec/features/projects/user_sorts_projects_spec.rb | 2 +- spec/features/projects/user_uses_shortcuts_spec.rb | 2 +- .../projects/user_views_empty_project_spec.rb | 2 +- spec/features/projects/view_on_env_spec.rb | 2 +- spec/features/projects_spec.rb | 2 +- spec/features/topic_show_spec.rb | 2 +- .../user_browses_projects_on_user_page_spec.rb | 2 +- spec/finders/group_members_finder_spec.rb | 2 +- .../accepting_project_creations_finder_spec.rb | 2 +- .../groups/accepting_project_shares_finder_spec.rb | 2 +- spec/finders/groups/user_groups_finder_spec.rb | 2 +- spec/finders/members_finder_spec.rb | 2 +- .../finders/releases/group_releases_finder_spec.rb | 2 +- spec/finders/releases_finder_spec.rb | 24 +- .../frontend/commit/components/commit_refs_spec.js | 23 +- spec/frontend/commit/components/refs_list_spec.js | 15 +- spec/frontend/commit/mock_data.js | 1 + .../components/content_editor_spec.js | 12 + .../components/formatting_toolbar_spec.js | 11 +- .../components/markdown/markdown_editor_spec.js | 14 + .../mutations/members/bulk_update_base_spec.rb | 2 +- spec/graphql/resolvers/groups_resolver_spec.rb | 2 +- .../resolvers/namespace_projects_resolver_spec.rb | 2 +- .../resolvers/nested_groups_resolver_spec.rb | 2 +- .../graphql/types/member_access_level_enum_spec.rb | 2 +- spec/helpers/namespaces_helper_spec.rb | 2 +- spec/lib/api/entities/plan_limit_spec.rb | 3 +- spec/lib/api/helpers/members_helpers_spec.rb | 2 +- ..._license_for_projects_less_than_five_mb_spec.rb | 2 +- ..._creator_id_column_of_orphaned_projects_spec.rb | 4 +- ..._project_group_link_with_missing_groups_spec.rb | 2 +- .../v1/rename_base_spec.rb | 2 +- .../v1/rename_namespaces_spec.rb | 2 +- .../v1/rename_projects_spec.rb | 2 +- spec/lib/gitlab/metrics/rails_slis_spec.rb | 2 +- .../gitlab/sidekiq_middleware/defer_jobs_spec.rb | 8 +- spec/lib/gitlab/sidekiq_middleware_spec.rb | 2 +- ...x_to_projects_on_marked_for_deletion_at_spec.rb | 2 +- ...l_namespace_project_maintainer_to_owner_spec.rb | 2 +- ...28_schedule_merge_topics_with_same_name_spec.rb | 2 +- ...5436_schedule_backfill_project_settings_spec.rb | 2 +- ...31133802_schedule_backfill_topics_title_spec.rb | 2 +- ...le_backfill_project_member_namespace_id_spec.rb | 2 +- ...4_create_sync_namespace_details_trigger_spec.rb | 2 +- ..._sync_project_namespace_details_trigger_spec.rb | 2 +- ...ce_license_for_inactive_public_projects_spec.rb | 2 +- ...ject_removal_to_null_for_user_namespace_spec.rb | 2 +- ...2902_finalise_project_namespace_members_spec.rb | 2 +- ...license_for_one_member_no_repo_projects_spec.rb | 2 +- ..._license_for_no_issues_no_repo_projects_spec.rb | 2 +- ...cense_available_for_non_public_projects_spec.rb | 2 +- ...urce_licence_for_recent_public_projects_spec.rb | 2 +- ...e_license_for_projects_less_than_one_mb_spec.rb | 2 +- ...355_schedule_backfill_namespace_details_spec.rb | 2 +- ...ize_group_member_namespace_id_migration_spec.rb | 2 +- ...094814_schedule_destroy_invalid_members_spec.rb | 2 +- ...dule_backfill_project_namespace_details_spec.rb | 2 +- ..._license_for_projects_less_than_five_mb_spec.rb | 2 +- ...nullify_creator_id_of_orphaned_projects_spec.rb | 2 +- ..._project_group_link_with_missing_groups_spec.rb | 2 +- ...nullify_creator_id_of_orphaned_projects_spec.rb | 2 +- .../backfill_all_project_namespaces_spec.rb | 2 +- ...l_member_namespace_id_for_group_members_spec.rb | 2 +- ...kfill_namespace_id_for_namespace_routes_spec.rb | 2 +- ...ackfill_namespace_id_for_project_routes_spec.rb | 2 +- .../backfill_project_namespaces_for_group_spec.rb | 2 +- spec/migrations/cleanup_orphaned_routes_spec.rb | 2 +- .../finalize_invalid_member_cleanup_spec.rb | 2 +- .../finalize_orphaned_routes_cleanup_spec.rb | 2 +- .../finalize_project_namespaces_backfill_spec.rb | 2 +- ...inalize_routes_backfilling_for_projects_spec.rb | 2 +- ...spaces_for_projects_with_duplicate_name_spec.rb | 2 +- .../insert_daily_invites_trial_plan_limits_spec.rb | 2 +- .../orphaned_invited_members_cleanup_spec.rb | 2 +- .../update_invalid_member_states_spec.rb | 2 +- spec/models/group_spec.rb | 2 +- spec/models/member_spec.rb | 2 +- spec/models/namespace/traversal_hierarchy_spec.rb | 2 +- spec/models/namespace_setting_spec.rb | 2 +- spec/models/namespace_spec.rb | 2 +- spec/models/packages/package_file_spec.rb | 2 +- spec/models/packages/package_spec.rb | 17 + spec/models/plan_limits_spec.rb | 1 + ...s_max_access_level_by_project_preloader_spec.rb | 2 +- spec/models/project_feature_spec.rb | 2 +- spec/models/project_setting_spec.rb | 2 +- spec/models/project_spec.rb | 2 +- spec/models/project_team_spec.rb | 2 +- spec/policies/concerns/archived_abilities_spec.rb | 2 +- .../namespaces/user_namespace_policy_spec.rb | 2 +- spec/presenters/member_presenter_spec.rb | 2 +- spec/requests/admin/projects_controller_spec.rb | 2 +- spec/requests/api/admin/plan_limits_spec.rb | 12 +- spec/requests/api/badges_spec.rb | 2 +- spec/requests/api/debian_project_packages_spec.rb | 1 + .../api/graphql/current_user/groups_query_spec.rb | 2 +- .../api/graphql/group/group_members_spec.rb | 2 +- spec/requests/api/graphql/group_query_spec.rb | 2 +- spec/requests/api/graphql/groups_query_spec.rb | 2 +- spec/requests/api/graphql/metadata_query_spec.rb | 2 +- .../api/graphql/mutations/groups/update_spec.rb | 2 +- .../mutations/members/groups/bulk_update_spec.rb | 2 +- .../mutations/members/projects/bulk_update_spec.rb | 2 +- .../api/graphql/namespace/projects_spec.rb | 2 +- spec/requests/api/graphql/namespace_query_spec.rb | 2 +- .../alert_management/alert/assignees_spec.rb | 2 +- .../api/graphql/project/project_members_spec.rb | 2 +- spec/requests/api/graphql/project_query_spec.rb | 2 +- .../api/graphql/user/group_member_query_spec.rb | 2 +- .../api/graphql/user/project_member_query_spec.rb | 2 +- .../graphql/user/starred_projects_query_spec.rb | 2 +- spec/requests/api/group_avatar_spec.rb | 2 +- spec/requests/api/groups_spec.rb | 2 +- spec/requests/api/members_spec.rb | 2 +- spec/requests/api/namespaces_spec.rb | 2 +- spec/requests/api/projects_spec.rb | 2 +- spec/requests/api/releases_spec.rb | 32 +- spec/requests/api/topics_spec.rb | 2 +- spec/requests/concerns/planning_hierarchy_spec.rb | 2 +- .../requests/dashboard/projects_controller_spec.rb | 2 +- spec/requests/groups/autocomplete_sources_spec.rb | 2 +- spec/requests/groups_controller_spec.rb | 2 +- spec/requests/projects/redirect_controller_spec.rb | 2 +- spec/requests/projects_controller_spec.rb | 2 +- .../admin/plan_limits/update_service_spec.rb | 15 +- .../find_records_due_for_refresh_service_spec.rb | 2 +- .../periodic_recalculate_service_spec.rb | 2 +- .../project_access_changed_service_spec.rb | 2 +- .../project_recalculate_per_user_service_spec.rb | 2 +- .../project_recalculate_service_spec.rb | 2 +- spec/services/groups/autocomplete_service_spec.rb | 2 +- spec/services/groups/create_service_spec.rb | 2 +- spec/services/groups/destroy_service_spec.rb | 2 +- .../groups/group_links/create_service_spec.rb | 2 +- .../groups/group_links/destroy_service_spec.rb | 2 +- .../groups/group_links/update_service_spec.rb | 2 +- .../groups/merge_requests_count_service_spec.rb | 2 +- spec/services/groups/nested_create_service_spec.rb | 2 +- .../groups/open_issues_count_service_spec.rb | 2 +- spec/services/groups/participants_service_spec.rb | 2 +- spec/services/groups/transfer_service_spec.rb | 2 +- spec/services/groups/update_service_spec.rb | 2 +- .../groups/update_shared_runners_service_spec.rb | 2 +- .../groups/update_statistics_service_spec.rb | 2 +- .../jira/requests/projects/list_service_spec.rb | 2 +- spec/services/markup/rendering_service_spec.rb | 2 +- .../members/approve_access_request_service_spec.rb | 2 +- spec/services/members/base_service_spec.rb | 2 +- spec/services/members/create_service_spec.rb | 2 +- spec/services/members/creator_service_spec.rb | 2 +- spec/services/members/destroy_service_spec.rb | 2 +- .../members/groups/creator_service_spec.rb | 2 +- .../members/import_project_team_service_spec.rb | 2 +- .../invitation_reminder_email_service_spec.rb | 2 +- .../services/members/invite_member_builder_spec.rb | 2 +- spec/services/members/invite_service_spec.rb | 2 +- .../members/projects/creator_service_spec.rb | 2 +- .../members/request_access_service_spec.rb | 2 +- .../members/standard_member_builder_spec.rb | 2 +- .../members/unassign_issuables_service_spec.rb | 2 +- spec/services/members/update_service_spec.rb | 2 +- .../namespace_settings/update_service_spec.rb | 2 +- .../statistics_refresher_service_spec.rb | 2 +- .../debian/create_package_file_service_spec.rb | 5 +- .../extract_changes_metadata_service_spec.rb | 6 +- .../debian/process_changes_service_spec.rb | 2 +- .../debian/process_package_file_service_spec.rb | 489 +++++++++++++++------ .../services/projects/after_rename_service_spec.rb | 2 +- .../projects/alerting/notify_service_spec.rb | 2 +- .../projects/all_issues_count_service_spec.rb | 2 +- .../all_merge_requests_count_service_spec.rb | 2 +- .../apple_target_platform_detector_service_spec.rb | 2 +- .../services/projects/autocomplete_service_spec.rb | 2 +- .../batch_open_issues_count_service_spec.rb | 2 +- spec/services/projects/count_service_spec.rb | 2 +- .../projects/create_from_template_service_spec.rb | 2 +- spec/services/projects/create_service_spec.rb | 2 +- spec/services/projects/destroy_service_spec.rb | 2 +- .../detect_repository_languages_service_spec.rb | 2 +- spec/services/projects/download_service_spec.rb | 2 +- .../fetch_statistics_increment_service_spec.rb | 2 +- .../projects/group_links/create_service_spec.rb | 2 +- .../projects/group_links/destroy_service_spec.rb | 2 +- .../projects/group_links/update_service_spec.rb | 2 +- .../hashed_storage/base_attachment_service_spec.rb | 2 +- .../migrate_attachments_service_spec.rb | 2 +- .../migrate_repository_service_spec.rb | 2 +- .../hashed_storage/migration_service_spec.rb | 2 +- .../rollback_attachments_service_spec.rb | 2 +- .../rollback_repository_service_spec.rb | 2 +- .../hashed_storage/rollback_service_spec.rb | 2 +- spec/services/projects/move_access_service_spec.rb | 2 +- .../move_notification_settings_service_spec.rb | 2 +- .../move_project_authorizations_service_spec.rb | 2 +- .../move_project_group_links_service_spec.rb | 2 +- .../projects/move_project_members_service_spec.rb | 2 +- .../move_users_star_projects_service_spec.rb | 2 +- .../projects/operations/update_service_spec.rb | 2 +- .../projects/overwrite_project_service_spec.rb | 2 +- .../services/projects/participants_service_spec.rb | 2 +- .../projects/readme_renderer_service_spec.rb | 2 +- .../record_target_platforms_service_spec.rb | 2 +- spec/services/projects/transfer_service_spec.rb | 2 +- spec/services/projects/update_service_spec.rb | 2 +- .../projects/update_statistics_service_spec.rb | 2 +- spec/services/reset_project_cache_service_spec.rb | 2 +- .../system_notes/alert_management_service_spec.rb | 2 +- spec/services/system_notes/base_service_spec.rb | 2 +- .../api/debian_repository_shared_context.rb | 4 +- .../api/debian_packages_shared_examples.rb | 12 +- spec/tasks/gitlab/seed/group_seed_rake_spec.rb | 2 +- .../application_settings/network.html.haml_spec.rb | 2 +- spec/views/admin/groups/_form.html.haml_spec.rb | 2 +- spec/views/admin/projects/_form.html.haml_spec.rb | 2 +- .../projects/page_out_of_bounds.html.haml_spec.rb | 2 +- spec/views/groups/edit.html.haml_spec.rb | 2 +- .../groups/group_members/index.html.haml_spec.rb | 2 +- .../groups/settings/_general.html.haml_spec.rb | 2 +- spec/views/groups/show.html.haml_spec.rb | 2 +- spec/views/layouts/group.html.haml_spec.rb | 2 +- spec/views/layouts/project.html.haml_spec.rb | 2 +- spec/views/projects/_files.html.haml_spec.rb | 2 +- .../project_members/index.html.haml_spec.rb | 2 +- .../ci/pending_builds/update_group_worker_spec.rb | 2 +- .../pending_builds/update_project_worker_spec.rb | 2 +- .../disallow_two_factor_for_group_worker_spec.rb | 2 +- ...isallow_two_factor_for_subgroups_worker_spec.rb | 2 +- spec/workers/group_destroy_worker_spec.rb | 2 +- ...ember_invitation_reminder_emails_worker_spec.rb | 2 +- .../packages/debian/process_changes_worker_spec.rb | 2 +- .../debian/process_package_file_worker_spec.rb | 200 +++++---- ...alize_project_statistics_refresh_worker_spec.rb | 2 +- .../record_target_platforms_worker_spec.rb | 2 +- 430 files changed, 1045 insertions(+), 711 deletions(-) (limited to 'spec') diff --git a/spec/controllers/autocomplete_controller_spec.rb b/spec/controllers/autocomplete_controller_spec.rb index 97729d181b1..4f3045eaa48 100644 --- a/spec/controllers/autocomplete_controller_spec.rb +++ b/spec/controllers/autocomplete_controller_spec.rb @@ -248,7 +248,7 @@ RSpec.describe AutocompleteController do end end - context 'GET projects', feature_category: :projects do + context 'GET projects', feature_category: :groups_and_projects do let(:authorized_project) { create(:project) } let(:authorized_search_project) { create(:project, name: 'rugged') } diff --git a/spec/controllers/dashboard/projects_controller_spec.rb b/spec/controllers/dashboard/projects_controller_spec.rb index 893546def5a..7c5fe0cccf5 100644 --- a/spec/controllers/dashboard/projects_controller_spec.rb +++ b/spec/controllers/dashboard/projects_controller_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe Dashboard::ProjectsController, :aggregate_failures, feature_category: :projects do +RSpec.describe Dashboard::ProjectsController, :aggregate_failures, feature_category: :groups_and_projects do include ExternalAuthorizationServiceHelpers let_it_be(:user) { create(:user) } diff --git a/spec/controllers/explore/projects_controller_spec.rb b/spec/controllers/explore/projects_controller_spec.rb index c2bdb0171e7..e73e115b77d 100644 --- a/spec/controllers/explore/projects_controller_spec.rb +++ b/spec/controllers/explore/projects_controller_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe Explore::ProjectsController, feature_category: :projects do +RSpec.describe Explore::ProjectsController, feature_category: :groups_and_projects do shared_examples 'explore projects' do let(:expected_default_sort) { 'latest_activity_desc' } diff --git a/spec/controllers/groups/children_controller_spec.rb b/spec/controllers/groups/children_controller_spec.rb index 2e37ed95c1c..ee8b2dce298 100644 --- a/spec/controllers/groups/children_controller_spec.rb +++ b/spec/controllers/groups/children_controller_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe Groups::ChildrenController, feature_category: :subgroups do +RSpec.describe Groups::ChildrenController, feature_category: :groups_and_projects do include ExternalAuthorizationServiceHelpers let(:group) { create(:group, :public) } diff --git a/spec/controllers/projects/blame_controller_spec.rb b/spec/controllers/projects/blame_controller_spec.rb index 50556bdb652..38872b50e7d 100644 --- a/spec/controllers/projects/blame_controller_spec.rb +++ b/spec/controllers/projects/blame_controller_spec.rb @@ -28,6 +28,14 @@ RSpec.describe Projects::BlameController, feature_category: :source_code_managem end end + context 'valid branch, binary file' do + let(:id) { 'master/files/images/logo-black.png' } + + it 'redirects' do + expect(subject).to redirect_to("/#{project.full_path}/-/blob/master/files/images/logo-black.png") + end + end + context 'invalid branch, valid file' do let(:id) { 'invalid-branch/files/ruby/missing_file.rb' } diff --git a/spec/controllers/projects_controller_spec.rb b/spec/controllers/projects_controller_spec.rb index d1c4cbbe591..8544ea8524d 100644 --- a/spec/controllers/projects_controller_spec.rb +++ b/spec/controllers/projects_controller_spec.rb @@ -2,7 +2,7 @@ require('spec_helper') -RSpec.describe ProjectsController, feature_category: :projects do +RSpec.describe ProjectsController, feature_category: :groups_and_projects do include ExternalAuthorizationServiceHelpers include ProjectForksHelper using RSpec::Parameterized::TableSyntax diff --git a/spec/factories/packages/packages.rb b/spec/factories/packages/packages.rb index 283df3428db..09f710d545d 100644 --- a/spec/factories/packages/packages.rb +++ b/spec/factories/packages/packages.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + FactoryBot.define do factory :package, class: 'Packages::Package' do project @@ -72,6 +73,7 @@ FactoryBot.define do transient do without_package_files { false } + with_changes_file { false } file_metadatum_trait { processing? ? :unknown : :keep } published_in { :create } end @@ -97,6 +99,9 @@ FactoryBot.define do create :debian_package_file, :udeb, evaluator.file_metadatum_trait, package: package create :debian_package_file, :ddeb, evaluator.file_metadatum_trait, package: package create :debian_package_file, :buildinfo, evaluator.file_metadatum_trait, package: package + end + + if evaluator.with_changes_file create :debian_package_file, :changes, evaluator.file_metadatum_trait, package: package end end @@ -111,6 +116,28 @@ FactoryBot.define do published_in { nil } end end + + factory :debian_temporary_with_files do + status { :processing } + + transient do + without_package_files { false } + with_changes_file { false } + file_metadatum_trait { :unknown } + published_in { nil } + end + end + + factory :debian_temporary_with_changes do + status { :processing } + + transient do + without_package_files { true } + with_changes_file { true } + file_metadatum_trait { :unknown } + published_in { nil } + end + end end factory :helm_package do diff --git a/spec/features/admin/admin_groups_spec.rb b/spec/features/admin/admin_groups_spec.rb index 34fe98d22bd..1e3dbd7fea4 100644 --- a/spec/features/admin/admin_groups_spec.rb +++ b/spec/features/admin/admin_groups_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'Admin Groups', feature_category: :subgroups do +RSpec.describe 'Admin Groups', feature_category: :groups_and_projects do include Features::MembersHelpers include Features::InviteMembersModalHelpers include Spec::Support::Helpers::ModalHelpers diff --git a/spec/features/admin/admin_projects_spec.rb b/spec/features/admin/admin_projects_spec.rb index ac2e9de7aee..3454b7af962 100644 --- a/spec/features/admin/admin_projects_spec.rb +++ b/spec/features/admin/admin_projects_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe "Admin::Projects", feature_category: :projects do +RSpec.describe "Admin::Projects", feature_category: :groups_and_projects do include Features::MembersHelpers include Features::InviteMembersModalHelpers include Spec::Support::Helpers::ModalHelpers diff --git a/spec/features/admin/admin_sees_project_statistics_spec.rb b/spec/features/admin/admin_sees_project_statistics_spec.rb index d3d0625ac43..61e4ef42e12 100644 --- a/spec/features/admin/admin_sees_project_statistics_spec.rb +++ b/spec/features/admin/admin_sees_project_statistics_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe "Admin > Admin sees project statistics", feature_category: :projects do +RSpec.describe "Admin > Admin sees project statistics", feature_category: :groups_and_projects do let(:current_user) { create(:admin) } before do diff --git a/spec/features/admin/admin_sees_projects_statistics_spec.rb b/spec/features/admin/admin_sees_projects_statistics_spec.rb index 82361a985ae..791351c78d0 100644 --- a/spec/features/admin/admin_sees_projects_statistics_spec.rb +++ b/spec/features/admin/admin_sees_projects_statistics_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe "Admin > Admin sees projects statistics", feature_category: :projects do +RSpec.describe "Admin > Admin sees projects statistics", feature_category: :groups_and_projects do let(:current_user) { create(:admin) } before do diff --git a/spec/features/dashboard/archived_projects_spec.rb b/spec/features/dashboard/archived_projects_spec.rb index d3992d34506..b56f942d906 100644 --- a/spec/features/dashboard/archived_projects_spec.rb +++ b/spec/features/dashboard/archived_projects_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'Dashboard Archived Project', feature_category: :projects do +RSpec.describe 'Dashboard Archived Project', feature_category: :groups_and_projects do let(:user) { create :user } let(:project) { create :project } let(:archived_project) { create(:project, :archived) } diff --git a/spec/features/dashboard/group_dashboard_with_external_authorization_service_spec.rb b/spec/features/dashboard/group_dashboard_with_external_authorization_service_spec.rb index 3040c97a16f..c1849cbee83 100644 --- a/spec/features/dashboard/group_dashboard_with_external_authorization_service_spec.rb +++ b/spec/features/dashboard/group_dashboard_with_external_authorization_service_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'The group dashboard', :js, feature_category: :subgroups do +RSpec.describe 'The group dashboard', :js, feature_category: :groups_and_projects do include ExternalAuthorizationServiceHelpers include Features::TopNavSpecHelpers diff --git a/spec/features/dashboard/group_spec.rb b/spec/features/dashboard/group_spec.rb index f363007f0d7..ea600758607 100644 --- a/spec/features/dashboard/group_spec.rb +++ b/spec/features/dashboard/group_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'Dashboard Group', feature_category: :subgroups do +RSpec.describe 'Dashboard Group', feature_category: :groups_and_projects do before do sign_in(create(:user)) end diff --git a/spec/features/dashboard/groups_list_spec.rb b/spec/features/dashboard/groups_list_spec.rb index 7112b30957a..b077b554773 100644 --- a/spec/features/dashboard/groups_list_spec.rb +++ b/spec/features/dashboard/groups_list_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'Dashboard Groups page', :js, feature_category: :subgroups do +RSpec.describe 'Dashboard Groups page', :js, feature_category: :groups_and_projects do let(:user) { create :user } let(:group) { create(:group) } let(:nested_group) { create(:group, :nested) } diff --git a/spec/features/dashboard/projects_spec.rb b/spec/features/dashboard/projects_spec.rb index 32bce32ec6c..04b7f1ca821 100644 --- a/spec/features/dashboard/projects_spec.rb +++ b/spec/features/dashboard/projects_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'Dashboard Projects', feature_category: :projects do +RSpec.describe 'Dashboard Projects', feature_category: :groups_and_projects do let_it_be(:user) { create(:user) } let_it_be(:project, reload: true) { create(:project, :repository, creator: build(:user)) } # ensure creator != owner to avoid N+1 false-positive let_it_be(:project2) { create(:project, :public) } diff --git a/spec/features/dashboard/user_filters_projects_spec.rb b/spec/features/dashboard/user_filters_projects_spec.rb index 8ec9b98c3b3..bf9fe18ee75 100644 --- a/spec/features/dashboard/user_filters_projects_spec.rb +++ b/spec/features/dashboard/user_filters_projects_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'Dashboard > User filters projects', feature_category: :projects do +RSpec.describe 'Dashboard > User filters projects', feature_category: :groups_and_projects do let(:user) { create(:user) } let(:project) { create(:project, name: 'Victorialand', namespace: user.namespace, created_at: 2.seconds.ago, updated_at: 2.seconds.ago) } let(:user2) { create(:user) } diff --git a/spec/features/explore/groups_list_spec.rb b/spec/features/explore/groups_list_spec.rb index 3ffa0dc5b64..39cd3c80307 100644 --- a/spec/features/explore/groups_list_spec.rb +++ b/spec/features/explore/groups_list_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'Explore Groups page', :js, feature_category: :subgroups do +RSpec.describe 'Explore Groups page', :js, feature_category: :groups_and_projects do let!(:user) { create :user } let!(:group) { create(:group) } let!(:public_group) { create(:group, :public) } diff --git a/spec/features/explore/groups_spec.rb b/spec/features/explore/groups_spec.rb index 57a7e8ea523..9a3ae918bb9 100644 --- a/spec/features/explore/groups_spec.rb +++ b/spec/features/explore/groups_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'Explore Groups', :js, feature_category: :subgroups do +RSpec.describe 'Explore Groups', :js, feature_category: :groups_and_projects do let(:user) { create :user } let(:group) { create :group } let!(:private_project) do diff --git a/spec/features/file_uploads/attachment_spec.rb b/spec/features/file_uploads/attachment_spec.rb index cff0c0b52b4..6c433b49b8b 100644 --- a/spec/features/file_uploads/attachment_spec.rb +++ b/spec/features/file_uploads/attachment_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'Upload an attachment', :api, :js, feature_category: :projects do +RSpec.describe 'Upload an attachment', :api, :js, feature_category: :groups_and_projects do include_context 'file upload requests helpers' let_it_be(:project) { create(:project) } diff --git a/spec/features/file_uploads/group_import_spec.rb b/spec/features/file_uploads/group_import_spec.rb index f5082e31c06..02e6488f324 100644 --- a/spec/features/file_uploads/group_import_spec.rb +++ b/spec/features/file_uploads/group_import_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'Upload a group export archive', :api, :js, feature_category: :subgroups do +RSpec.describe 'Upload a group export archive', :api, :js, feature_category: :groups_and_projects do include_context 'file upload requests helpers' let_it_be(:user) { create(:user, :admin) } diff --git a/spec/features/file_uploads/project_import_spec.rb b/spec/features/file_uploads/project_import_spec.rb index 3934e0319ad..acb4d43a373 100644 --- a/spec/features/file_uploads/project_import_spec.rb +++ b/spec/features/file_uploads/project_import_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'Upload a project export archive', :api, :js, feature_category: :projects do +RSpec.describe 'Upload a project export archive', :api, :js, feature_category: :groups_and_projects do include_context 'file upload requests helpers' let_it_be(:user) { create(:user, :admin) } diff --git a/spec/features/groups/activity_spec.rb b/spec/features/groups/activity_spec.rb index 7e592b3f48b..12224566f35 100644 --- a/spec/features/groups/activity_spec.rb +++ b/spec/features/groups/activity_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'Group activity page', feature_category: :subgroups do +RSpec.describe 'Group activity page', feature_category: :groups_and_projects do let(:user) { create(:group_member, :developer, user: create(:user), group: group).user } let(:group) { create(:group) } let(:path) { activity_group_path(group) } diff --git a/spec/features/groups/board_sidebar_spec.rb b/spec/features/groups/board_sidebar_spec.rb index 8216bc3249d..6a1b7d20a25 100644 --- a/spec/features/groups/board_sidebar_spec.rb +++ b/spec/features/groups/board_sidebar_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'Group Issue Boards', :js, feature_category: :subgroups do +RSpec.describe 'Group Issue Boards', :js, feature_category: :groups_and_projects do include BoardHelpers let(:group) { create(:group) } diff --git a/spec/features/groups/empty_states_spec.rb b/spec/features/groups/empty_states_spec.rb index e123e223ae5..30074f421e5 100644 --- a/spec/features/groups/empty_states_spec.rb +++ b/spec/features/groups/empty_states_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'Group empty states', feature_category: :subgroups do +RSpec.describe 'Group empty states', feature_category: :groups_and_projects do let(:group) { create(:group) } let(:user) { create(:group_member, :developer, user: create(:user), group: group).user } diff --git a/spec/features/groups/group_page_with_external_authorization_service_spec.rb b/spec/features/groups/group_page_with_external_authorization_service_spec.rb index dce5b67d694..5b373aecce8 100644 --- a/spec/features/groups/group_page_with_external_authorization_service_spec.rb +++ b/spec/features/groups/group_page_with_external_authorization_service_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'The group page', feature_category: :subgroups do +RSpec.describe 'The group page', feature_category: :groups_and_projects do include ExternalAuthorizationServiceHelpers let(:user) { create(:user) } diff --git a/spec/features/groups/group_settings_spec.rb b/spec/features/groups/group_settings_spec.rb index 6443f4a6c38..a248a2b471a 100644 --- a/spec/features/groups/group_settings_spec.rb +++ b/spec/features/groups/group_settings_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'Edit group settings', feature_category: :subgroups do +RSpec.describe 'Edit group settings', feature_category: :groups_and_projects do include Spec::Support::Helpers::ModalHelpers let(:user) { create(:user) } diff --git a/spec/features/groups/issues_spec.rb b/spec/features/groups/issues_spec.rb index 6d0d768d356..0d7e9df031c 100644 --- a/spec/features/groups/issues_spec.rb +++ b/spec/features/groups/issues_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'Group issues page', feature_category: :subgroups do +RSpec.describe 'Group issues page', feature_category: :groups_and_projects do include FilteredSearchHelpers include DragTo diff --git a/spec/features/groups/members/filter_members_spec.rb b/spec/features/groups/members/filter_members_spec.rb index c2ec709576b..bf9efd06a03 100644 --- a/spec/features/groups/members/filter_members_spec.rb +++ b/spec/features/groups/members/filter_members_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'Groups > Members > Filter members', :js, feature_category: :subgroups do +RSpec.describe 'Groups > Members > Filter members', :js, feature_category: :groups_and_projects do include Features::MembersHelpers let(:user) { create(:user) } diff --git a/spec/features/groups/members/leave_group_spec.rb b/spec/features/groups/members/leave_group_spec.rb index e1c2d8c0547..d864852e0d4 100644 --- a/spec/features/groups/members/leave_group_spec.rb +++ b/spec/features/groups/members/leave_group_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'Groups > Members > Leave group', feature_category: :subgroups do +RSpec.describe 'Groups > Members > Leave group', feature_category: :groups_and_projects do include Features::MembersHelpers include Spec::Support::Helpers::ModalHelpers diff --git a/spec/features/groups/members/list_members_spec.rb b/spec/features/groups/members/list_members_spec.rb index 6e20f92c16b..b16d61a5fe4 100644 --- a/spec/features/groups/members/list_members_spec.rb +++ b/spec/features/groups/members/list_members_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'Groups > Members > List members', :js, feature_category: :subgroups do +RSpec.describe 'Groups > Members > List members', :js, feature_category: :groups_and_projects do include Features::MembersHelpers let(:user1) { create(:user, name: 'John Doe') } diff --git a/spec/features/groups/members/manage_groups_spec.rb b/spec/features/groups/members/manage_groups_spec.rb index f9c11dd0183..599b31827da 100644 --- a/spec/features/groups/members/manage_groups_spec.rb +++ b/spec/features/groups/members/manage_groups_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'Groups > Members > Manage groups', :js, feature_category: :subgroups do +RSpec.describe 'Groups > Members > Manage groups', :js, feature_category: :groups_and_projects do include Features::MembersHelpers include Features::InviteMembersModalHelpers include Spec::Support::Helpers::ModalHelpers diff --git a/spec/features/groups/members/manage_members_spec.rb b/spec/features/groups/members/manage_members_spec.rb index 2d5a3dbb8f8..3c1425fc9ca 100644 --- a/spec/features/groups/members/manage_members_spec.rb +++ b/spec/features/groups/members/manage_members_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'Groups > Members > Manage members', feature_category: :subgroups do +RSpec.describe 'Groups > Members > Manage members', feature_category: :groups_and_projects do include Features::MembersHelpers include Features::InviteMembersModalHelpers include Spec::Support::Helpers::ModalHelpers diff --git a/spec/features/groups/members/master_adds_member_with_expiration_date_spec.rb b/spec/features/groups/members/master_adds_member_with_expiration_date_spec.rb index 4f56c807ec8..c2eedfb4063 100644 --- a/spec/features/groups/members/master_adds_member_with_expiration_date_spec.rb +++ b/spec/features/groups/members/master_adds_member_with_expiration_date_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'Groups > Members > Owner adds member with expiration date', :js, feature_category: :subgroups do +RSpec.describe 'Groups > Members > Owner adds member with expiration date', :js, feature_category: :groups_and_projects do include Features::MembersHelpers include Features::InviteMembersModalHelpers diff --git a/spec/features/groups/members/master_manages_access_requests_spec.rb b/spec/features/groups/members/master_manages_access_requests_spec.rb index 951dc59feca..1b33a28d823 100644 --- a/spec/features/groups/members/master_manages_access_requests_spec.rb +++ b/spec/features/groups/members/master_manages_access_requests_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'Groups > Members > Maintainer manages access requests', feature_category: :subgroups do +RSpec.describe 'Groups > Members > Maintainer manages access requests', feature_category: :groups_and_projects do it_behaves_like 'Maintainer manages access requests' do let(:entity) { create(:group, :public) } let(:members_page_path) { group_group_members_path(entity) } diff --git a/spec/features/groups/members/request_access_spec.rb b/spec/features/groups/members/request_access_spec.rb index 35eb085a195..cd0c9bfe3eb 100644 --- a/spec/features/groups/members/request_access_spec.rb +++ b/spec/features/groups/members/request_access_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'Groups > Members > Request access', feature_category: :subgroups do +RSpec.describe 'Groups > Members > Request access', feature_category: :groups_and_projects do let(:user) { create(:user) } let(:owner) { create(:user) } let(:group) { create(:group, :public) } diff --git a/spec/features/groups/members/search_members_spec.rb b/spec/features/groups/members/search_members_spec.rb index 80de1cabd1e..ed2e0cd7b09 100644 --- a/spec/features/groups/members/search_members_spec.rb +++ b/spec/features/groups/members/search_members_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'Search group member', :js, feature_category: :subgroups do +RSpec.describe 'Search group member', :js, feature_category: :groups_and_projects do include Features::MembersHelpers let(:user) { create :user } diff --git a/spec/features/groups/members/sort_members_spec.rb b/spec/features/groups/members/sort_members_spec.rb index d2e5445deae..fd367b8e763 100644 --- a/spec/features/groups/members/sort_members_spec.rb +++ b/spec/features/groups/members/sort_members_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'Groups > Members > Sort members', :js, feature_category: :subgroups do +RSpec.describe 'Groups > Members > Sort members', :js, feature_category: :groups_and_projects do include Features::MembersHelpers let(:owner) { create(:user, name: 'John Doe', created_at: 5.days.ago, last_activity_on: Date.today) } diff --git a/spec/features/groups/members/tabs_spec.rb b/spec/features/groups/members/tabs_spec.rb index 2dc116842b3..cc97b367313 100644 --- a/spec/features/groups/members/tabs_spec.rb +++ b/spec/features/groups/members/tabs_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'Groups > Members > Tabs', :js, feature_category: :subgroups do +RSpec.describe 'Groups > Members > Tabs', :js, feature_category: :groups_and_projects do using RSpec::Parameterized::TableSyntax shared_examples 'active "Members" tab' do diff --git a/spec/features/groups/milestone_spec.rb b/spec/features/groups/milestone_spec.rb index 376e1e6063f..0a697eaa798 100644 --- a/spec/features/groups/milestone_spec.rb +++ b/spec/features/groups/milestone_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'Group milestones', feature_category: :subgroups do +RSpec.describe 'Group milestones', feature_category: :groups_and_projects do let_it_be(:group) { create(:group) } let_it_be(:project) { create(:project_empty_repo, group: group) } let_it_be(:user) { create(:group_member, :maintainer, user: create(:user), group: group).user } diff --git a/spec/features/groups/new_group_page_spec.rb b/spec/features/groups/new_group_page_spec.rb index 1efdc3fff07..a73dbf998c3 100644 --- a/spec/features/groups/new_group_page_spec.rb +++ b/spec/features/groups/new_group_page_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'New group page', :js, feature_category: :subgroups do +RSpec.describe 'New group page', :js, feature_category: :groups_and_projects do let_it_be(:user) { create(:user) } let_it_be(:parent_group) { create(:group) } diff --git a/spec/features/groups/settings/group_badges_spec.rb b/spec/features/groups/settings/group_badges_spec.rb index 07c8451f8fb..4a4cb297fcf 100644 --- a/spec/features/groups/settings/group_badges_spec.rb +++ b/spec/features/groups/settings/group_badges_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'Group Badges', feature_category: :subgroups do +RSpec.describe 'Group Badges', feature_category: :groups_and_projects do include WaitForRequests let(:user) { create(:user) } diff --git a/spec/features/groups/settings/manage_applications_spec.rb b/spec/features/groups/settings/manage_applications_spec.rb index e7b87cda506..94adeaa14d2 100644 --- a/spec/features/groups/settings/manage_applications_spec.rb +++ b/spec/features/groups/settings/manage_applications_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'User manages applications', feature_category: :subgroups do +RSpec.describe 'User manages applications', feature_category: :groups_and_projects do let_it_be(:group) { create(:group) } let_it_be(:user) { create(:user) } let_it_be(:new_application_path) { group_settings_applications_path(group) } diff --git a/spec/features/groups/settings/user_searches_in_settings_spec.rb b/spec/features/groups/settings/user_searches_in_settings_spec.rb index 374ac236e20..6e94042185d 100644 --- a/spec/features/groups/settings/user_searches_in_settings_spec.rb +++ b/spec/features/groups/settings/user_searches_in_settings_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'User searches group settings', :js, feature_category: :subgroups do +RSpec.describe 'User searches group settings', :js, feature_category: :groups_and_projects do let_it_be(:user) { create(:user) } let_it_be(:group) { create(:group) } diff --git a/spec/features/groups/share_lock_spec.rb b/spec/features/groups/share_lock_spec.rb index 2f5a5e6ba16..34af5ee8b09 100644 --- a/spec/features/groups/share_lock_spec.rb +++ b/spec/features/groups/share_lock_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'Group share with group lock', feature_category: :subgroups do +RSpec.describe 'Group share with group lock', feature_category: :groups_and_projects do let(:root_owner) { create(:user) } let(:root_group) { create(:group) } diff --git a/spec/features/groups/show_spec.rb b/spec/features/groups/show_spec.rb index 0f936173e5d..8450322945c 100644 --- a/spec/features/groups/show_spec.rb +++ b/spec/features/groups/show_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'Group show page', feature_category: :subgroups do +RSpec.describe 'Group show page', feature_category: :groups_and_projects do include Features::InviteMembersModalHelpers let_it_be(:user) { create(:user) } diff --git a/spec/features/groups/user_browse_projects_group_page_spec.rb b/spec/features/groups/user_browse_projects_group_page_spec.rb index 38b879bb5b2..c3b8b81da68 100644 --- a/spec/features/groups/user_browse_projects_group_page_spec.rb +++ b/spec/features/groups/user_browse_projects_group_page_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'User browse group projects page', feature_category: :subgroups do +RSpec.describe 'User browse group projects page', feature_category: :groups_and_projects do let(:user) { create :user } let(:group) { create :group } diff --git a/spec/features/groups/user_sees_package_sidebar_spec.rb b/spec/features/groups/user_sees_package_sidebar_spec.rb index 64422f5cca5..6a91dfb92bf 100644 --- a/spec/features/groups/user_sees_package_sidebar_spec.rb +++ b/spec/features/groups/user_sees_package_sidebar_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'Groups > sidebar', feature_category: :subgroups do +RSpec.describe 'Groups > sidebar', feature_category: :groups_and_projects do let(:user) { create(:user) } let(:group) { create(:group) } diff --git a/spec/features/groups/user_sees_users_dropdowns_in_issuables_list_spec.rb b/spec/features/groups/user_sees_users_dropdowns_in_issuables_list_spec.rb index e5e30ed1a55..9a3232990ec 100644 --- a/spec/features/groups/user_sees_users_dropdowns_in_issuables_list_spec.rb +++ b/spec/features/groups/user_sees_users_dropdowns_in_issuables_list_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'Groups > User sees users dropdowns in issuables list', :js, feature_category: :subgroups do +RSpec.describe 'Groups > User sees users dropdowns in issuables list', :js, feature_category: :groups_and_projects do include FilteredSearchHelpers let(:group) { create(:group) } diff --git a/spec/features/groups_spec.rb b/spec/features/groups_spec.rb index 088b5b11a9a..de4b9964b98 100644 --- a/spec/features/groups_spec.rb +++ b/spec/features/groups_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'Group', feature_category: :subgroups do +RSpec.describe 'Group', feature_category: :groups_and_projects do let(:user) { create(:user) } before do diff --git a/spec/features/ics/group_issues_spec.rb b/spec/features/ics/group_issues_spec.rb index 70ec156a7b0..164f5df7cc5 100644 --- a/spec/features/ics/group_issues_spec.rb +++ b/spec/features/ics/group_issues_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'Group Issues Calendar Feed', feature_category: :subgroups do +RSpec.describe 'Group Issues Calendar Feed', feature_category: :groups_and_projects do describe 'GET /issues' do let!(:user) do user = create(:user, email: 'private1@example.com') diff --git a/spec/features/ics/project_issues_spec.rb b/spec/features/ics/project_issues_spec.rb index 4bbd966d72a..daad6f1df2f 100644 --- a/spec/features/ics/project_issues_spec.rb +++ b/spec/features/ics/project_issues_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'Project Issues Calendar Feed', feature_category: :projects do +RSpec.describe 'Project Issues Calendar Feed', feature_category: :groups_and_projects do describe 'GET /issues' do let!(:user) do user = create(:user, email: 'private1@example.com') diff --git a/spec/features/projects/active_tabs_spec.rb b/spec/features/projects/active_tabs_spec.rb index c27c9530f61..594c2b442aa 100644 --- a/spec/features/projects/active_tabs_spec.rb +++ b/spec/features/projects/active_tabs_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'Project active tab', feature_category: :projects do +RSpec.describe 'Project active tab', feature_category: :groups_and_projects do let_it_be(:project) { create(:project, :repository, :with_namespace_settings) } let(:user) { project.first_owner } diff --git a/spec/features/projects/activity/rss_spec.rb b/spec/features/projects/activity/rss_spec.rb index 5297f30220d..fdb70092917 100644 --- a/spec/features/projects/activity/rss_spec.rb +++ b/spec/features/projects/activity/rss_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'Project Activity RSS', feature_category: :projects do +RSpec.describe 'Project Activity RSS', feature_category: :groups_and_projects do let(:project) { create(:project, :public) } let(:user) { project.first_owner } let(:path) { activity_project_path(project) } diff --git a/spec/features/projects/activity/user_sees_activity_spec.rb b/spec/features/projects/activity/user_sees_activity_spec.rb index cfa62415c49..5335b9d0e95 100644 --- a/spec/features/projects/activity/user_sees_activity_spec.rb +++ b/spec/features/projects/activity/user_sees_activity_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'Projects > Activity > User sees activity', feature_category: :projects do +RSpec.describe 'Projects > Activity > User sees activity', feature_category: :groups_and_projects do let(:project) { create(:project, :repository, :public) } let(:user) { project.creator } let(:issue) { create(:issue, project: project) } diff --git a/spec/features/projects/activity/user_sees_private_activity_spec.rb b/spec/features/projects/activity/user_sees_private_activity_spec.rb index e0aaf1dbbc3..f475cb6d941 100644 --- a/spec/features/projects/activity/user_sees_private_activity_spec.rb +++ b/spec/features/projects/activity/user_sees_private_activity_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'Project > Activity > User sees private activity', :js, feature_category: :projects do +RSpec.describe 'Project > Activity > User sees private activity', :js, feature_category: :groups_and_projects do let(:project) { create(:project, :public) } let(:author) { create(:user) } let(:user) { create(:user) } diff --git a/spec/features/projects/blobs/blame_spec.rb b/spec/features/projects/blobs/blame_spec.rb index 9f061a2ff14..798cd401dac 100644 --- a/spec/features/projects/blobs/blame_spec.rb +++ b/spec/features/projects/blobs/blame_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'File blame', :js, feature_category: :projects do +RSpec.describe 'File blame', :js, feature_category: :groups_and_projects do include TreeHelper let_it_be(:project) { create(:project, :public, :repository) } diff --git a/spec/features/projects/blobs/blob_line_permalink_updater_spec.rb b/spec/features/projects/blobs/blob_line_permalink_updater_spec.rb index 48ee39dad19..f0058e75e52 100644 --- a/spec/features/projects/blobs/blob_line_permalink_updater_spec.rb +++ b/spec/features/projects/blobs/blob_line_permalink_updater_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'Blob button line permalinks (BlobLinePermalinkUpdater)', :js, feature_category: :projects do +RSpec.describe 'Blob button line permalinks (BlobLinePermalinkUpdater)', :js, feature_category: :groups_and_projects do include TreeHelper let(:project) { create(:project, :public, :repository) } diff --git a/spec/features/projects/blobs/blob_show_spec.rb b/spec/features/projects/blobs/blob_show_spec.rb index cd1dde55e30..2e63500d36e 100644 --- a/spec/features/projects/blobs/blob_show_spec.rb +++ b/spec/features/projects/blobs/blob_show_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'File blob', :js, feature_category: :projects do +RSpec.describe 'File blob', :js, feature_category: :groups_and_projects do include MobileHelpers let(:project) { create(:project, :public, :repository) } diff --git a/spec/features/projects/blobs/edit_spec.rb b/spec/features/projects/blobs/edit_spec.rb index 7474f416146..3c68f310744 100644 --- a/spec/features/projects/blobs/edit_spec.rb +++ b/spec/features/projects/blobs/edit_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'Editing file blob', :js, feature_category: :projects do +RSpec.describe 'Editing file blob', :js, feature_category: :groups_and_projects do include Features::SourceEditorSpecHelpers include TreeHelper include Features::BlobSpecHelpers diff --git a/spec/features/projects/blobs/shortcuts_blob_spec.rb b/spec/features/projects/blobs/shortcuts_blob_spec.rb index 03276a737da..162066540d9 100644 --- a/spec/features/projects/blobs/shortcuts_blob_spec.rb +++ b/spec/features/projects/blobs/shortcuts_blob_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'Blob shortcuts', :js, feature_category: :projects do +RSpec.describe 'Blob shortcuts', :js, feature_category: :groups_and_projects do include TreeHelper let(:project) { create(:project, :public, :repository) } let(:path) { project.repository.ls_files(project.repository.root_ref)[0] } diff --git a/spec/features/projects/blobs/user_follows_pipeline_suggest_nudge_spec.rb b/spec/features/projects/blobs/user_follows_pipeline_suggest_nudge_spec.rb index b723bd5690a..1990526b5fc 100644 --- a/spec/features/projects/blobs/user_follows_pipeline_suggest_nudge_spec.rb +++ b/spec/features/projects/blobs/user_follows_pipeline_suggest_nudge_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'User follows pipeline suggest nudge spec when feature is enabled', :js, feature_category: :projects do +RSpec.describe 'User follows pipeline suggest nudge spec when feature is enabled', :js, feature_category: :groups_and_projects do include CookieHelper let(:project) { create(:project, :empty_repo) } diff --git a/spec/features/projects/blobs/user_views_pipeline_editor_button_spec.rb b/spec/features/projects/blobs/user_views_pipeline_editor_button_spec.rb index 3b383793de2..3e4ee13269f 100644 --- a/spec/features/projects/blobs/user_views_pipeline_editor_button_spec.rb +++ b/spec/features/projects/blobs/user_views_pipeline_editor_button_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'User views pipeline editor button on root ci config file', :js, feature_category: :projects do +RSpec.describe 'User views pipeline editor button on root ci config file', :js, feature_category: :groups_and_projects do include Features::BlobSpecHelpers let_it_be(:user) { create(:user) } diff --git a/spec/features/projects/branches/download_buttons_spec.rb b/spec/features/projects/branches/download_buttons_spec.rb index 80ccd9c1417..2092af537e8 100644 --- a/spec/features/projects/branches/download_buttons_spec.rb +++ b/spec/features/projects/branches/download_buttons_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'Download buttons in branches page', feature_category: :projects do +RSpec.describe 'Download buttons in branches page', feature_category: :groups_and_projects do let(:user) { create(:user) } let(:role) { :developer } let(:status) { 'success' } diff --git a/spec/features/projects/branches/new_branch_ref_dropdown_spec.rb b/spec/features/projects/branches/new_branch_ref_dropdown_spec.rb index 9afd8b3263a..0badde99bdb 100644 --- a/spec/features/projects/branches/new_branch_ref_dropdown_spec.rb +++ b/spec/features/projects/branches/new_branch_ref_dropdown_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'New Branch Ref Dropdown', :js, feature_category: :projects do +RSpec.describe 'New Branch Ref Dropdown', :js, feature_category: :groups_and_projects do include ListboxHelpers let(:user) { create(:user) } diff --git a/spec/features/projects/branches/user_creates_branch_spec.rb b/spec/features/projects/branches/user_creates_branch_spec.rb index 5aa10a8d4b0..8d636dacb75 100644 --- a/spec/features/projects/branches/user_creates_branch_spec.rb +++ b/spec/features/projects/branches/user_creates_branch_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'User creates branch', :js, feature_category: :projects do +RSpec.describe 'User creates branch', :js, feature_category: :groups_and_projects do include Features::BranchesHelpers let_it_be(:group) { create(:group, :public) } diff --git a/spec/features/projects/branches/user_deletes_branch_spec.rb b/spec/features/projects/branches/user_deletes_branch_spec.rb index 92b5f176d2d..d120ea36a55 100644 --- a/spec/features/projects/branches/user_deletes_branch_spec.rb +++ b/spec/features/projects/branches/user_deletes_branch_spec.rb @@ -2,7 +2,7 @@ require "spec_helper" -RSpec.describe "User deletes branch", :js, feature_category: :projects do +RSpec.describe "User deletes branch", :js, feature_category: :groups_and_projects do include Spec::Support::Helpers::ModalHelpers let_it_be(:user) { create(:user) } diff --git a/spec/features/projects/branches/user_views_branches_spec.rb b/spec/features/projects/branches/user_views_branches_spec.rb index f0a1ba84ec6..322e1fa0ac1 100644 --- a/spec/features/projects/branches/user_views_branches_spec.rb +++ b/spec/features/projects/branches/user_views_branches_spec.rb @@ -2,7 +2,7 @@ require "spec_helper" -RSpec.describe "User views branches", :js, feature_category: :projects do +RSpec.describe "User views branches", :js, feature_category: :groups_and_projects do let_it_be(:project) { create(:project, :repository) } let_it_be(:user) { project.first_owner } diff --git a/spec/features/projects/branches_spec.rb b/spec/features/projects/branches_spec.rb index e1f1a63565c..7cfb7240db6 100644 --- a/spec/features/projects/branches_spec.rb +++ b/spec/features/projects/branches_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'Branches', feature_category: :projects do +RSpec.describe 'Branches', feature_category: :groups_and_projects do let_it_be(:user) { create(:user) } let_it_be(:project) { create(:project, :public, :repository) } let(:repository) { project.repository } diff --git a/spec/features/projects/classification_label_on_project_pages_spec.rb b/spec/features/projects/classification_label_on_project_pages_spec.rb index 662b2296234..fc3e2993cc8 100644 --- a/spec/features/projects/classification_label_on_project_pages_spec.rb +++ b/spec/features/projects/classification_label_on_project_pages_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'Classification label on project pages', feature_category: :projects do +RSpec.describe 'Classification label on project pages', feature_category: :groups_and_projects do let(:project) do create(:project, external_authorization_classification_label: 'authorized label') end diff --git a/spec/features/projects/cluster_agents_spec.rb b/spec/features/projects/cluster_agents_spec.rb index 43046db2b6c..baef26e3e63 100644 --- a/spec/features/projects/cluster_agents_spec.rb +++ b/spec/features/projects/cluster_agents_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'ClusterAgents', :js, feature_category: :projects do +RSpec.describe 'ClusterAgents', :js, feature_category: :groups_and_projects do let_it_be(:token) { create(:cluster_agent_token, description: 'feature test token') } let(:agent) { token.agent } diff --git a/spec/features/projects/clusters_spec.rb b/spec/features/projects/clusters_spec.rb index 3fb586bd143..e2737d62749 100644 --- a/spec/features/projects/clusters_spec.rb +++ b/spec/features/projects/clusters_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'Clusters', :js, feature_category: :projects do +RSpec.describe 'Clusters', :js, feature_category: :groups_and_projects do include GoogleApi::CloudPlatformHelpers let(:project) { create(:project) } diff --git a/spec/features/projects/compare_spec.rb b/spec/features/projects/compare_spec.rb index 4c13d23559b..3313f6ef3b7 100644 --- a/spec/features/projects/compare_spec.rb +++ b/spec/features/projects/compare_spec.rb @@ -2,7 +2,7 @@ require "spec_helper" -RSpec.describe "Compare", :js, feature_category: :projects do +RSpec.describe "Compare", :js, feature_category: :groups_and_projects do let(:user) { create(:user) } let(:project) { create(:project, :repository) } diff --git a/spec/features/projects/container_registry_spec.rb b/spec/features/projects/container_registry_spec.rb index 5306a9f15c6..493435d3439 100644 --- a/spec/features/projects/container_registry_spec.rb +++ b/spec/features/projects/container_registry_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'Container Registry', :js, feature_category: :projects do +RSpec.describe 'Container Registry', :js, feature_category: :groups_and_projects do include_context 'container registry tags' let(:user) { create(:user) } diff --git a/spec/features/projects/deploy_keys_spec.rb b/spec/features/projects/deploy_keys_spec.rb index bd48fb68304..219e47e3f0e 100644 --- a/spec/features/projects/deploy_keys_spec.rb +++ b/spec/features/projects/deploy_keys_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'Project deploy keys', :js, feature_category: :projects do +RSpec.describe 'Project deploy keys', :js, feature_category: :groups_and_projects do let_it_be(:user) { create(:user) } let_it_be(:project) { create(:project_empty_repo) } let_it_be(:deploy_keys_project) { create(:deploy_keys_project, project: project) } diff --git a/spec/features/projects/environments/environment_spec.rb b/spec/features/projects/environments/environment_spec.rb index 527a146ff73..346268af972 100644 --- a/spec/features/projects/environments/environment_spec.rb +++ b/spec/features/projects/environments/environment_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'Environment', feature_category: :projects do +RSpec.describe 'Environment', feature_category: :groups_and_projects do let_it_be(:project) { create(:project, :repository) } let(:user) { create(:user) } let(:role) { :developer } diff --git a/spec/features/projects/environments/environments_spec.rb b/spec/features/projects/environments/environments_spec.rb index b50fc59ac32..2490b1fde8e 100644 --- a/spec/features/projects/environments/environments_spec.rb +++ b/spec/features/projects/environments/environments_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'Environments page', :js, feature_category: :projects do +RSpec.describe 'Environments page', :js, feature_category: :groups_and_projects do include Spec::Support::Helpers::ModalHelpers let(:project) { create(:project) } diff --git a/spec/features/projects/feature_flag_user_lists/user_deletes_feature_flag_user_list_spec.rb b/spec/features/projects/feature_flag_user_lists/user_deletes_feature_flag_user_list_spec.rb index 6383c3196c4..687af894168 100644 --- a/spec/features/projects/feature_flag_user_lists/user_deletes_feature_flag_user_list_spec.rb +++ b/spec/features/projects/feature_flag_user_lists/user_deletes_feature_flag_user_list_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'User deletes feature flag user list', :js, feature_category: :projects do +RSpec.describe 'User deletes feature flag user list', :js, feature_category: :groups_and_projects do let_it_be(:project) { create(:project) } let_it_be(:developer) { create(:user) } diff --git a/spec/features/projects/feature_flag_user_lists/user_edits_feature_flag_user_list_spec.rb b/spec/features/projects/feature_flag_user_lists/user_edits_feature_flag_user_list_spec.rb index 8ab9e9baab9..8d0052c4ee1 100644 --- a/spec/features/projects/feature_flag_user_lists/user_edits_feature_flag_user_list_spec.rb +++ b/spec/features/projects/feature_flag_user_lists/user_edits_feature_flag_user_list_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'User edits feature flag user list', :js, feature_category: :projects do +RSpec.describe 'User edits feature flag user list', :js, feature_category: :groups_and_projects do let_it_be(:project) { create(:project) } let_it_be(:developer) { create(:user) } diff --git a/spec/features/projects/feature_flag_user_lists/user_sees_feature_flag_user_list_details_spec.rb b/spec/features/projects/feature_flag_user_lists/user_sees_feature_flag_user_list_details_spec.rb index 7614349c5a4..672c4eb714c 100644 --- a/spec/features/projects/feature_flag_user_lists/user_sees_feature_flag_user_list_details_spec.rb +++ b/spec/features/projects/feature_flag_user_lists/user_sees_feature_flag_user_list_details_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'User sees feature flag user list details', :js, feature_category: :projects do +RSpec.describe 'User sees feature flag user list details', :js, feature_category: :groups_and_projects do let_it_be(:project) { create(:project) } let_it_be(:developer) { create(:user) } diff --git a/spec/features/projects/features_visibility_spec.rb b/spec/features/projects/features_visibility_spec.rb index 5e0998412ed..b798524b9c4 100644 --- a/spec/features/projects/features_visibility_spec.rb +++ b/spec/features/projects/features_visibility_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'Edit Project Settings', feature_category: :projects do +RSpec.describe 'Edit Project Settings', feature_category: :groups_and_projects do let(:member) { create(:user) } let!(:project) { create(:project, :public, :repository) } let!(:issue) { create(:issue, project: project) } diff --git a/spec/features/projects/files/dockerfile_dropdown_spec.rb b/spec/features/projects/files/dockerfile_dropdown_spec.rb index ec1f03570d9..a74cde35be6 100644 --- a/spec/features/projects/files/dockerfile_dropdown_spec.rb +++ b/spec/features/projects/files/dockerfile_dropdown_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'Projects > Files > User wants to add a Dockerfile file', :js, feature_category: :projects do +RSpec.describe 'Projects > Files > User wants to add a Dockerfile file', :js, feature_category: :groups_and_projects do include Features::SourceEditorSpecHelpers before do diff --git a/spec/features/projects/files/download_buttons_spec.rb b/spec/features/projects/files/download_buttons_spec.rb index 2710e2efa94..9b3d19cfea3 100644 --- a/spec/features/projects/files/download_buttons_spec.rb +++ b/spec/features/projects/files/download_buttons_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'Projects > Files > Download buttons in files tree', feature_category: :projects do +RSpec.describe 'Projects > Files > Download buttons in files tree', feature_category: :groups_and_projects do let(:project) { create(:project, :repository) } let(:user) { project.creator } diff --git a/spec/features/projects/files/edit_file_soft_wrap_spec.rb b/spec/features/projects/files/edit_file_soft_wrap_spec.rb index f6342257847..8f7c09aac69 100644 --- a/spec/features/projects/files/edit_file_soft_wrap_spec.rb +++ b/spec/features/projects/files/edit_file_soft_wrap_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'Projects > Files > User uses soft wrap while editing file', :js, feature_category: :projects do +RSpec.describe 'Projects > Files > User uses soft wrap while editing file', :js, feature_category: :groups_and_projects do before do project = create(:project, :repository) user = project.first_owner diff --git a/spec/features/projects/files/editing_a_file_spec.rb b/spec/features/projects/files/editing_a_file_spec.rb index 1f928da0427..b4edd5c2729 100644 --- a/spec/features/projects/files/editing_a_file_spec.rb +++ b/spec/features/projects/files/editing_a_file_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'Projects > Files > User wants to edit a file', feature_category: :projects do +RSpec.describe 'Projects > Files > User wants to edit a file', feature_category: :groups_and_projects do include ProjectForksHelper let(:project) { create(:project, :repository, :public) } let(:user) { project.first_owner } diff --git a/spec/features/projects/files/files_sort_submodules_with_folders_spec.rb b/spec/features/projects/files/files_sort_submodules_with_folders_spec.rb index d791e22e4f8..ce63afe58d1 100644 --- a/spec/features/projects/files/files_sort_submodules_with_folders_spec.rb +++ b/spec/features/projects/files/files_sort_submodules_with_folders_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'Projects > Files > User views files page', feature_category: :projects do +RSpec.describe 'Projects > Files > User views files page', feature_category: :groups_and_projects do let(:project) { create(:forked_project_with_submodules) } let(:user) { project.first_owner } diff --git a/spec/features/projects/files/find_file_keyboard_spec.rb b/spec/features/projects/files/find_file_keyboard_spec.rb index 19813396435..85ecd1c2d96 100644 --- a/spec/features/projects/files/find_file_keyboard_spec.rb +++ b/spec/features/projects/files/find_file_keyboard_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'Projects > Files > Find file keyboard shortcuts', :js, feature_category: :projects do +RSpec.describe 'Projects > Files > Find file keyboard shortcuts', :js, feature_category: :groups_and_projects do let(:project) { create(:project, :repository) } let(:user) { project.first_owner } diff --git a/spec/features/projects/files/gitignore_dropdown_spec.rb b/spec/features/projects/files/gitignore_dropdown_spec.rb index eedb79167bd..36b02b9b948 100644 --- a/spec/features/projects/files/gitignore_dropdown_spec.rb +++ b/spec/features/projects/files/gitignore_dropdown_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'Projects > Files > User wants to add a .gitignore file', :js, feature_category: :projects do +RSpec.describe 'Projects > Files > User wants to add a .gitignore file', :js, feature_category: :groups_and_projects do include Features::SourceEditorSpecHelpers before do diff --git a/spec/features/projects/files/gitlab_ci_yml_dropdown_spec.rb b/spec/features/projects/files/gitlab_ci_yml_dropdown_spec.rb index f2d657b3513..929554ff0d6 100644 --- a/spec/features/projects/files/gitlab_ci_yml_dropdown_spec.rb +++ b/spec/features/projects/files/gitlab_ci_yml_dropdown_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'Projects > Files > User wants to add a .gitlab-ci.yml file', :js, feature_category: :projects do +RSpec.describe 'Projects > Files > User wants to add a .gitlab-ci.yml file', :js, feature_category: :groups_and_projects do include Features::SourceEditorSpecHelpers let(:params) { {} } diff --git a/spec/features/projects/files/project_owner_creates_license_file_spec.rb b/spec/features/projects/files/project_owner_creates_license_file_spec.rb index 7ac9cb33060..8ec9adaeb9a 100644 --- a/spec/features/projects/files/project_owner_creates_license_file_spec.rb +++ b/spec/features/projects/files/project_owner_creates_license_file_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'Projects > Files > Project owner creates a license file', :js, feature_category: :projects do +RSpec.describe 'Projects > Files > Project owner creates a license file', :js, feature_category: :groups_and_projects do let(:project) { create(:project, :repository) } let(:project_maintainer) { project.first_owner } diff --git a/spec/features/projects/files/project_owner_sees_link_to_create_license_file_in_empty_project_spec.rb b/spec/features/projects/files/project_owner_sees_link_to_create_license_file_in_empty_project_spec.rb index cfa55eba188..bfe1fd073c5 100644 --- a/spec/features/projects/files/project_owner_sees_link_to_create_license_file_in_empty_project_spec.rb +++ b/spec/features/projects/files/project_owner_sees_link_to_create_license_file_in_empty_project_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' RSpec.describe 'Projects > Files > Project owner sees a link to create a license file in empty project', :js, -feature_category: :projects do +feature_category: :groups_and_projects do include Features::WebIdeSpecHelpers let(:project) { create(:project_empty_repo) } diff --git a/spec/features/projects/files/template_selector_menu_spec.rb b/spec/features/projects/files/template_selector_menu_spec.rb index 8dbfa3afb0b..46c4b69bc89 100644 --- a/spec/features/projects/files/template_selector_menu_spec.rb +++ b/spec/features/projects/files/template_selector_menu_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'Template selector menu', :js, feature_category: :projects do +RSpec.describe 'Template selector menu', :js, feature_category: :groups_and_projects do let(:project) { create(:project, :repository) } let(:user) { create(:user) } diff --git a/spec/features/projects/files/undo_template_spec.rb b/spec/features/projects/files/undo_template_spec.rb index 0dfed209ce9..4b6e6b7282c 100644 --- a/spec/features/projects/files/undo_template_spec.rb +++ b/spec/features/projects/files/undo_template_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'Projects > Files > Template Undo Button', :js, feature_category: :projects do +RSpec.describe 'Projects > Files > Template Undo Button', :js, feature_category: :groups_and_projects do let(:project) { create(:project, :repository) } let(:user) { project.first_owner } diff --git a/spec/features/projects/files/user_browses_a_tree_with_a_folder_containing_only_a_folder_spec.rb b/spec/features/projects/files/user_browses_a_tree_with_a_folder_containing_only_a_folder_spec.rb index 8b60d21a77e..645bfeb14e3 100644 --- a/spec/features/projects/files/user_browses_a_tree_with_a_folder_containing_only_a_folder_spec.rb +++ b/spec/features/projects/files/user_browses_a_tree_with_a_folder_containing_only_a_folder_spec.rb @@ -4,7 +4,7 @@ require 'spec_helper' # This is a regression test for https://gitlab.com/gitlab-org/gitlab-foss/issues/37569 RSpec.describe 'Projects > Files > User browses a tree with a folder containing only a folder', :js, -feature_category: :projects do +feature_category: :groups_and_projects do let(:project) { create(:project, :empty_repo) } let(:user) { project.first_owner } diff --git a/spec/features/projects/files/user_browses_files_spec.rb b/spec/features/projects/files/user_browses_files_spec.rb index 9b9c2158432..bb14b9c4e31 100644 --- a/spec/features/projects/files/user_browses_files_spec.rb +++ b/spec/features/projects/files/user_browses_files_spec.rb @@ -2,7 +2,7 @@ require "spec_helper" -RSpec.describe "User browses files", :js, feature_category: :projects do +RSpec.describe "User browses files", :js, feature_category: :groups_and_projects do include RepoHelpers include ListboxHelpers diff --git a/spec/features/projects/files/user_browses_lfs_files_spec.rb b/spec/features/projects/files/user_browses_lfs_files_spec.rb index 6b401d6d789..04094ae2d6f 100644 --- a/spec/features/projects/files/user_browses_lfs_files_spec.rb +++ b/spec/features/projects/files/user_browses_lfs_files_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'Projects > Files > User browses LFS files', feature_category: :projects do +RSpec.describe 'Projects > Files > User browses LFS files', feature_category: :groups_and_projects do let(:project) { create(:project, :repository) } let(:user) { project.first_owner } diff --git a/spec/features/projects/files/user_creates_directory_spec.rb b/spec/features/projects/files/user_creates_directory_spec.rb index 4dd579ba8e9..070b6dbec7d 100644 --- a/spec/features/projects/files/user_creates_directory_spec.rb +++ b/spec/features/projects/files/user_creates_directory_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'Projects > Files > User creates a directory', :js, feature_category: :projects do +RSpec.describe 'Projects > Files > User creates a directory', :js, feature_category: :groups_and_projects do let(:fork_message) do "You're not allowed to make changes to this project directly. "\ "A fork of this project has been created that you can make changes in, so you can submit a merge request." diff --git a/spec/features/projects/files/user_creates_files_spec.rb b/spec/features/projects/files/user_creates_files_spec.rb index 42aceef256a..7d888aabf53 100644 --- a/spec/features/projects/files/user_creates_files_spec.rb +++ b/spec/features/projects/files/user_creates_files_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'Projects > Files > User creates files', :js, feature_category: :projects do +RSpec.describe 'Projects > Files > User creates files', :js, feature_category: :groups_and_projects do include Features::SourceEditorSpecHelpers include Features::BlobSpecHelpers diff --git a/spec/features/projects/files/user_deletes_files_spec.rb b/spec/features/projects/files/user_deletes_files_spec.rb index 61152a8badc..c526084b35d 100644 --- a/spec/features/projects/files/user_deletes_files_spec.rb +++ b/spec/features/projects/files/user_deletes_files_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'Projects > Files > User deletes files', :js, feature_category: :projects do +RSpec.describe 'Projects > Files > User deletes files', :js, feature_category: :groups_and_projects do let(:fork_message) do "You're not allowed to make changes to this project directly. "\ "A fork of this project has been created that you can make changes in, so you can submit a merge request." diff --git a/spec/features/projects/files/user_edits_files_spec.rb b/spec/features/projects/files/user_edits_files_spec.rb index 779257b2e2b..acaeffe5ef4 100644 --- a/spec/features/projects/files/user_edits_files_spec.rb +++ b/spec/features/projects/files/user_edits_files_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'Projects > Files > User edits files', :js, feature_category: :projects do +RSpec.describe 'Projects > Files > User edits files', :js, feature_category: :groups_and_projects do include Features::SourceEditorSpecHelpers include ProjectForksHelper include Features::BlobSpecHelpers diff --git a/spec/features/projects/files/user_find_file_spec.rb b/spec/features/projects/files/user_find_file_spec.rb index 9cc2ce6a7b4..5406726eb6e 100644 --- a/spec/features/projects/files/user_find_file_spec.rb +++ b/spec/features/projects/files/user_find_file_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'User find project file', feature_category: :projects do +RSpec.describe 'User find project file', feature_category: :groups_and_projects do include ListboxHelpers let(:user) { create :user } diff --git a/spec/features/projects/files/user_reads_pipeline_status_spec.rb b/spec/features/projects/files/user_reads_pipeline_status_spec.rb index 18a5fb71b10..ce3f0541139 100644 --- a/spec/features/projects/files/user_reads_pipeline_status_spec.rb +++ b/spec/features/projects/files/user_reads_pipeline_status_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'user reads pipeline status', :js, feature_category: :projects do +RSpec.describe 'user reads pipeline status', :js, feature_category: :groups_and_projects do let(:project) { create(:project, :repository) } let(:user) { create(:user) } let(:v110_pipeline) { create_pipeline('v1.1.0', 'success') } diff --git a/spec/features/projects/files/user_replaces_files_spec.rb b/spec/features/projects/files/user_replaces_files_spec.rb index 9fa3ddf92c6..bd951b974d1 100644 --- a/spec/features/projects/files/user_replaces_files_spec.rb +++ b/spec/features/projects/files/user_replaces_files_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'Projects > Files > User replaces files', :js, feature_category: :projects do +RSpec.describe 'Projects > Files > User replaces files', :js, feature_category: :groups_and_projects do include DropzoneHelper let(:fork_message) do diff --git a/spec/features/projects/files/user_searches_for_files_spec.rb b/spec/features/projects/files/user_searches_for_files_spec.rb index b438b203141..25456593fc4 100644 --- a/spec/features/projects/files/user_searches_for_files_spec.rb +++ b/spec/features/projects/files/user_searches_for_files_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'Projects > Files > User searches for files', feature_category: :projects do +RSpec.describe 'Projects > Files > User searches for files', feature_category: :groups_and_projects do let(:user) { project.first_owner } before do diff --git a/spec/features/projects/files/user_uploads_files_spec.rb b/spec/features/projects/files/user_uploads_files_spec.rb index 575a6290a32..22c3f73add5 100644 --- a/spec/features/projects/files/user_uploads_files_spec.rb +++ b/spec/features/projects/files/user_uploads_files_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'Projects > Files > User uploads files', feature_category: :projects do +RSpec.describe 'Projects > Files > User uploads files', feature_category: :groups_and_projects do let(:user) { create(:user) } let(:project) { create(:project, :repository, name: 'Shop', creator: user) } let(:project2) { create(:project, :repository, name: 'Another Project', path: 'another-project') } diff --git a/spec/features/projects/fork_spec.rb b/spec/features/projects/fork_spec.rb index 39cdc8faa85..7d734d5d2df 100644 --- a/spec/features/projects/fork_spec.rb +++ b/spec/features/projects/fork_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'Project fork', feature_category: :projects do +RSpec.describe 'Project fork', feature_category: :groups_and_projects do include ListboxHelpers include ProjectForksHelper diff --git a/spec/features/projects/forks/fork_list_spec.rb b/spec/features/projects/forks/fork_list_spec.rb index 18424c18cbc..966147637f5 100644 --- a/spec/features/projects/forks/fork_list_spec.rb +++ b/spec/features/projects/forks/fork_list_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'listing forks of a project', feature_category: :projects do +RSpec.describe 'listing forks of a project', feature_category: :groups_and_projects do include ProjectForksHelper include ExternalAuthorizationServiceHelpers diff --git a/spec/features/projects/gfm_autocomplete_load_spec.rb b/spec/features/projects/gfm_autocomplete_load_spec.rb index bb9f4e121d8..35ab0094d51 100644 --- a/spec/features/projects/gfm_autocomplete_load_spec.rb +++ b/spec/features/projects/gfm_autocomplete_load_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'GFM autocomplete loading', :js, feature_category: :projects do +RSpec.describe 'GFM autocomplete loading', :js, feature_category: :groups_and_projects do let(:project) { create(:project) } before do diff --git a/spec/features/projects/graph_spec.rb b/spec/features/projects/graph_spec.rb index a1f047d9b43..16a3686215f 100644 --- a/spec/features/projects/graph_spec.rb +++ b/spec/features/projects/graph_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'Project Graph', :js, feature_category: :projects do +RSpec.describe 'Project Graph', :js, feature_category: :groups_and_projects do let(:user) { create :user } let(:project) { create(:project, :repository, namespace: user.namespace) } let(:branch_name) { 'master' } diff --git a/spec/features/projects/hook_logs/user_reads_log_spec.rb b/spec/features/projects/hook_logs/user_reads_log_spec.rb index 92ddc559cf4..cffa76924f5 100644 --- a/spec/features/projects/hook_logs/user_reads_log_spec.rb +++ b/spec/features/projects/hook_logs/user_reads_log_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'Hook logs', feature_category: :projects do +RSpec.describe 'Hook logs', feature_category: :groups_and_projects do let(:project) { create(:project) } let(:project_hook) { create(:project_hook, project: project) } let(:web_hook_log) { create(:web_hook_log, web_hook: project_hook, response_body: 'Hello World') } diff --git a/spec/features/projects/infrastructure_registry_spec.rb b/spec/features/projects/infrastructure_registry_spec.rb index e1619726c8d..a648a4fc1ce 100644 --- a/spec/features/projects/infrastructure_registry_spec.rb +++ b/spec/features/projects/infrastructure_registry_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'Infrastructure Registry', feature_category: :projects do +RSpec.describe 'Infrastructure Registry', feature_category: :groups_and_projects do let_it_be(:user) { create(:user) } let_it_be(:project) { create(:project) } diff --git a/spec/features/projects/issuable_templates_spec.rb b/spec/features/projects/issuable_templates_spec.rb index 77f88994bfb..72695680809 100644 --- a/spec/features/projects/issuable_templates_spec.rb +++ b/spec/features/projects/issuable_templates_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'issuable templates', :js, feature_category: :projects do +RSpec.describe 'issuable templates', :js, feature_category: :groups_and_projects do include ProjectForksHelper include CookieHelper diff --git a/spec/features/projects/jobs/permissions_spec.rb b/spec/features/projects/jobs/permissions_spec.rb index dce86c9f0a4..e1bcc160092 100644 --- a/spec/features/projects/jobs/permissions_spec.rb +++ b/spec/features/projects/jobs/permissions_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'Project Jobs Permissions', feature_category: :projects do +RSpec.describe 'Project Jobs Permissions', feature_category: :groups_and_projects do using RSpec::Parameterized::TableSyntax let_it_be_with_reload(:group) { create(:group, name: 'some group') } diff --git a/spec/features/projects/jobs/user_browses_job_spec.rb b/spec/features/projects/jobs/user_browses_job_spec.rb index dd57b4117f9..795084f8008 100644 --- a/spec/features/projects/jobs/user_browses_job_spec.rb +++ b/spec/features/projects/jobs/user_browses_job_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'User browses a job', :js, feature_category: :projects do +RSpec.describe 'User browses a job', :js, feature_category: :groups_and_projects do include Spec::Support::Helpers::ModalHelpers let(:user) { create(:user) } diff --git a/spec/features/projects/jobs/user_browses_jobs_spec.rb b/spec/features/projects/jobs/user_browses_jobs_spec.rb index 1634f6dee74..d74a3d28068 100644 --- a/spec/features/projects/jobs/user_browses_jobs_spec.rb +++ b/spec/features/projects/jobs/user_browses_jobs_spec.rb @@ -8,7 +8,7 @@ def visit_jobs_page wait_for_requests end -RSpec.describe 'User browses jobs', feature_category: :projects do +RSpec.describe 'User browses jobs', feature_category: :groups_and_projects do describe 'Jobs', :js do let(:project) { create(:project, :repository) } let(:user) { create(:user) } diff --git a/spec/features/projects/jobs/user_triggers_manual_job_with_variables_spec.rb b/spec/features/projects/jobs/user_triggers_manual_job_with_variables_spec.rb index e4394010e8c..41a21b1155b 100644 --- a/spec/features/projects/jobs/user_triggers_manual_job_with_variables_spec.rb +++ b/spec/features/projects/jobs/user_triggers_manual_job_with_variables_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'User triggers manual job with variables', :js, feature_category: :projects do +RSpec.describe 'User triggers manual job with variables', :js, feature_category: :groups_and_projects do let(:user) { create(:user) } let(:user_access_level) { :developer } let(:project) { create(:project, :repository, namespace: user.namespace) } diff --git a/spec/features/projects/jobs_spec.rb b/spec/features/projects/jobs_spec.rb index 796bac2e8e7..01f8f2166ac 100644 --- a/spec/features/projects/jobs_spec.rb +++ b/spec/features/projects/jobs_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' require 'tempfile' -RSpec.describe 'Jobs', :clean_gitlab_redis_shared_state, feature_category: :projects do +RSpec.describe 'Jobs', :clean_gitlab_redis_shared_state, feature_category: :groups_and_projects do include Gitlab::Routing include ProjectForksHelper diff --git a/spec/features/projects/members/group_member_cannot_leave_group_project_spec.rb b/spec/features/projects/members/group_member_cannot_leave_group_project_spec.rb index 63dc99efc8f..97b29ee6c91 100644 --- a/spec/features/projects/members/group_member_cannot_leave_group_project_spec.rb +++ b/spec/features/projects/members/group_member_cannot_leave_group_project_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'Projects > Members > Group member cannot leave group project', feature_category: :subgroups do +RSpec.describe 'Projects > Members > Group member cannot leave group project', feature_category: :groups_and_projects do let(:user) { create(:user) } let(:group) { create(:group) } let(:project) { create(:project, namespace: group) } diff --git a/spec/features/projects/members/group_member_cannot_request_access_to_his_group_project_spec.rb b/spec/features/projects/members/group_member_cannot_request_access_to_his_group_project_spec.rb index 07886950b95..6656ca3ef18 100644 --- a/spec/features/projects/members/group_member_cannot_request_access_to_his_group_project_spec.rb +++ b/spec/features/projects/members/group_member_cannot_request_access_to_his_group_project_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' RSpec.describe 'Projects > Members > Group member cannot request access to their group project', -feature_category: :subgroups do +feature_category: :groups_and_projects do let(:user) { create(:user) } let(:group) { create(:group) } let(:project) { create(:project, namespace: group) } diff --git a/spec/features/projects/members/group_members_spec.rb b/spec/features/projects/members/group_members_spec.rb index c0257446a37..3ab84b40e53 100644 --- a/spec/features/projects/members/group_members_spec.rb +++ b/spec/features/projects/members/group_members_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'Projects members', :js, feature_category: :subgroups do +RSpec.describe 'Projects members', :js, feature_category: :groups_and_projects do include Features::MembersHelpers let(:user) { create(:user) } diff --git a/spec/features/projects/members/group_requester_cannot_request_access_to_project_spec.rb b/spec/features/projects/members/group_requester_cannot_request_access_to_project_spec.rb index 7a11ee61c5f..9db34cee5d6 100644 --- a/spec/features/projects/members/group_requester_cannot_request_access_to_project_spec.rb +++ b/spec/features/projects/members/group_requester_cannot_request_access_to_project_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' RSpec.describe 'Projects > Members > Group requester cannot request access to project', :js, -feature_category: :subgroups do +feature_category: :groups_and_projects do let(:user) { create(:user) } let(:owner) { create(:user) } let(:group) { create(:group, :public) } diff --git a/spec/features/projects/members/groups_with_access_list_spec.rb b/spec/features/projects/members/groups_with_access_list_spec.rb index 8238f95fd47..0f80c6cb3b8 100644 --- a/spec/features/projects/members/groups_with_access_list_spec.rb +++ b/spec/features/projects/members/groups_with_access_list_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'Projects > Members > Groups with access list', :js, feature_category: :subgroups do +RSpec.describe 'Projects > Members > Groups with access list', :js, feature_category: :groups_and_projects do include Features::MembersHelpers include Spec::Support::Helpers::ModalHelpers include Features::InviteMembersModalHelpers diff --git a/spec/features/projects/members/manage_groups_spec.rb b/spec/features/projects/members/manage_groups_spec.rb index 5efb5abefc6..63ff1ba8455 100644 --- a/spec/features/projects/members/manage_groups_spec.rb +++ b/spec/features/projects/members/manage_groups_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'Project > Members > Manage groups', :js, feature_category: :subgroups do +RSpec.describe 'Project > Members > Manage groups', :js, feature_category: :groups_and_projects do include ActionView::Helpers::DateHelper include Features::MembersHelpers include Features::InviteMembersModalHelpers diff --git a/spec/features/projects/members/master_adds_member_with_expiration_date_spec.rb b/spec/features/projects/members/master_adds_member_with_expiration_date_spec.rb index be778def833..b51259bea23 100644 --- a/spec/features/projects/members/master_adds_member_with_expiration_date_spec.rb +++ b/spec/features/projects/members/master_adds_member_with_expiration_date_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'Projects > Members > Maintainer adds member with expiration date', :js, feature_category: :subgroups do +RSpec.describe 'Projects > Members > Maintainer adds member with expiration date', :js, feature_category: :groups_and_projects do include ActiveSupport::Testing::TimeHelpers include Features::MembersHelpers include Features::InviteMembersModalHelpers diff --git a/spec/features/projects/members/master_manages_access_requests_spec.rb b/spec/features/projects/members/master_manages_access_requests_spec.rb index cea59679226..04d28022b73 100644 --- a/spec/features/projects/members/master_manages_access_requests_spec.rb +++ b/spec/features/projects/members/master_manages_access_requests_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'Projects > Members > Maintainer manages access requests', feature_category: :subgroups do +RSpec.describe 'Projects > Members > Maintainer manages access requests', feature_category: :groups_and_projects do it_behaves_like 'Maintainer manages access requests' do let(:entity) { create(:project, :public, :with_namespace_settings) } let(:members_page_path) { project_project_members_path(entity) } diff --git a/spec/features/projects/members/member_cannot_request_access_to_his_project_spec.rb b/spec/features/projects/members/member_cannot_request_access_to_his_project_spec.rb index dc18ca88c36..91237c334cc 100644 --- a/spec/features/projects/members/member_cannot_request_access_to_his_project_spec.rb +++ b/spec/features/projects/members/member_cannot_request_access_to_his_project_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'Projects > Members > Member cannot request access to their project', feature_category: :subgroups do +RSpec.describe 'Projects > Members > Member cannot request access to their project', feature_category: :groups_and_projects do let(:member) { create(:user) } let(:project) { create(:project) } diff --git a/spec/features/projects/members/member_leaves_project_spec.rb b/spec/features/projects/members/member_leaves_project_spec.rb index 91e30b3396e..e0c64547e9f 100644 --- a/spec/features/projects/members/member_leaves_project_spec.rb +++ b/spec/features/projects/members/member_leaves_project_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'Projects > Members > Member leaves project', feature_category: :subgroups do +RSpec.describe 'Projects > Members > Member leaves project', feature_category: :groups_and_projects do include Features::MembersHelpers include Spec::Support::Helpers::ModalHelpers diff --git a/spec/features/projects/members/owner_cannot_leave_project_spec.rb b/spec/features/projects/members/owner_cannot_leave_project_spec.rb index 7908fd3a98f..c79d227647a 100644 --- a/spec/features/projects/members/owner_cannot_leave_project_spec.rb +++ b/spec/features/projects/members/owner_cannot_leave_project_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'Projects > Members > Owner cannot leave project', feature_category: :subgroups do +RSpec.describe 'Projects > Members > Owner cannot leave project', feature_category: :groups_and_projects do let(:project) { create(:project) } before do diff --git a/spec/features/projects/members/owner_cannot_request_access_to_his_project_spec.rb b/spec/features/projects/members/owner_cannot_request_access_to_his_project_spec.rb index b5a862578d3..84cf31b526a 100644 --- a/spec/features/projects/members/owner_cannot_request_access_to_his_project_spec.rb +++ b/spec/features/projects/members/owner_cannot_request_access_to_his_project_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'Projects > Members > Owner cannot request access to their own project', feature_category: :subgroups do +RSpec.describe 'Projects > Members > Owner cannot request access to their own project', feature_category: :groups_and_projects do let(:project) { create(:project) } before do diff --git a/spec/features/projects/members/sorting_spec.rb b/spec/features/projects/members/sorting_spec.rb index 85bf381404c..9747d499ae9 100644 --- a/spec/features/projects/members/sorting_spec.rb +++ b/spec/features/projects/members/sorting_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'Projects > Members > Sorting', :js, feature_category: :subgroups do +RSpec.describe 'Projects > Members > Sorting', :js, feature_category: :groups_and_projects do include Features::MembersHelpers let(:maintainer) { create(:user, name: 'John Doe', created_at: 5.days.ago, last_activity_on: Date.today) } diff --git a/spec/features/projects/members/tabs_spec.rb b/spec/features/projects/members/tabs_spec.rb index 9ee06edc0c1..edd4a51089c 100644 --- a/spec/features/projects/members/tabs_spec.rb +++ b/spec/features/projects/members/tabs_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'Projects > Members > Tabs', :js, feature_category: :subgroups do +RSpec.describe 'Projects > Members > Tabs', :js, feature_category: :groups_and_projects do include Features::MembersHelpers using RSpec::Parameterized::TableSyntax diff --git a/spec/features/projects/members/user_requests_access_spec.rb b/spec/features/projects/members/user_requests_access_spec.rb index 11d162fabd4..6f76424e377 100644 --- a/spec/features/projects/members/user_requests_access_spec.rb +++ b/spec/features/projects/members/user_requests_access_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'Projects > Members > User requests access', :js, feature_category: :subgroups do +RSpec.describe 'Projects > Members > User requests access', :js, feature_category: :groups_and_projects do include Spec::Support::Helpers::ModalHelpers let_it_be(:user) { create(:user) } diff --git a/spec/features/projects/merge_request_button_spec.rb b/spec/features/projects/merge_request_button_spec.rb index 56aee469252..e5c927af96c 100644 --- a/spec/features/projects/merge_request_button_spec.rb +++ b/spec/features/projects/merge_request_button_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'Merge Request button', feature_category: :projects do +RSpec.describe 'Merge Request button', feature_category: :groups_and_projects do include ProjectForksHelper let_it_be(:user) { create(:user) } diff --git a/spec/features/projects/navbar_spec.rb b/spec/features/projects/navbar_spec.rb index 31f4e9dcf95..97dfeb6fd06 100644 --- a/spec/features/projects/navbar_spec.rb +++ b/spec/features/projects/navbar_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'Project navbar', :with_license, feature_category: :projects do +RSpec.describe 'Project navbar', :with_license, feature_category: :groups_and_projects do include NavbarStructureHelper include WaitForRequests diff --git a/spec/features/projects/network_graph_spec.rb b/spec/features/projects/network_graph_spec.rb index af976b8ffb0..eff0335c891 100644 --- a/spec/features/projects/network_graph_spec.rb +++ b/spec/features/projects/network_graph_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'Project Network Graph', :js, feature_category: :projects do +RSpec.describe 'Project Network Graph', :js, feature_category: :groups_and_projects do let(:user) { create :user } let(:project) { create :project, :repository, namespace: user.namespace } let(:ref_selector) { '.ref-selector' } diff --git a/spec/features/projects/new_project_from_template_spec.rb b/spec/features/projects/new_project_from_template_spec.rb index 97304840010..8e2016ce17e 100644 --- a/spec/features/projects/new_project_from_template_spec.rb +++ b/spec/features/projects/new_project_from_template_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'New project from template', :js, feature_category: :projects do +RSpec.describe 'New project from template', :js, feature_category: :groups_and_projects do let(:user) { create(:user) } before do diff --git a/spec/features/projects/new_project_spec.rb b/spec/features/projects/new_project_spec.rb index 351662af217..9f56c2c1cb0 100644 --- a/spec/features/projects/new_project_spec.rb +++ b/spec/features/projects/new_project_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'New project', :js, feature_category: :projects do +RSpec.describe 'New project', :js, feature_category: :groups_and_projects do include Features::TopNavSpecHelpers before do diff --git a/spec/features/projects/package_files_spec.rb b/spec/features/projects/package_files_spec.rb index 824b57db7ad..540ad745610 100644 --- a/spec/features/projects/package_files_spec.rb +++ b/spec/features/projects/package_files_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'PackageFiles', feature_category: :projects do +RSpec.describe 'PackageFiles', feature_category: :groups_and_projects do let(:user) { create(:user) } let(:project) { create(:project) } let!(:package) { create(:maven_package, project: project) } diff --git a/spec/features/projects/packages_spec.rb b/spec/features/projects/packages_spec.rb index 5d3ebd8bec6..5073c147b6c 100644 --- a/spec/features/projects/packages_spec.rb +++ b/spec/features/projects/packages_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'Packages', feature_category: :projects do +RSpec.describe 'Packages', feature_category: :groups_and_projects do let_it_be(:user) { create(:user) } let_it_be(:project) { create(:project) } diff --git a/spec/features/projects/pipeline_schedules_spec.rb b/spec/features/projects/pipeline_schedules_spec.rb index 22c7e00be6b..358c55376d4 100644 --- a/spec/features/projects/pipeline_schedules_spec.rb +++ b/spec/features/projects/pipeline_schedules_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'Pipeline Schedules', :js, feature_category: :projects do +RSpec.describe 'Pipeline Schedules', :js, feature_category: :groups_and_projects do include Spec::Support::Helpers::ModalHelpers let!(:project) { create(:project, :repository) } diff --git a/spec/features/projects/pipelines/pipeline_spec.rb b/spec/features/projects/pipelines/pipeline_spec.rb index f1dfd962334..abc9e3d30fc 100644 --- a/spec/features/projects/pipelines/pipeline_spec.rb +++ b/spec/features/projects/pipelines/pipeline_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'Pipeline', :js, feature_category: :projects do +RSpec.describe 'Pipeline', :js, feature_category: :groups_and_projects do include RoutesHelpers include ProjectForksHelper include ::ExclusiveLeaseHelpers diff --git a/spec/features/projects/pipelines/pipelines_spec.rb b/spec/features/projects/pipelines/pipelines_spec.rb index ae40b0c7a17..b8bb81991fc 100644 --- a/spec/features/projects/pipelines/pipelines_spec.rb +++ b/spec/features/projects/pipelines/pipelines_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'Pipelines', :js, feature_category: :projects do +RSpec.describe 'Pipelines', :js, feature_category: :groups_and_projects do include ListboxHelpers include ProjectForksHelper include Spec::Support::Helpers::ModalHelpers diff --git a/spec/features/projects/raw/user_interacts_with_raw_endpoint_spec.rb b/spec/features/projects/raw/user_interacts_with_raw_endpoint_spec.rb index fb7814285b8..0cc105353f5 100644 --- a/spec/features/projects/raw/user_interacts_with_raw_endpoint_spec.rb +++ b/spec/features/projects/raw/user_interacts_with_raw_endpoint_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'Projects > Raw > User interacts with raw endpoint', feature_category: :projects do +RSpec.describe 'Projects > Raw > User interacts with raw endpoint', feature_category: :groups_and_projects do include RepoHelpers let(:user) { create(:user) } diff --git a/spec/features/projects/remote_mirror_spec.rb b/spec/features/projects/remote_mirror_spec.rb index aa0c1ead4c0..4f27ba04f37 100644 --- a/spec/features/projects/remote_mirror_spec.rb +++ b/spec/features/projects/remote_mirror_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'Project remote mirror', :feature, feature_category: :projects do +RSpec.describe 'Project remote mirror', :feature, feature_category: :groups_and_projects do let(:project) { create(:project, :repository, :remote_mirror) } let(:remote_mirror) { project.remote_mirrors.first } let(:user) { create(:user) } diff --git a/spec/features/projects/settings/branch_names_settings_spec.rb b/spec/features/projects/settings/branch_names_settings_spec.rb index 5d82dff1efd..cc7396513cb 100644 --- a/spec/features/projects/settings/branch_names_settings_spec.rb +++ b/spec/features/projects/settings/branch_names_settings_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'Project settings > repositories > Branch names', :js, feature_category: :projects do +RSpec.describe 'Project settings > repositories > Branch names', :js, feature_category: :groups_and_projects do let_it_be(:project) { create(:project, :public) } let(:user) { create(:user) } diff --git a/spec/features/projects/settings/branch_rules_settings_spec.rb b/spec/features/projects/settings/branch_rules_settings_spec.rb index 59609fecd93..a6ecfa2d231 100644 --- a/spec/features/projects/settings/branch_rules_settings_spec.rb +++ b/spec/features/projects/settings/branch_rules_settings_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'Projects > Settings > Repository > Branch rules settings', feature_category: :projects do +RSpec.describe 'Projects > Settings > Repository > Branch rules settings', feature_category: :groups_and_projects do let(:project) { create(:project_empty_repo) } let(:user) { create(:user) } let(:role) { :developer } diff --git a/spec/features/projects/settings/external_authorization_service_settings_spec.rb b/spec/features/projects/settings/external_authorization_service_settings_spec.rb index a99fd5f9788..4a56e6c8bbf 100644 --- a/spec/features/projects/settings/external_authorization_service_settings_spec.rb +++ b/spec/features/projects/settings/external_authorization_service_settings_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' RSpec.describe 'Projects > Settings > External Authorization Classification Label setting', -feature_category: :projects do +feature_category: :groups_and_projects do let(:user) { create(:user) } let(:project) { create(:project_empty_repo) } diff --git a/spec/features/projects/settings/forked_project_settings_spec.rb b/spec/features/projects/settings/forked_project_settings_spec.rb index 6b646bcf7d3..c2a5b36a81b 100644 --- a/spec/features/projects/settings/forked_project_settings_spec.rb +++ b/spec/features/projects/settings/forked_project_settings_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'Projects > Settings > For a forked project', :js, feature_category: :projects do +RSpec.describe 'Projects > Settings > For a forked project', :js, feature_category: :groups_and_projects do include ProjectForksHelper let(:user) { create(:user) } let(:original_project) { create(:project) } diff --git a/spec/features/projects/settings/lfs_settings_spec.rb b/spec/features/projects/settings/lfs_settings_spec.rb index 1695b49830d..bc5efecfe0d 100644 --- a/spec/features/projects/settings/lfs_settings_spec.rb +++ b/spec/features/projects/settings/lfs_settings_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'Projects > Settings > LFS settings', feature_category: :projects do +RSpec.describe 'Projects > Settings > LFS settings', feature_category: :groups_and_projects do let(:project) { create(:project) } let(:user) { create(:user) } let(:role) { :maintainer } diff --git a/spec/features/projects/settings/merge_requests_settings_spec.rb b/spec/features/projects/settings/merge_requests_settings_spec.rb index ca90817b0a4..c6285d0f5c1 100644 --- a/spec/features/projects/settings/merge_requests_settings_spec.rb +++ b/spec/features/projects/settings/merge_requests_settings_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'Projects > Settings > Merge requests', feature_category: :projects do +RSpec.describe 'Projects > Settings > Merge requests', feature_category: :groups_and_projects do include ProjectForksHelper let(:user) { create(:user) } diff --git a/spec/features/projects/settings/monitor_settings_spec.rb b/spec/features/projects/settings/monitor_settings_spec.rb index a79d04d85d0..c5a5826a778 100644 --- a/spec/features/projects/settings/monitor_settings_spec.rb +++ b/spec/features/projects/settings/monitor_settings_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'Projects > Settings > For a forked project', :js, feature_category: :projects do +RSpec.describe 'Projects > Settings > For a forked project', :js, feature_category: :groups_and_projects do include ListboxHelpers let_it_be(:project) { create(:project, :repository, create_templates: :issue) } diff --git a/spec/features/projects/settings/packages_settings_spec.rb b/spec/features/projects/settings/packages_settings_spec.rb index bf5c779b109..564a71e9a23 100644 --- a/spec/features/projects/settings/packages_settings_spec.rb +++ b/spec/features/projects/settings/packages_settings_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'Projects > Settings > Packages', :js, feature_category: :projects do +RSpec.describe 'Projects > Settings > Packages', :js, feature_category: :groups_and_projects do let_it_be(:project) { create(:project) } let(:user) { project.first_owner } diff --git a/spec/features/projects/settings/pipelines_settings_spec.rb b/spec/features/projects/settings/pipelines_settings_spec.rb index 51858ddf8c5..ef1c03f4f27 100644 --- a/spec/features/projects/settings/pipelines_settings_spec.rb +++ b/spec/features/projects/settings/pipelines_settings_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe "Projects > Settings > Pipelines settings", feature_category: :projects do +RSpec.describe "Projects > Settings > Pipelines settings", feature_category: :groups_and_projects do let(:project) { create(:project) } let(:user) { create(:user) } let(:role) { :developer } diff --git a/spec/features/projects/settings/project_badges_spec.rb b/spec/features/projects/settings/project_badges_spec.rb index f4c2265c2c2..1f170300155 100644 --- a/spec/features/projects/settings/project_badges_spec.rb +++ b/spec/features/projects/settings/project_badges_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'Project Badges', feature_category: :projects do +RSpec.describe 'Project Badges', feature_category: :groups_and_projects do include WaitForRequests let(:user) { create(:user) } diff --git a/spec/features/projects/settings/project_settings_spec.rb b/spec/features/projects/settings/project_settings_spec.rb index 46a41cfc6f1..1c1bbc7e85c 100644 --- a/spec/features/projects/settings/project_settings_spec.rb +++ b/spec/features/projects/settings/project_settings_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'Projects settings', feature_category: :projects do +RSpec.describe 'Projects settings', feature_category: :groups_and_projects do let_it_be(:project) { create(:project) } let(:user) { project.first_owner } diff --git a/spec/features/projects/settings/registry_settings_cleanup_tags_spec.rb b/spec/features/projects/settings/registry_settings_cleanup_tags_spec.rb index bdfe6a06dd1..50693dda685 100644 --- a/spec/features/projects/settings/registry_settings_cleanup_tags_spec.rb +++ b/spec/features/projects/settings/registry_settings_cleanup_tags_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' RSpec.describe 'Project > Settings > Packages and registries > Container registry tag expiration policy', -feature_category: :projects do +feature_category: :groups_and_projects do let_it_be(:user) { create(:user) } let_it_be(:project, reload: true) { create(:project, namespace: user.namespace) } diff --git a/spec/features/projects/settings/registry_settings_spec.rb b/spec/features/projects/settings/registry_settings_spec.rb index 68e9b0225ea..b8016a5d2df 100644 --- a/spec/features/projects/settings/registry_settings_spec.rb +++ b/spec/features/projects/settings/registry_settings_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' RSpec.describe 'Project > Settings > Packages and registries > Container registry tag expiration policy', -feature_category: :projects do +feature_category: :groups_and_projects do let_it_be(:user) { create(:user) } let_it_be(:project, reload: true) { create(:project, namespace: user.namespace) } diff --git a/spec/features/projects/settings/repository_settings_spec.rb b/spec/features/projects/settings/repository_settings_spec.rb index 08abade7d18..a801f633882 100644 --- a/spec/features/projects/settings/repository_settings_spec.rb +++ b/spec/features/projects/settings/repository_settings_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'Projects > Settings > Repository settings', feature_category: :projects do +RSpec.describe 'Projects > Settings > Repository settings', feature_category: :groups_and_projects do include Features::MirroringHelpers let(:project) { create(:project_empty_repo) } diff --git a/spec/features/projects/settings/secure_files_spec.rb b/spec/features/projects/settings/secure_files_spec.rb index 9afe1f4de54..8ac64287fcb 100644 --- a/spec/features/projects/settings/secure_files_spec.rb +++ b/spec/features/projects/settings/secure_files_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'Secure Files', :js, feature_category: :projects do +RSpec.describe 'Secure Files', :js, feature_category: :groups_and_projects do let(:project) { create(:project) } let(:user) { create(:user) } diff --git a/spec/features/projects/settings/service_desk_setting_spec.rb b/spec/features/projects/settings/service_desk_setting_spec.rb index 74139aa0d7f..c18da56f3ee 100644 --- a/spec/features/projects/settings/service_desk_setting_spec.rb +++ b/spec/features/projects/settings/service_desk_setting_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'Service Desk Setting', :js, :clean_gitlab_redis_cache, feature_category: :projects do +RSpec.describe 'Service Desk Setting', :js, :clean_gitlab_redis_cache, feature_category: :groups_and_projects do let(:project) { create(:project_empty_repo, :private, service_desk_enabled: false) } let(:presenter) { project.present(current_user: user) } let(:user) { create(:user) } diff --git a/spec/features/projects/settings/user_archives_project_spec.rb b/spec/features/projects/settings/user_archives_project_spec.rb index a6aac02d272..e4a5249c678 100644 --- a/spec/features/projects/settings/user_archives_project_spec.rb +++ b/spec/features/projects/settings/user_archives_project_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'Projects > Settings > User archives a project', feature_category: :projects do +RSpec.describe 'Projects > Settings > User archives a project', feature_category: :groups_and_projects do let(:user) { create(:user) } before do diff --git a/spec/features/projects/settings/user_changes_avatar_spec.rb b/spec/features/projects/settings/user_changes_avatar_spec.rb index 87043aec9b6..c589366d3df 100644 --- a/spec/features/projects/settings/user_changes_avatar_spec.rb +++ b/spec/features/projects/settings/user_changes_avatar_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'Projects > Settings > User changes avatar', feature_category: :projects do +RSpec.describe 'Projects > Settings > User changes avatar', feature_category: :groups_and_projects do let(:project) { create(:project, :repository) } let(:user) { project.creator } diff --git a/spec/features/projects/settings/user_changes_default_branch_spec.rb b/spec/features/projects/settings/user_changes_default_branch_spec.rb index 67ba16a2716..5886699a192 100644 --- a/spec/features/projects/settings/user_changes_default_branch_spec.rb +++ b/spec/features/projects/settings/user_changes_default_branch_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'Projects > Settings > User changes default branch', feature_category: :projects do +RSpec.describe 'Projects > Settings > User changes default branch', feature_category: :groups_and_projects do include ListboxHelpers let(:user) { create(:user) } diff --git a/spec/features/projects/settings/user_interacts_with_deploy_keys_spec.rb b/spec/features/projects/settings/user_interacts_with_deploy_keys_spec.rb index 3a58de9aa7d..0006762a971 100644 --- a/spec/features/projects/settings/user_interacts_with_deploy_keys_spec.rb +++ b/spec/features/projects/settings/user_interacts_with_deploy_keys_spec.rb @@ -2,7 +2,7 @@ require "spec_helper" -RSpec.describe "User interacts with deploy keys", :js, feature_category: :projects do +RSpec.describe "User interacts with deploy keys", :js, feature_category: :groups_and_projects do let(:project) { create(:project, :repository) } let(:user) { project.first_owner } diff --git a/spec/features/projects/settings/user_manages_merge_requests_settings_spec.rb b/spec/features/projects/settings/user_manages_merge_requests_settings_spec.rb index cfefdd54c23..1189f5590f8 100644 --- a/spec/features/projects/settings/user_manages_merge_requests_settings_spec.rb +++ b/spec/features/projects/settings/user_manages_merge_requests_settings_spec.rb @@ -1,7 +1,7 @@ # frozen_string_literal: true require 'spec_helper' -RSpec.describe 'Projects > Settings > User manages merge request settings', feature_category: :projects do +RSpec.describe 'Projects > Settings > User manages merge request settings', feature_category: :groups_and_projects do include ProjectForksHelper let(:user) { create(:user) } diff --git a/spec/features/projects/settings/user_manages_project_members_spec.rb b/spec/features/projects/settings/user_manages_project_members_spec.rb index b7463537fb2..df571e13979 100644 --- a/spec/features/projects/settings/user_manages_project_members_spec.rb +++ b/spec/features/projects/settings/user_manages_project_members_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'Projects > Settings > User manages project members', feature_category: :projects do +RSpec.describe 'Projects > Settings > User manages project members', feature_category: :groups_and_projects do include Features::MembersHelpers include Spec::Support::Helpers::ModalHelpers include ListboxHelpers diff --git a/spec/features/projects/settings/user_renames_a_project_spec.rb b/spec/features/projects/settings/user_renames_a_project_spec.rb index a6b72e7a297..5a58c049601 100644 --- a/spec/features/projects/settings/user_renames_a_project_spec.rb +++ b/spec/features/projects/settings/user_renames_a_project_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'Projects > Settings > User renames a project', feature_category: :projects do +RSpec.describe 'Projects > Settings > User renames a project', feature_category: :groups_and_projects do let(:user) { create(:user) } let(:project) { create(:project, namespace: user.namespace, path: 'gitlab', name: 'sample') } diff --git a/spec/features/projects/settings/user_searches_in_settings_spec.rb b/spec/features/projects/settings/user_searches_in_settings_spec.rb index 923a6a10671..f0ef4a285ad 100644 --- a/spec/features/projects/settings/user_searches_in_settings_spec.rb +++ b/spec/features/projects/settings/user_searches_in_settings_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'User searches project settings', :js, feature_category: :projects do +RSpec.describe 'User searches project settings', :js, feature_category: :groups_and_projects do let_it_be(:user) { create(:user) } let_it_be(:project) { create(:project, :repository, namespace: user.namespace, pages_https_only: false) } diff --git a/spec/features/projects/settings/user_sees_revoke_deploy_token_modal_spec.rb b/spec/features/projects/settings/user_sees_revoke_deploy_token_modal_spec.rb index 65aed4fd06f..1bc5af39f12 100644 --- a/spec/features/projects/settings/user_sees_revoke_deploy_token_modal_spec.rb +++ b/spec/features/projects/settings/user_sees_revoke_deploy_token_modal_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'Repository Settings > User sees revoke deploy token modal', :js, feature_category: :projects do +RSpec.describe 'Repository Settings > User sees revoke deploy token modal', :js, feature_category: :groups_and_projects do let(:project) { create(:project, :public, :repository) } let(:user) { project.creator } let(:role) { :developer } diff --git a/spec/features/projects/settings/user_tags_project_spec.rb b/spec/features/projects/settings/user_tags_project_spec.rb index 43e8e5a2d38..6b616b4abed 100644 --- a/spec/features/projects/settings/user_tags_project_spec.rb +++ b/spec/features/projects/settings/user_tags_project_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'Projects > Settings > User tags a project', :js, feature_category: :projects do +RSpec.describe 'Projects > Settings > User tags a project', :js, feature_category: :groups_and_projects do let(:user) { create(:user) } let(:project) { create(:project, namespace: user.namespace) } let!(:topic) { create(:topic, name: 'topic1') } diff --git a/spec/features/projects/settings/user_transfers_a_project_spec.rb b/spec/features/projects/settings/user_transfers_a_project_spec.rb index 53b4ee881f9..97871eed296 100644 --- a/spec/features/projects/settings/user_transfers_a_project_spec.rb +++ b/spec/features/projects/settings/user_transfers_a_project_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'Projects > Settings > User transfers a project', :js, feature_category: :projects do +RSpec.describe 'Projects > Settings > User transfers a project', :js, feature_category: :groups_and_projects do let(:user) { create(:user) } let(:project) { create(:project, :repository, namespace: user.namespace) } let(:group) { create(:group) } diff --git a/spec/features/projects/settings/visibility_settings_spec.rb b/spec/features/projects/settings/visibility_settings_spec.rb index 5246eda976b..7d41b60199c 100644 --- a/spec/features/projects/settings/visibility_settings_spec.rb +++ b/spec/features/projects/settings/visibility_settings_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'Projects > Settings > Visibility settings', :js, feature_category: :projects do +RSpec.describe 'Projects > Settings > Visibility settings', :js, feature_category: :groups_and_projects do let(:user) { create(:user) } let(:project) { create(:project, namespace: user.namespace, visibility_level: 20) } diff --git a/spec/features/projects/settings/webhooks_settings_spec.rb b/spec/features/projects/settings/webhooks_settings_spec.rb index e527d0c9c74..5d345c63d60 100644 --- a/spec/features/projects/settings/webhooks_settings_spec.rb +++ b/spec/features/projects/settings/webhooks_settings_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'Projects > Settings > Webhook Settings', feature_category: :projects do +RSpec.describe 'Projects > Settings > Webhook Settings', feature_category: :groups_and_projects do let(:project) { create(:project) } let(:user) { create(:user) } let(:webhooks_path) { project_hooks_path(project) } diff --git a/spec/features/projects/show/clone_button_spec.rb b/spec/features/projects/show/clone_button_spec.rb index 48af4bf8277..e3964a37bcf 100644 --- a/spec/features/projects/show/clone_button_spec.rb +++ b/spec/features/projects/show/clone_button_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'Projects > Show > Clone button', feature_category: :projects do +RSpec.describe 'Projects > Show > Clone button', feature_category: :groups_and_projects do let_it_be(:admin) { create(:admin) } let_it_be(:guest) { create(:user) } let_it_be(:project) { create(:project, :private, :in_group, :repository) } diff --git a/spec/features/projects/show/download_buttons_spec.rb b/spec/features/projects/show/download_buttons_spec.rb index e4d50daa6f4..a4df6a56e02 100644 --- a/spec/features/projects/show/download_buttons_spec.rb +++ b/spec/features/projects/show/download_buttons_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'Projects > Show > Download buttons', feature_category: :projects do +RSpec.describe 'Projects > Show > Download buttons', feature_category: :groups_and_projects do let(:user) { create(:user) } let(:role) { :developer } let(:status) { 'success' } diff --git a/spec/features/projects/show/no_password_spec.rb b/spec/features/projects/show/no_password_spec.rb index 9ead729af83..ff32f779c95 100644 --- a/spec/features/projects/show/no_password_spec.rb +++ b/spec/features/projects/show/no_password_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'No Password Alert', feature_category: :projects do +RSpec.describe 'No Password Alert', feature_category: :groups_and_projects do let_it_be(:message_password_auth_enabled) { 'Your account is authenticated with SSO or SAML. To push and pull over HTTP with Git using this account, you must set a password or set up a Personal Access Token to use instead of a password. For more information, see Clone with HTTPS.' } let_it_be(:message_password_auth_disabled) { 'Your account is authenticated with SSO or SAML. To push and pull over HTTP with Git using this account, you must set up a Personal Access Token to use instead of a password. For more information, see Clone with HTTPS.' } diff --git a/spec/features/projects/show/redirects_spec.rb b/spec/features/projects/show/redirects_spec.rb index d1cb896450f..ef326b92b98 100644 --- a/spec/features/projects/show/redirects_spec.rb +++ b/spec/features/projects/show/redirects_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'Projects > Show > Redirects', feature_category: :projects do +RSpec.describe 'Projects > Show > Redirects', feature_category: :groups_and_projects do let(:user) { create :user } let(:public_project) { create :project, :public } let(:private_project) { create :project, :private } diff --git a/spec/features/projects/show/rss_spec.rb b/spec/features/projects/show/rss_spec.rb index c2e8a844094..f57bb5e8df3 100644 --- a/spec/features/projects/show/rss_spec.rb +++ b/spec/features/projects/show/rss_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'Projects > Show > RSS', feature_category: :projects do +RSpec.describe 'Projects > Show > RSS', feature_category: :groups_and_projects do let(:user) { create(:user) } let(:project) { create(:project, :repository, visibility_level: Gitlab::VisibilityLevel::PUBLIC) } let(:path) { project_path(project) } diff --git a/spec/features/projects/show/schema_markup_spec.rb b/spec/features/projects/show/schema_markup_spec.rb index 8262245c5cb..5c1b519bb6e 100644 --- a/spec/features/projects/show/schema_markup_spec.rb +++ b/spec/features/projects/show/schema_markup_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'Projects > Show > Schema Markup', feature_category: :projects do +RSpec.describe 'Projects > Show > Schema Markup', feature_category: :groups_and_projects do let_it_be(:project) { create(:project, :repository, :public, :with_avatar, description: 'foobar', topic_list: 'topic1, topic2') } it 'shows SoftwareSourceCode structured markup', :js do diff --git a/spec/features/projects/show/user_interacts_with_auto_devops_banner_spec.rb b/spec/features/projects/show/user_interacts_with_auto_devops_banner_spec.rb index 2f33622d218..997a804e6ac 100644 --- a/spec/features/projects/show/user_interacts_with_auto_devops_banner_spec.rb +++ b/spec/features/projects/show/user_interacts_with_auto_devops_banner_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' RSpec.describe 'Project > Show > User interacts with auto devops implicitly enabled banner', -feature_category: :projects do +feature_category: :groups_and_projects do let(:project) { create(:project, :repository) } let(:user) { create(:user) } diff --git a/spec/features/projects/show/user_interacts_with_stars_spec.rb b/spec/features/projects/show/user_interacts_with_stars_spec.rb index e2166854ba3..e231068cad0 100644 --- a/spec/features/projects/show/user_interacts_with_stars_spec.rb +++ b/spec/features/projects/show/user_interacts_with_stars_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'Projects > Show > User interacts with project stars', feature_category: :projects do +RSpec.describe 'Projects > Show > User interacts with project stars', feature_category: :groups_and_projects do let(:project) { create(:project, :public, :repository) } context 'when user is signed in', :js do diff --git a/spec/features/projects/show/user_manages_notifications_spec.rb b/spec/features/projects/show/user_manages_notifications_spec.rb index 8f6535fd4f0..455b931e7f3 100644 --- a/spec/features/projects/show/user_manages_notifications_spec.rb +++ b/spec/features/projects/show/user_manages_notifications_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'Projects > Show > User manages notifications', :js, feature_category: :projects do +RSpec.describe 'Projects > Show > User manages notifications', :js, feature_category: :groups_and_projects do let(:project) { create(:project, :public, :repository) } before do diff --git a/spec/features/projects/show/user_sees_collaboration_links_spec.rb b/spec/features/projects/show/user_sees_collaboration_links_spec.rb index 145500a4c63..a86bc0ae97a 100644 --- a/spec/features/projects/show/user_sees_collaboration_links_spec.rb +++ b/spec/features/projects/show/user_sees_collaboration_links_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'Projects > Show > Collaboration links', :js, feature_category: :projects do +RSpec.describe 'Projects > Show > Collaboration links', :js, feature_category: :groups_and_projects do using RSpec::Parameterized::TableSyntax let_it_be(:project) { create(:project, :repository, :public) } diff --git a/spec/features/projects/show/user_sees_deletion_failure_message_spec.rb b/spec/features/projects/show/user_sees_deletion_failure_message_spec.rb index 876eecfe559..0cc8919d1e9 100644 --- a/spec/features/projects/show/user_sees_deletion_failure_message_spec.rb +++ b/spec/features/projects/show/user_sees_deletion_failure_message_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'Projects > Show > User sees a deletion failure message', feature_category: :projects do +RSpec.describe 'Projects > Show > User sees a deletion failure message', feature_category: :groups_and_projects do let(:project) { create(:project, :empty_repo, pending_delete: true) } before do diff --git a/spec/features/projects/show/user_sees_git_instructions_spec.rb b/spec/features/projects/show/user_sees_git_instructions_spec.rb index 022f21f198d..d4a32728fdf 100644 --- a/spec/features/projects/show/user_sees_git_instructions_spec.rb +++ b/spec/features/projects/show/user_sees_git_instructions_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'Projects > Show > User sees Git instructions', feature_category: :projects do +RSpec.describe 'Projects > Show > User sees Git instructions', feature_category: :groups_and_projects do let_it_be(:user) { create(:user) } before do diff --git a/spec/features/projects/show/user_sees_last_commit_ci_status_spec.rb b/spec/features/projects/show/user_sees_last_commit_ci_status_spec.rb index 25d241f004e..70e316983d9 100644 --- a/spec/features/projects/show/user_sees_last_commit_ci_status_spec.rb +++ b/spec/features/projects/show/user_sees_last_commit_ci_status_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'Projects > Show > User sees last commit CI status', feature_category: :projects do +RSpec.describe 'Projects > Show > User sees last commit CI status', feature_category: :groups_and_projects do let_it_be(:project) { create(:project, :repository, :public) } it 'shows the project README', :js do diff --git a/spec/features/projects/show/user_sees_readme_spec.rb b/spec/features/projects/show/user_sees_readme_spec.rb index a8c91b30f25..36fa800a7cf 100644 --- a/spec/features/projects/show/user_sees_readme_spec.rb +++ b/spec/features/projects/show/user_sees_readme_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'Projects > Show > User sees README', feature_category: :projects do +RSpec.describe 'Projects > Show > User sees README', feature_category: :groups_and_projects do let_it_be(:user) { create(:user) } let_it_be(:project) { create(:project, :repository, :public) } diff --git a/spec/features/projects/show/user_sees_setup_shortcut_buttons_spec.rb b/spec/features/projects/show/user_sees_setup_shortcut_buttons_spec.rb index 9eb2d109829..41eab966895 100644 --- a/spec/features/projects/show/user_sees_setup_shortcut_buttons_spec.rb +++ b/spec/features/projects/show/user_sees_setup_shortcut_buttons_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'Projects > Show > User sees setup shortcut buttons', feature_category: :projects do +RSpec.describe 'Projects > Show > User sees setup shortcut buttons', feature_category: :groups_and_projects do # For "New file", "Add license" functionality, # see spec/features/projects/files/project_owner_creates_license_file_spec.rb # see spec/features/projects/files/project_owner_sees_link_to_create_license_file_in_empty_project_spec.rb diff --git a/spec/features/projects/show/user_uploads_files_spec.rb b/spec/features/projects/show/user_uploads_files_spec.rb index ed378040ce9..5dde415151b 100644 --- a/spec/features/projects/show/user_uploads_files_spec.rb +++ b/spec/features/projects/show/user_uploads_files_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'Projects > Show > User uploads files', feature_category: :projects do +RSpec.describe 'Projects > Show > User uploads files', feature_category: :groups_and_projects do include DropzoneHelper let(:user) { create(:user) } diff --git a/spec/features/projects/sourcegraph_csp_spec.rb b/spec/features/projects/sourcegraph_csp_spec.rb index 4c8dd0a7df0..0e1a0c897e8 100644 --- a/spec/features/projects/sourcegraph_csp_spec.rb +++ b/spec/features/projects/sourcegraph_csp_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'Sourcegraph Content Security Policy', feature_category: :projects do +RSpec.describe 'Sourcegraph Content Security Policy', feature_category: :groups_and_projects do let_it_be(:user) { create(:user) } let_it_be(:project) { create(:project, :repository, namespace: user.namespace) } diff --git a/spec/features/projects/sub_group_issuables_spec.rb b/spec/features/projects/sub_group_issuables_spec.rb index 2502d969305..601f88708f4 100644 --- a/spec/features/projects/sub_group_issuables_spec.rb +++ b/spec/features/projects/sub_group_issuables_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'Subgroup Issuables', :js, feature_category: :projects do +RSpec.describe 'Subgroup Issuables', :js, feature_category: :groups_and_projects do let!(:group) { create(:group, name: 'group') } let!(:subgroup) { create(:group, parent: group, name: 'subgroup') } let!(:project) { create(:project, namespace: subgroup, name: 'project') } diff --git a/spec/features/projects/terraform_spec.rb b/spec/features/projects/terraform_spec.rb index b7500b0cfb7..518fa79f003 100644 --- a/spec/features/projects/terraform_spec.rb +++ b/spec/features/projects/terraform_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'Terraform', :js, feature_category: :projects do +RSpec.describe 'Terraform', :js, feature_category: :groups_and_projects do let_it_be(:project) { create(:project) } let_it_be(:terraform_state) { create(:terraform_state, :locked, :with_version, project: project) } diff --git a/spec/features/projects/tree/rss_spec.rb b/spec/features/projects/tree/rss_spec.rb index 0b016ee3dd9..176c5d85d93 100644 --- a/spec/features/projects/tree/rss_spec.rb +++ b/spec/features/projects/tree/rss_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'Project Tree RSS', feature_category: :projects do +RSpec.describe 'Project Tree RSS', feature_category: :groups_and_projects do let(:user) { create(:user) } let(:project) { create(:project, :repository, visibility_level: Gitlab::VisibilityLevel::PUBLIC) } let(:path) { project_tree_path(project, :master) } diff --git a/spec/features/projects/user_changes_project_visibility_spec.rb b/spec/features/projects/user_changes_project_visibility_spec.rb index 64af25aea28..f27a659f65f 100644 --- a/spec/features/projects/user_changes_project_visibility_spec.rb +++ b/spec/features/projects/user_changes_project_visibility_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'User changes public project visibility', :js, feature_category: :projects do +RSpec.describe 'User changes public project visibility', :js, feature_category: :groups_and_projects do include ProjectForksHelper shared_examples 'changing visibility to private' do diff --git a/spec/features/projects/user_creates_project_spec.rb b/spec/features/projects/user_creates_project_spec.rb index af0bd932095..484808dcfd1 100644 --- a/spec/features/projects/user_creates_project_spec.rb +++ b/spec/features/projects/user_creates_project_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'User creates a project', :js, feature_category: :projects do +RSpec.describe 'User creates a project', :js, feature_category: :groups_and_projects do let(:user) { create(:user) } before do diff --git a/spec/features/projects/user_sees_sidebar_spec.rb b/spec/features/projects/user_sees_sidebar_spec.rb index 3a6e11356a2..5a744be5d81 100644 --- a/spec/features/projects/user_sees_sidebar_spec.rb +++ b/spec/features/projects/user_sees_sidebar_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'Projects > User sees sidebar', feature_category: :projects do +RSpec.describe 'Projects > User sees sidebar', feature_category: :groups_and_projects do let(:user) { create(:user) } let(:project) { create(:project, :private, public_builds: false, namespace: user.namespace) } diff --git a/spec/features/projects/user_sees_user_popover_spec.rb b/spec/features/projects/user_sees_user_popover_spec.rb index 9d8d06c514e..523f1366a14 100644 --- a/spec/features/projects/user_sees_user_popover_spec.rb +++ b/spec/features/projects/user_sees_user_popover_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'User sees user popover', :js, feature_category: :projects do +RSpec.describe 'User sees user popover', :js, feature_category: :groups_and_projects do include Features::NotesHelpers let_it_be(:user) { create(:user, pronouns: 'they/them') } diff --git a/spec/features/projects/user_sorts_projects_spec.rb b/spec/features/projects/user_sorts_projects_spec.rb index 6a18d95c840..b80caca5810 100644 --- a/spec/features/projects/user_sorts_projects_spec.rb +++ b/spec/features/projects/user_sorts_projects_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'User sorts projects and order persists', feature_category: :projects do +RSpec.describe 'User sorts projects and order persists', feature_category: :groups_and_projects do include CookieHelper let_it_be(:user) { create(:user) } diff --git a/spec/features/projects/user_uses_shortcuts_spec.rb b/spec/features/projects/user_uses_shortcuts_spec.rb index e90e540ae32..77f753b92eb 100644 --- a/spec/features/projects/user_uses_shortcuts_spec.rb +++ b/spec/features/projects/user_uses_shortcuts_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'User uses shortcuts', :js, feature_category: :projects do +RSpec.describe 'User uses shortcuts', :js, feature_category: :groups_and_projects do let_it_be(:project) { create(:project, :repository) } let(:user) { project.first_owner } diff --git a/spec/features/projects/user_views_empty_project_spec.rb b/spec/features/projects/user_views_empty_project_spec.rb index e38cfc2273a..cd7bf2e0e0e 100644 --- a/spec/features/projects/user_views_empty_project_spec.rb +++ b/spec/features/projects/user_views_empty_project_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'User views an empty project', feature_category: :projects do +RSpec.describe 'User views an empty project', feature_category: :groups_and_projects do include Features::InviteMembersModalHelpers let_it_be(:project) { create(:project, :empty_repo) } diff --git a/spec/features/projects/view_on_env_spec.rb b/spec/features/projects/view_on_env_spec.rb index bf32431fc88..5f502c0297a 100644 --- a/spec/features/projects/view_on_env_spec.rb +++ b/spec/features/projects/view_on_env_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'View on environment', :js, feature_category: :projects do +RSpec.describe 'View on environment', :js, feature_category: :groups_and_projects do let(:branch_name) { 'feature' } let(:file_path) { 'files/ruby/feature.rb' } let(:project) { create(:project, :repository) } diff --git a/spec/features/projects_spec.rb b/spec/features/projects_spec.rb index 73ee250a8b8..d28fafaac45 100644 --- a/spec/features/projects_spec.rb +++ b/spec/features/projects_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'Project', feature_category: :projects do +RSpec.describe 'Project', feature_category: :groups_and_projects do include ProjectForksHelper include MobileHelpers diff --git a/spec/features/topic_show_spec.rb b/spec/features/topic_show_spec.rb index 39b8782ea58..7c2c6c2dd12 100644 --- a/spec/features/topic_show_spec.rb +++ b/spec/features/topic_show_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'Topic show page', feature_category: :projects do +RSpec.describe 'Topic show page', feature_category: :groups_and_projects do let_it_be(:topic) { create(:topic, name: 'my-topic', title: 'My Topic', description: 'This is **my** topic https://google.com/ :poop: ```\ncode\n```', avatar: fixture_file_upload("spec/fixtures/dk.png", "image/png")) } context 'when topic does not exist' do diff --git a/spec/features/users/user_browses_projects_on_user_page_spec.rb b/spec/features/users/user_browses_projects_on_user_page_spec.rb index 52ca2397582..ccfb66838c5 100644 --- a/spec/features/users/user_browses_projects_on_user_page_spec.rb +++ b/spec/features/users/user_browses_projects_on_user_page_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'Users > User browses projects on user page', :js, feature_category: :projects do +RSpec.describe 'Users > User browses projects on user page', :js, feature_category: :groups_and_projects do let!(:user) { create :user } let!(:private_project) do create :project, :private, name: 'private', namespace: user.namespace do |project| diff --git a/spec/finders/group_members_finder_spec.rb b/spec/finders/group_members_finder_spec.rb index 4fc49289fa4..4ac4dc3ba37 100644 --- a/spec/finders/group_members_finder_spec.rb +++ b/spec/finders/group_members_finder_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe GroupMembersFinder, '#execute', feature_category: :subgroups do +RSpec.describe GroupMembersFinder, '#execute', feature_category: :groups_and_projects do let_it_be(:group) { create(:group) } let_it_be(:sub_group) { create(:group, parent: group) } let_it_be(:sub_sub_group) { create(:group, parent: sub_group) } diff --git a/spec/finders/groups/accepting_project_creations_finder_spec.rb b/spec/finders/groups/accepting_project_creations_finder_spec.rb index 2ea5577dd90..61d673d6a99 100644 --- a/spec/finders/groups/accepting_project_creations_finder_spec.rb +++ b/spec/finders/groups/accepting_project_creations_finder_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe Groups::AcceptingProjectCreationsFinder, feature_category: :subgroups do +RSpec.describe Groups::AcceptingProjectCreationsFinder, feature_category: :groups_and_projects do let_it_be(:user) { create(:user) } let_it_be(:group_where_direct_owner) { create(:group) } let_it_be(:subgroup_of_group_where_direct_owner) { create(:group, parent: group_where_direct_owner) } diff --git a/spec/finders/groups/accepting_project_shares_finder_spec.rb b/spec/finders/groups/accepting_project_shares_finder_spec.rb index 6af3fad2110..f5fd865cf4d 100644 --- a/spec/finders/groups/accepting_project_shares_finder_spec.rb +++ b/spec/finders/groups/accepting_project_shares_finder_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe Groups::AcceptingProjectSharesFinder, feature_category: :subgroups do +RSpec.describe Groups::AcceptingProjectSharesFinder, feature_category: :groups_and_projects do subject(:result) { described_class.new(current_user, project, params).execute } let_it_be_with_reload(:current_user) { create(:user) } diff --git a/spec/finders/groups/user_groups_finder_spec.rb b/spec/finders/groups/user_groups_finder_spec.rb index f6df396037c..99974896311 100644 --- a/spec/finders/groups/user_groups_finder_spec.rb +++ b/spec/finders/groups/user_groups_finder_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe Groups::UserGroupsFinder, feature_category: :subgroups do +RSpec.describe Groups::UserGroupsFinder, feature_category: :groups_and_projects do describe '#execute' do let_it_be(:user) { create(:user) } let_it_be(:root_group) { create(:group, name: 'Root group', path: 'root-group') } diff --git a/spec/finders/members_finder_spec.rb b/spec/finders/members_finder_spec.rb index afab4514ce2..4df6197e3b0 100644 --- a/spec/finders/members_finder_spec.rb +++ b/spec/finders/members_finder_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe MembersFinder, feature_category: :subgroups do +RSpec.describe MembersFinder, feature_category: :groups_and_projects do shared_examples '#execute' do let_it_be(:group) { create(:group) } let_it_be(:nested_group) { create(:group, parent: group) } diff --git a/spec/finders/releases/group_releases_finder_spec.rb b/spec/finders/releases/group_releases_finder_spec.rb index c47477eb3d5..daefc94828b 100644 --- a/spec/finders/releases/group_releases_finder_spec.rb +++ b/spec/finders/releases/group_releases_finder_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe Releases::GroupReleasesFinder, feature_category: :subgroups do +RSpec.describe Releases::GroupReleasesFinder, feature_category: :groups_and_projects do let(:user) { create(:user) } let(:group) { create(:group) } let(:project) { create(:project, :repository, group: group) } diff --git a/spec/finders/releases_finder_spec.rb b/spec/finders/releases_finder_spec.rb index a3418f08b7d..f836b430f8c 100644 --- a/spec/finders/releases_finder_spec.rb +++ b/spec/finders/releases_finder_spec.rb @@ -12,17 +12,7 @@ RSpec.describe ReleasesFinder, feature_category: :release_orchestration do let_it_be(:v1_0_0) { create(:release, project: project, tag: 'v1.0.0') } let_it_be(:v1_1_0) { create(:release, project: project, tag: 'v1.1.0') } - shared_examples_for 'when the user is not part of the project' do - it 'returns no releases' do - is_expected.to be_empty - end - end - - shared_examples_for 'when the user is not part of the group' do - before do - allow(Ability).to receive(:allowed?).with(user, :read_release, group).and_return(false) - end - + shared_examples_for 'when the user is not authorized' do it 'returns no releases' do is_expected.to be_empty end @@ -57,9 +47,9 @@ RSpec.describe ReleasesFinder, feature_category: :release_orchestration do describe 'when parent is a project' do subject { described_class.new(project, user, params).execute(**args) } - it_behaves_like 'when the user is not part of the project' + it_behaves_like 'when the user is not authorized' - context 'when the user is a project guest' do + context 'when the user has guest privileges or higher' do before do project.add_guest(user) @@ -109,11 +99,9 @@ RSpec.describe ReleasesFinder, feature_category: :release_orchestration do subject { described_class.new([project, project2], user, params).execute(**args) } - context 'when the user is not part of any project' do - it_behaves_like 'when the user is not part of the project' - end + it_behaves_like 'when the user is not authorized' - context 'when the user is only part of one project' do + context 'when the user has guest privileges or higher on one project' do before do project.add_guest(user) end @@ -125,7 +113,7 @@ RSpec.describe ReleasesFinder, feature_category: :release_orchestration do end end - context 'when the user is a guest on all projects' do + context 'when the user has guest privileges or higher on all projects' do before do project.add_guest(user) project2.add_guest(user) diff --git a/spec/frontend/commit/components/commit_refs_spec.js b/spec/frontend/commit/components/commit_refs_spec.js index 7c35ff1969c..380b2e07842 100644 --- a/spec/frontend/commit/components/commit_refs_spec.js +++ b/spec/frontend/commit/components/commit_refs_spec.js @@ -42,7 +42,7 @@ describe('Commit references component', () => { [containingBranchesQuery, containingBranchesQueryHandler], ]), provide: { - fullPath: '/some/project', + fullPath: 'some/project', commitSha: 'xxx', }, }); @@ -50,13 +50,15 @@ describe('Commit references component', () => { await waitForPromises(); }; - it('renders component correcrly', async () => { + beforeEach(async () => { await createComponent(); + }); + + it('renders component correcrly', () => { expect(findRefsLists()).toHaveLength(2); }); - it('passes props to refs list', async () => { - await createComponent(); + it('passes props to refs list', () => { expect(branchesList().props()).toEqual(refsListPropsMock); }); @@ -79,4 +81,17 @@ describe('Commit references component', () => { await createComponent(successQueryHandler(mockOnlyBranchesResponse)); expect(findRefsLists()).toHaveLength(1); }); + + describe('with relative url', () => { + beforeEach(async () => { + gon.relative_url_root = '/gitlab'; + await createComponent(); + }); + + it('passes correct urlPart prop to refList', () => { + expect(branchesList().props('urlPart')).toBe( + `${gon.relative_url_root}${refsListPropsMock.urlPart}`, + ); + }); + }); }); diff --git a/spec/frontend/commit/components/refs_list_spec.js b/spec/frontend/commit/components/refs_list_spec.js index d124f4a41b8..594f8827d58 100644 --- a/spec/frontend/commit/components/refs_list_spec.js +++ b/spec/frontend/commit/components/refs_list_spec.js @@ -45,12 +45,12 @@ describe('Commit references component', () => { expect(findCollapseButton().text()).toContain(CONTAINING_COMMIT); }); - it('Emits event when collapse button is clicked', () => { + it('emits event when collapse button is clicked', () => { findCollapseButton().vm.$emit('click'); expect(wrapper.emitted()[FETCH_CONTAINING_REFS_EVENT]).toHaveLength(1); }); - it('Renders the list of containing branches or tags when collapse is expanded', () => { + it('renders the list of containing branches or tags when collapse is expanded', () => { createComponent({ containingRefs: containingBranchesMock }); const containingRefsList = findContainingRefs(); expect(containingRefsList.findAllComponents(GlBadge)).toHaveLength( @@ -58,12 +58,19 @@ describe('Commit references component', () => { ); }); - it('Does not reneder list of tipping branches or tags if there is no data', () => { + it('renders links to refs', () => { + const index = 0; + const refBadge = findTippingRefs().at(index); + const refUrl = `${refsListPropsMock.urlPart}${refsListPropsMock.tippingRefs[index]}`; + expect(refBadge.attributes('href')).toBe(refUrl); + }); + + it('does not reneder list of tipping branches or tags if there is no data', () => { createComponent({ tippingRefs: [] }); expect(findTippingRefs().exists()).toBe(false); }); - it('Renders skeleton loader when isLoading prop has true value', () => { + it('renders skeleton loader when isLoading prop has true value', () => { createComponent({ isLoading: true, containingRefs: [] }); expect(findSkeletonLoader().exists()).toBe(true); }); diff --git a/spec/frontend/commit/mock_data.js b/spec/frontend/commit/mock_data.js index 1c2bcb17663..9c8f9266986 100644 --- a/spec/frontend/commit/mock_data.js +++ b/spec/frontend/commit/mock_data.js @@ -288,4 +288,5 @@ export const refsListPropsMock = { namespace: 'Branches', tippingRefs: tippingBranchesMock, isLoading: false, + urlPart: '/some/project/-/commits/', }; diff --git a/spec/frontend/content_editor/components/content_editor_spec.js b/spec/frontend/content_editor/components/content_editor_spec.js index 59b46e95c45..0b8321ba8eb 100644 --- a/spec/frontend/content_editor/components/content_editor_spec.js +++ b/spec/frontend/content_editor/components/content_editor_spec.js @@ -105,6 +105,18 @@ describe('ContentEditor', () => { expect(findEditorElement().text()).not.toContain('For quick actions, type /'); }); + it('displays an attachment button', () => { + createWrapper(); + + expect(wrapper.findComponent(FormattingToolbar).props().hideAttachmentButton).toBe(false); + }); + + it('hides the attachment button if attachments are disabled', () => { + createWrapper({ disableAttachments: true }); + + expect(wrapper.findComponent(FormattingToolbar).props().hideAttachmentButton).toBe(true); + }); + describe('when setting initial content', () => { it('displays loading indicator', async () => { createWrapper(); diff --git a/spec/frontend/content_editor/components/formatting_toolbar_spec.js b/spec/frontend/content_editor/components/formatting_toolbar_spec.js index e04c6a00765..9d835381ff4 100644 --- a/spec/frontend/content_editor/components/formatting_toolbar_spec.js +++ b/spec/frontend/content_editor/components/formatting_toolbar_spec.js @@ -12,13 +12,14 @@ describe('content_editor/components/formatting_toolbar', () => { let wrapper; let trackingSpy; - const buildWrapper = () => { + const buildWrapper = (props) => { wrapper = shallowMountExtended(FormattingToolbar, { stubs: { GlTabs, GlTab, EditorModeSwitcher, }, + propsData: props, }); }; @@ -73,4 +74,12 @@ describe('content_editor/components/formatting_toolbar', () => { expect(wrapper.findComponent(EditorModeSwitcher).exists()).toBe(true); }); + + describe('when attachment button is hidden', () => { + it('does not show the attachment button', () => { + buildWrapper({ hideAttachmentButton: true }); + + expect(wrapper.findByTestId('attachment').exists()).toBe(false); + }); + }); }); diff --git a/spec/frontend/vue_shared/components/markdown/markdown_editor_spec.js b/spec/frontend/vue_shared/components/markdown/markdown_editor_spec.js index 72454c113b0..e54e261b8e4 100644 --- a/spec/frontend/vue_shared/components/markdown/markdown_editor_spec.js +++ b/spec/frontend/vue_shared/components/markdown/markdown_editor_spec.js @@ -174,6 +174,20 @@ describe('vue_shared/component/markdown/markdown_editor', () => { }); }); + describe('when attachments are disabled', () => { + beforeEach(() => { + buildWrapper({ propsData: { disableAttachments: true } }); + }); + + it('disables canAttachFile', () => { + expect(findMarkdownField().props().canAttachFile).toBe(false); + }); + + it('passes `attach-file` to restrictedToolBarItems', () => { + expect(findMarkdownField().props().restrictedToolBarItems).toContain('attach-file'); + }); + }); + describe('disabled', () => { it('disables markdown field when disabled prop is true', () => { buildWrapper({ propsData: { disabled: true } }); diff --git a/spec/graphql/mutations/members/bulk_update_base_spec.rb b/spec/graphql/mutations/members/bulk_update_base_spec.rb index 61a27984824..d7a19e39890 100644 --- a/spec/graphql/mutations/members/bulk_update_base_spec.rb +++ b/spec/graphql/mutations/members/bulk_update_base_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe Mutations::Members::BulkUpdateBase, feature_category: :subgroups do +RSpec.describe Mutations::Members::BulkUpdateBase, feature_category: :groups_and_projects do include GraphqlHelpers let_it_be(:user) { create(:user) } diff --git a/spec/graphql/resolvers/groups_resolver_spec.rb b/spec/graphql/resolvers/groups_resolver_spec.rb index 9d1ad46ed0e..6a317742349 100644 --- a/spec/graphql/resolvers/groups_resolver_spec.rb +++ b/spec/graphql/resolvers/groups_resolver_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe Resolvers::GroupsResolver, feature_category: :subgroups do +RSpec.describe Resolvers::GroupsResolver, feature_category: :groups_and_projects do include GraphqlHelpers describe '#resolve' do diff --git a/spec/graphql/resolvers/namespace_projects_resolver_spec.rb b/spec/graphql/resolvers/namespace_projects_resolver_spec.rb index 07ea98f00c7..5974bf2a7b4 100644 --- a/spec/graphql/resolvers/namespace_projects_resolver_spec.rb +++ b/spec/graphql/resolvers/namespace_projects_resolver_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe Resolvers::NamespaceProjectsResolver, feature_category: :subgroups do +RSpec.describe Resolvers::NamespaceProjectsResolver, feature_category: :groups_and_projects do include GraphqlHelpers let(:current_user) { create(:user) } diff --git a/spec/graphql/resolvers/nested_groups_resolver_spec.rb b/spec/graphql/resolvers/nested_groups_resolver_spec.rb index e58edc3fd4b..cc3b276754a 100644 --- a/spec/graphql/resolvers/nested_groups_resolver_spec.rb +++ b/spec/graphql/resolvers/nested_groups_resolver_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe Resolvers::NestedGroupsResolver, feature_category: :subgroups do +RSpec.describe Resolvers::NestedGroupsResolver, feature_category: :groups_and_projects do include GraphqlHelpers describe '#resolve' do diff --git a/spec/graphql/types/member_access_level_enum_spec.rb b/spec/graphql/types/member_access_level_enum_spec.rb index 54aef667695..cb079f848e0 100644 --- a/spec/graphql/types/member_access_level_enum_spec.rb +++ b/spec/graphql/types/member_access_level_enum_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe Types::MemberAccessLevelEnum, feature_category: :subgroups do +RSpec.describe Types::MemberAccessLevelEnum, feature_category: :groups_and_projects do specify { expect(described_class.graphql_name).to eq('MemberAccessLevel') } it 'exposes all the existing access levels' do diff --git a/spec/helpers/namespaces_helper_spec.rb b/spec/helpers/namespaces_helper_spec.rb index e7c8e40da7f..bc582544d16 100644 --- a/spec/helpers/namespaces_helper_spec.rb +++ b/spec/helpers/namespaces_helper_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe NamespacesHelper, feature_category: :subgroups do +RSpec.describe NamespacesHelper, feature_category: :groups_and_projects do let!(:admin) { create(:admin) } let!(:admin_project_creation_level) { nil } let!(:admin_group) do diff --git a/spec/lib/api/entities/plan_limit_spec.rb b/spec/lib/api/entities/plan_limit_spec.rb index dd687143aa9..a2d183fd631 100644 --- a/spec/lib/api/entities/plan_limit_spec.rb +++ b/spec/lib/api/entities/plan_limit_spec.rb @@ -17,15 +17,16 @@ RSpec.describe API::Entities::PlanLimit do :ci_registered_group_runners, :ci_registered_project_runners, :conan_max_file_size, + :enforcement_limit, :generic_packages_max_file_size, :helm_max_file_size, :maven_max_file_size, + :notification_limit, :npm_max_file_size, :nuget_max_file_size, :pypi_max_file_size, :terraform_module_max_file_size, :storage_size_limit, - :notification_limit, :pipeline_hierarchy_size ) end diff --git a/spec/lib/api/helpers/members_helpers_spec.rb b/spec/lib/api/helpers/members_helpers_spec.rb index ee1ae6b1781..3afa36656e9 100644 --- a/spec/lib/api/helpers/members_helpers_spec.rb +++ b/spec/lib/api/helpers/members_helpers_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe API::Helpers::MembersHelpers, feature_category: :subgroups do +RSpec.describe API::Helpers::MembersHelpers, feature_category: :groups_and_projects do let(:helper) do Class.new.include(described_class).new end diff --git a/spec/lib/gitlab/background_migration/disable_legacy_open_source_license_for_projects_less_than_five_mb_spec.rb b/spec/lib/gitlab/background_migration/disable_legacy_open_source_license_for_projects_less_than_five_mb_spec.rb index b92f1a74551..2f53a5da272 100644 --- a/spec/lib/gitlab/background_migration/disable_legacy_open_source_license_for_projects_less_than_five_mb_spec.rb +++ b/spec/lib/gitlab/background_migration/disable_legacy_open_source_license_for_projects_less_than_five_mb_spec.rb @@ -5,7 +5,7 @@ require 'spec_helper' RSpec.describe Gitlab::BackgroundMigration::DisableLegacyOpenSourceLicenseForProjectsLessThanFiveMb, :migration, schema: 20221018095434, - feature_category: :projects do + feature_category: :groups_and_projects do let(:namespaces_table) { table(:namespaces) } let(:projects_table) { table(:projects) } let(:project_settings_table) { table(:project_settings) } diff --git a/spec/lib/gitlab/background_migration/nullify_creator_id_column_of_orphaned_projects_spec.rb b/spec/lib/gitlab/background_migration/nullify_creator_id_column_of_orphaned_projects_spec.rb index f671a673a08..facc3c435da 100644 --- a/spec/lib/gitlab/background_migration/nullify_creator_id_column_of_orphaned_projects_spec.rb +++ b/spec/lib/gitlab/background_migration/nullify_creator_id_column_of_orphaned_projects_spec.rb @@ -2,8 +2,8 @@ require 'spec_helper' -RSpec.describe Gitlab::BackgroundMigration::NullifyCreatorIdColumnOfOrphanedProjects, feature_category: :projects, - schema: 20230130073109 do +RSpec.describe Gitlab::BackgroundMigration::NullifyCreatorIdColumnOfOrphanedProjects, + feature_category: :groups_and_projects, schema: 20230130073109 do let(:users) { table(:users) } let(:projects) { table(:projects) } let(:namespaces) { table(:namespaces) } diff --git a/spec/lib/gitlab/background_migration/remove_project_group_link_with_missing_groups_spec.rb b/spec/lib/gitlab/background_migration/remove_project_group_link_with_missing_groups_spec.rb index c45c402ab9d..126e928fa77 100644 --- a/spec/lib/gitlab/background_migration/remove_project_group_link_with_missing_groups_spec.rb +++ b/spec/lib/gitlab/background_migration/remove_project_group_link_with_missing_groups_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' RSpec.describe Gitlab::BackgroundMigration::RemoveProjectGroupLinkWithMissingGroups, :migration, - feature_category: :subgroups, schema: 20230206172702 do + feature_category: :groups_and_projects, schema: 20230206172702 do let(:projects) { table(:projects) } let(:namespaces) { table(:namespaces) } let(:project_group_links) { table(:project_group_links) } diff --git a/spec/lib/gitlab/database/rename_reserved_paths_migration/v1/rename_base_spec.rb b/spec/lib/gitlab/database/rename_reserved_paths_migration/v1/rename_base_spec.rb index 2cb84e2f02a..370d03b495c 100644 --- a/spec/lib/gitlab/database/rename_reserved_paths_migration/v1/rename_base_spec.rb +++ b/spec/lib/gitlab/database/rename_reserved_paths_migration/v1/rename_base_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe Gitlab::Database::RenameReservedPathsMigration::V1::RenameBase, :delete, feature_category: :subgroups do +RSpec.describe Gitlab::Database::RenameReservedPathsMigration::V1::RenameBase, :delete, feature_category: :groups_and_projects do let(:migration) { FakeRenameReservedPathMigrationV1.new } let(:subject) { described_class.new(['the-path'], migration) } diff --git a/spec/lib/gitlab/database/rename_reserved_paths_migration/v1/rename_namespaces_spec.rb b/spec/lib/gitlab/database/rename_reserved_paths_migration/v1/rename_namespaces_spec.rb index 5b5661020b0..b00a1d4a9e1 100644 --- a/spec/lib/gitlab/database/rename_reserved_paths_migration/v1/rename_namespaces_spec.rb +++ b/spec/lib/gitlab/database/rename_reserved_paths_migration/v1/rename_namespaces_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' RSpec.describe Gitlab::Database::RenameReservedPathsMigration::V1::RenameNamespaces, :delete, -feature_category: :subgroups do +feature_category: :groups_and_projects do let(:migration) { FakeRenameReservedPathMigrationV1.new } let(:subject) { described_class.new(['the-path'], migration) } let(:namespace) { create(:group, name: 'the-path') } diff --git a/spec/lib/gitlab/database/rename_reserved_paths_migration/v1/rename_projects_spec.rb b/spec/lib/gitlab/database/rename_reserved_paths_migration/v1/rename_projects_spec.rb index 787c9e87038..d2665664fb0 100644 --- a/spec/lib/gitlab/database/rename_reserved_paths_migration/v1/rename_projects_spec.rb +++ b/spec/lib/gitlab/database/rename_reserved_paths_migration/v1/rename_projects_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' RSpec.describe Gitlab::Database::RenameReservedPathsMigration::V1::RenameProjects, :delete, -feature_category: :projects do +feature_category: :groups_and_projects do let(:migration) { FakeRenameReservedPathMigrationV1.new } let(:subject) { described_class.new(['the-path'], migration) } let(:project) do diff --git a/spec/lib/gitlab/metrics/rails_slis_spec.rb b/spec/lib/gitlab/metrics/rails_slis_spec.rb index 32d3b7581f1..ef996f61082 100644 --- a/spec/lib/gitlab/metrics/rails_slis_spec.rb +++ b/spec/lib/gitlab/metrics/rails_slis_spec.rb @@ -11,7 +11,7 @@ RSpec.describe Gitlab::Metrics::RailsSlis, feature_category: :error_budgets do [ { endpoint_id: "ProjectsController#index", - feature_category: :projects, + feature_category: :groups_and_projects, request_urgency: :default } ] diff --git a/spec/lib/gitlab/sidekiq_middleware/defer_jobs_spec.rb b/spec/lib/gitlab/sidekiq_middleware/defer_jobs_spec.rb index 25b4544d9d6..16c0fceae3b 100644 --- a/spec/lib/gitlab/sidekiq_middleware/defer_jobs_spec.rb +++ b/spec/lib/gitlab/sidekiq_middleware/defer_jobs_spec.rb @@ -33,8 +33,8 @@ RSpec.describe Gitlab::SidekiqMiddleware::DeferJobs, feature_category: :scalabil describe '#call' do context 'when sidekiq_defer_jobs feature flag is enabled for a worker' do before do - stub_feature_flags("defer_sidekiq_jobs:#{TestDeferredWorker.name}": true) - stub_feature_flags("defer_sidekiq_jobs:#{UndeferredWorker.name}": false) + stub_feature_flags("defer_sidekiq_jobs_#{TestDeferredWorker.name}": true) + stub_feature_flags("defer_sidekiq_jobs_#{UndeferredWorker.name}": false) end context 'for the affected worker' do @@ -59,8 +59,8 @@ RSpec.describe Gitlab::SidekiqMiddleware::DeferJobs, feature_category: :scalabil context 'when sidekiq_defer_jobs feature flag is disabled' do before do - stub_feature_flags("defer_sidekiq_jobs:#{TestDeferredWorker.name}": false) - stub_feature_flags("defer_sidekiq_jobs:#{UndeferredWorker.name}": false) + stub_feature_flags("defer_sidekiq_jobs_#{TestDeferredWorker.name}": false) + stub_feature_flags("defer_sidekiq_jobs_#{UndeferredWorker.name}": false) end it 'runs the job normally' do diff --git a/spec/lib/gitlab/sidekiq_middleware_spec.rb b/spec/lib/gitlab/sidekiq_middleware_spec.rb index dabd734aa51..7e53b6598b6 100644 --- a/spec/lib/gitlab/sidekiq_middleware_spec.rb +++ b/spec/lib/gitlab/sidekiq_middleware_spec.rb @@ -31,7 +31,7 @@ RSpec.describe Gitlab::SidekiqMiddleware do shared_examples "a middleware chain" do before do configurator.call(chain) - stub_feature_flags("defer_sidekiq_jobs:#{worker_class.name}": false) # not letting this worker deferring its jobs + stub_feature_flags("defer_sidekiq_jobs_#{worker_class.name}": false) # not letting this worker deferring its jobs end it "passes through the right middlewares", :aggregate_failures do enabled_sidekiq_middlewares.each do |middleware| diff --git a/spec/migrations/20211203091642_add_index_to_projects_on_marked_for_deletion_at_spec.rb b/spec/migrations/20211203091642_add_index_to_projects_on_marked_for_deletion_at_spec.rb index 7be54bc13cc..a513e80a510 100644 --- a/spec/migrations/20211203091642_add_index_to_projects_on_marked_for_deletion_at_spec.rb +++ b/spec/migrations/20211203091642_add_index_to_projects_on_marked_for_deletion_at_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' require_migration! -RSpec.describe AddIndexToProjectsOnMarkedForDeletionAt, feature_category: :projects do +RSpec.describe AddIndexToProjectsOnMarkedForDeletionAt, feature_category: :groups_and_projects do it 'correctly migrates up and down' do reversible_migration do |migration| migration.before -> { diff --git a/spec/migrations/20220208080921_schedule_migrate_personal_namespace_project_maintainer_to_owner_spec.rb b/spec/migrations/20220208080921_schedule_migrate_personal_namespace_project_maintainer_to_owner_spec.rb index 89583d1050b..3de9d992413 100644 --- a/spec/migrations/20220208080921_schedule_migrate_personal_namespace_project_maintainer_to_owner_spec.rb +++ b/spec/migrations/20220208080921_schedule_migrate_personal_namespace_project_maintainer_to_owner_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' require_migration! -RSpec.describe ScheduleMigratePersonalNamespaceProjectMaintainerToOwner, feature_category: :subgroups do +RSpec.describe ScheduleMigratePersonalNamespaceProjectMaintainerToOwner, feature_category: :groups_and_projects do let!(:migration) { described_class::MIGRATION } describe '#up' do diff --git a/spec/migrations/20220223124428_schedule_merge_topics_with_same_name_spec.rb b/spec/migrations/20220223124428_schedule_merge_topics_with_same_name_spec.rb index 425f622581b..0347dd8b88d 100644 --- a/spec/migrations/20220223124428_schedule_merge_topics_with_same_name_spec.rb +++ b/spec/migrations/20220223124428_schedule_merge_topics_with_same_name_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' require_migration! -RSpec.describe ScheduleMergeTopicsWithSameName, feature_category: :projects do +RSpec.describe ScheduleMergeTopicsWithSameName, feature_category: :groups_and_projects do let(:topics) { table(:topics) } describe '#up' do diff --git a/spec/migrations/20220324165436_schedule_backfill_project_settings_spec.rb b/spec/migrations/20220324165436_schedule_backfill_project_settings_spec.rb index 3fcfb84c214..82187f71ceb 100644 --- a/spec/migrations/20220324165436_schedule_backfill_project_settings_spec.rb +++ b/spec/migrations/20220324165436_schedule_backfill_project_settings_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' require_migration! -RSpec.describe ScheduleBackfillProjectSettings, feature_category: :projects do +RSpec.describe ScheduleBackfillProjectSettings, feature_category: :groups_and_projects do let!(:migration) { described_class::MIGRATION } describe '#up' do diff --git a/spec/migrations/20220331133802_schedule_backfill_topics_title_spec.rb b/spec/migrations/20220331133802_schedule_backfill_topics_title_spec.rb index b26cd9688ae..0b6252ffb53 100644 --- a/spec/migrations/20220331133802_schedule_backfill_topics_title_spec.rb +++ b/spec/migrations/20220331133802_schedule_backfill_topics_title_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' require_migration! -RSpec.describe ScheduleBackfillTopicsTitle, feature_category: :projects do +RSpec.describe ScheduleBackfillTopicsTitle, feature_category: :groups_and_projects do let(:topics) { table(:topics) } let!(:topic1) { topics.create!(name: 'topic1') } diff --git a/spec/migrations/20220416054011_schedule_backfill_project_member_namespace_id_spec.rb b/spec/migrations/20220416054011_schedule_backfill_project_member_namespace_id_spec.rb index c81ecc07779..019d17d5fc3 100644 --- a/spec/migrations/20220416054011_schedule_backfill_project_member_namespace_id_spec.rb +++ b/spec/migrations/20220416054011_schedule_backfill_project_member_namespace_id_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' require_migration! -RSpec.describe ScheduleBackfillProjectMemberNamespaceId, feature_category: :subgroups do +RSpec.describe ScheduleBackfillProjectMemberNamespaceId, feature_category: :groups_and_projects do let!(:migration) { described_class::MIGRATION } describe '#up' do diff --git a/spec/migrations/20220506154054_create_sync_namespace_details_trigger_spec.rb b/spec/migrations/20220506154054_create_sync_namespace_details_trigger_spec.rb index 3e784761dd4..cc386745547 100644 --- a/spec/migrations/20220506154054_create_sync_namespace_details_trigger_spec.rb +++ b/spec/migrations/20220506154054_create_sync_namespace_details_trigger_spec.rb @@ -4,7 +4,7 @@ require 'spec_helper' require_migration! -RSpec.describe CreateSyncNamespaceDetailsTrigger, feature_category: :subgroups do +RSpec.describe CreateSyncNamespaceDetailsTrigger, feature_category: :groups_and_projects do let(:migration) { described_class.new } let(:namespaces) { table(:namespaces) } let(:namespace_details) { table(:namespace_details) } diff --git a/spec/migrations/20220524184149_create_sync_project_namespace_details_trigger_spec.rb b/spec/migrations/20220524184149_create_sync_project_namespace_details_trigger_spec.rb index 21fddb08771..1b598266f50 100644 --- a/spec/migrations/20220524184149_create_sync_project_namespace_details_trigger_spec.rb +++ b/spec/migrations/20220524184149_create_sync_project_namespace_details_trigger_spec.rb @@ -4,7 +4,7 @@ require 'spec_helper' require_migration! -RSpec.describe CreateSyncProjectNamespaceDetailsTrigger, feature_category: :projects do +RSpec.describe CreateSyncProjectNamespaceDetailsTrigger, feature_category: :groups_and_projects do let(:migration) { described_class.new } let(:projects) { table(:projects) } let(:namespaces) { table(:namespaces) } diff --git a/spec/migrations/20220627090231_schedule_disable_legacy_open_source_license_for_inactive_public_projects_spec.rb b/spec/migrations/20220627090231_schedule_disable_legacy_open_source_license_for_inactive_public_projects_spec.rb index edefc378575..4927e61da95 100644 --- a/spec/migrations/20220627090231_schedule_disable_legacy_open_source_license_for_inactive_public_projects_spec.rb +++ b/spec/migrations/20220627090231_schedule_disable_legacy_open_source_license_for_inactive_public_projects_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' require_migration! -RSpec.describe ScheduleDisableLegacyOpenSourceLicenseForInactivePublicProjects, feature_category: :projects do +RSpec.describe ScheduleDisableLegacyOpenSourceLicenseForInactivePublicProjects, feature_category: :groups_and_projects do context 'on gitlab.com' do let(:migration) { described_class::MIGRATION } diff --git a/spec/migrations/20220627152642_queue_update_delayed_project_removal_to_null_for_user_namespace_spec.rb b/spec/migrations/20220627152642_queue_update_delayed_project_removal_to_null_for_user_namespace_spec.rb index fe46d6a8608..0335ba45993 100644 --- a/spec/migrations/20220627152642_queue_update_delayed_project_removal_to_null_for_user_namespace_spec.rb +++ b/spec/migrations/20220627152642_queue_update_delayed_project_removal_to_null_for_user_namespace_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' require_migration! -RSpec.describe QueueUpdateDelayedProjectRemovalToNullForUserNamespace, feature_category: :subgroups do +RSpec.describe QueueUpdateDelayedProjectRemovalToNullForUserNamespace, feature_category: :groups_and_projects do let(:migration) { described_class::MIGRATION } describe '#up' do diff --git a/spec/migrations/20220628012902_finalise_project_namespace_members_spec.rb b/spec/migrations/20220628012902_finalise_project_namespace_members_spec.rb index fb1a4782f3b..e3ba45ff13b 100644 --- a/spec/migrations/20220628012902_finalise_project_namespace_members_spec.rb +++ b/spec/migrations/20220628012902_finalise_project_namespace_members_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' require_migration! -RSpec.describe FinaliseProjectNamespaceMembers, :migration, feature_category: :subgroups do +RSpec.describe FinaliseProjectNamespaceMembers, :migration, feature_category: :groups_and_projects do let(:batched_migrations) { table(:batched_background_migrations) } let!(:migration) { described_class::MIGRATION } diff --git a/spec/migrations/20220721031446_schedule_disable_legacy_open_source_license_for_one_member_no_repo_projects_spec.rb b/spec/migrations/20220721031446_schedule_disable_legacy_open_source_license_for_one_member_no_repo_projects_spec.rb index 2dff9eb90cd..0701f05057a 100644 --- a/spec/migrations/20220721031446_schedule_disable_legacy_open_source_license_for_one_member_no_repo_projects_spec.rb +++ b/spec/migrations/20220721031446_schedule_disable_legacy_open_source_license_for_one_member_no_repo_projects_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' require_migration! -RSpec.describe ScheduleDisableLegacyOpenSourceLicenseForOneMemberNoRepoProjects, feature_category: :projects do +RSpec.describe ScheduleDisableLegacyOpenSourceLicenseForOneMemberNoRepoProjects, feature_category: :groups_and_projects do context 'when on gitlab.com' do let(:migration) { described_class::MIGRATION } diff --git a/spec/migrations/20220722084543_schedule_disable_legacy_open_source_license_for_no_issues_no_repo_projects_spec.rb b/spec/migrations/20220722084543_schedule_disable_legacy_open_source_license_for_no_issues_no_repo_projects_spec.rb index a994ddad850..83c658f700e 100644 --- a/spec/migrations/20220722084543_schedule_disable_legacy_open_source_license_for_no_issues_no_repo_projects_spec.rb +++ b/spec/migrations/20220722084543_schedule_disable_legacy_open_source_license_for_no_issues_no_repo_projects_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' require_migration! -RSpec.describe ScheduleDisableLegacyOpenSourceLicenseForNoIssuesNoRepoProjects, feature_category: :projects do +RSpec.describe ScheduleDisableLegacyOpenSourceLicenseForNoIssuesNoRepoProjects, feature_category: :groups_and_projects do context 'when on gitlab.com' do let(:migration) { described_class::MIGRATION } diff --git a/spec/migrations/20220722110026_reschedule_set_legacy_open_source_license_available_for_non_public_projects_spec.rb b/spec/migrations/20220722110026_reschedule_set_legacy_open_source_license_available_for_non_public_projects_spec.rb index ab246ea1b10..74638918e02 100644 --- a/spec/migrations/20220722110026_reschedule_set_legacy_open_source_license_available_for_non_public_projects_spec.rb +++ b/spec/migrations/20220722110026_reschedule_set_legacy_open_source_license_available_for_non_public_projects_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' require_migration! -RSpec.describe RescheduleSetLegacyOpenSourceLicenseAvailableForNonPublicProjects, feature_category: :projects do +RSpec.describe RescheduleSetLegacyOpenSourceLicenseAvailableForNonPublicProjects, feature_category: :groups_and_projects do context 'when on gitlab.com' do let(:migration) { described_class::MIGRATION } diff --git a/spec/migrations/20220801155858_schedule_disable_legacy_open_source_licence_for_recent_public_projects_spec.rb b/spec/migrations/20220801155858_schedule_disable_legacy_open_source_licence_for_recent_public_projects_spec.rb index a9f0bdc8487..f383b4aafea 100644 --- a/spec/migrations/20220801155858_schedule_disable_legacy_open_source_licence_for_recent_public_projects_spec.rb +++ b/spec/migrations/20220801155858_schedule_disable_legacy_open_source_licence_for_recent_public_projects_spec.rb @@ -4,7 +4,7 @@ require 'spec_helper' require_migration! RSpec.describe ScheduleDisableLegacyOpenSourceLicenceForRecentPublicProjects, - schema: 20220801155858, feature_category: :projects do + schema: 20220801155858, feature_category: :groups_and_projects do context 'when on gitlab.com' do let(:background_migration) { described_class::MIGRATION } let(:migration) { described_class.new } diff --git a/spec/migrations/20220906074449_schedule_disable_legacy_open_source_license_for_projects_less_than_one_mb_spec.rb b/spec/migrations/20220906074449_schedule_disable_legacy_open_source_license_for_projects_less_than_one_mb_spec.rb index 852748bcdc1..75117b6c9b1 100644 --- a/spec/migrations/20220906074449_schedule_disable_legacy_open_source_license_for_projects_less_than_one_mb_spec.rb +++ b/spec/migrations/20220906074449_schedule_disable_legacy_open_source_license_for_projects_less_than_one_mb_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' require_migration! -RSpec.describe ScheduleDisableLegacyOpenSourceLicenseForProjectsLessThanOneMb, feature_category: :projects do +RSpec.describe ScheduleDisableLegacyOpenSourceLicenseForProjectsLessThanOneMb, feature_category: :groups_and_projects do let!(:migration) { described_class.new } let!(:post_migration) { described_class::MIGRATION } diff --git a/spec/migrations/20220921093355_schedule_backfill_namespace_details_spec.rb b/spec/migrations/20220921093355_schedule_backfill_namespace_details_spec.rb index 5ac49762dbf..41c4115c6a4 100644 --- a/spec/migrations/20220921093355_schedule_backfill_namespace_details_spec.rb +++ b/spec/migrations/20220921093355_schedule_backfill_namespace_details_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' require_migration! -RSpec.describe ScheduleBackfillNamespaceDetails, schema: 20220921093355, feature_category: :subgroups do +RSpec.describe ScheduleBackfillNamespaceDetails, schema: 20220921093355, feature_category: :groups_and_projects do context 'when on gitlab.com' do let(:background_migration) { described_class::MIGRATION } let(:migration) { described_class.new } diff --git a/spec/migrations/20221002234454_finalize_group_member_namespace_id_migration_spec.rb b/spec/migrations/20221002234454_finalize_group_member_namespace_id_migration_spec.rb index 632b23a8384..e3adea47273 100644 --- a/spec/migrations/20221002234454_finalize_group_member_namespace_id_migration_spec.rb +++ b/spec/migrations/20221002234454_finalize_group_member_namespace_id_migration_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' require_migration! -RSpec.describe FinalizeGroupMemberNamespaceIdMigration, :migration, feature_category: :subgroups do +RSpec.describe FinalizeGroupMemberNamespaceIdMigration, :migration, feature_category: :groups_and_projects do let(:batched_migrations) { table(:batched_background_migrations) } let!(:migration) { described_class::MIGRATION } diff --git a/spec/migrations/20221004094814_schedule_destroy_invalid_members_spec.rb b/spec/migrations/20221004094814_schedule_destroy_invalid_members_spec.rb index 8bffa4b9b99..73896cf1cea 100644 --- a/spec/migrations/20221004094814_schedule_destroy_invalid_members_spec.rb +++ b/spec/migrations/20221004094814_schedule_destroy_invalid_members_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' require_migration! -RSpec.describe ScheduleDestroyInvalidMembers, :migration, feature_category: :subgroups do +RSpec.describe ScheduleDestroyInvalidMembers, :migration, feature_category: :groups_and_projects do let!(:migration) { described_class::MIGRATION } describe '#up' do diff --git a/spec/migrations/20221018062308_schedule_backfill_project_namespace_details_spec.rb b/spec/migrations/20221018062308_schedule_backfill_project_namespace_details_spec.rb index 4175d9b1ad8..9cca2a5adfc 100644 --- a/spec/migrations/20221018062308_schedule_backfill_project_namespace_details_spec.rb +++ b/spec/migrations/20221018062308_schedule_backfill_project_namespace_details_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' require_migration! -RSpec.describe ScheduleBackfillProjectNamespaceDetails, schema: 20221018062308, feature_category: :projects do +RSpec.describe ScheduleBackfillProjectNamespaceDetails, schema: 20221018062308, feature_category: :groups_and_projects do context 'when on gitlab.com' do let!(:background_migration) { described_class::MIGRATION } let!(:migration) { described_class.new } diff --git a/spec/migrations/20221018095434_schedule_disable_legacy_open_source_license_for_projects_less_than_five_mb_spec.rb b/spec/migrations/20221018095434_schedule_disable_legacy_open_source_license_for_projects_less_than_five_mb_spec.rb index 34bba8ed9c8..ba341ebe5ca 100644 --- a/spec/migrations/20221018095434_schedule_disable_legacy_open_source_license_for_projects_less_than_five_mb_spec.rb +++ b/spec/migrations/20221018095434_schedule_disable_legacy_open_source_license_for_projects_less_than_five_mb_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' require_migration! -RSpec.describe ScheduleDisableLegacyOpenSourceLicenseForProjectsLessThanFiveMb, feature_category: :projects do +RSpec.describe ScheduleDisableLegacyOpenSourceLicenseForProjectsLessThanFiveMb, feature_category: :groups_and_projects do let!(:migration) { described_class.new } let!(:post_migration) { described_class::MIGRATION } diff --git a/spec/migrations/20230130073109_nullify_creator_id_of_orphaned_projects_spec.rb b/spec/migrations/20230130073109_nullify_creator_id_of_orphaned_projects_spec.rb index 9d4d50fab54..196bacd99ba 100644 --- a/spec/migrations/20230130073109_nullify_creator_id_of_orphaned_projects_spec.rb +++ b/spec/migrations/20230130073109_nullify_creator_id_of_orphaned_projects_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' require_migration! -RSpec.describe NullifyCreatorIdOfOrphanedProjects, feature_category: :projects do +RSpec.describe NullifyCreatorIdOfOrphanedProjects, feature_category: :groups_and_projects do let!(:migration) { described_class::MIGRATION } describe '#up' do diff --git a/spec/migrations/20230209222452_schedule_remove_project_group_link_with_missing_groups_spec.rb b/spec/migrations/20230209222452_schedule_remove_project_group_link_with_missing_groups_spec.rb index 13ae12b2774..19c9b209634 100644 --- a/spec/migrations/20230209222452_schedule_remove_project_group_link_with_missing_groups_spec.rb +++ b/spec/migrations/20230209222452_schedule_remove_project_group_link_with_missing_groups_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' require_migration! -RSpec.describe ScheduleRemoveProjectGroupLinkWithMissingGroups, feature_category: :subgroups do +RSpec.describe ScheduleRemoveProjectGroupLinkWithMissingGroups, feature_category: :groups_and_projects do let!(:migration) { described_class::MIGRATION } describe '#up' do diff --git a/spec/migrations/20230223065753_finalize_nullify_creator_id_of_orphaned_projects_spec.rb b/spec/migrations/20230223065753_finalize_nullify_creator_id_of_orphaned_projects_spec.rb index e4adf3ca540..006f44de0b7 100644 --- a/spec/migrations/20230223065753_finalize_nullify_creator_id_of_orphaned_projects_spec.rb +++ b/spec/migrations/20230223065753_finalize_nullify_creator_id_of_orphaned_projects_spec.rb @@ -4,7 +4,7 @@ require 'spec_helper' require_migration! -RSpec.describe FinalizeNullifyCreatorIdOfOrphanedProjects, :migration, feature_category: :projects do +RSpec.describe FinalizeNullifyCreatorIdOfOrphanedProjects, :migration, feature_category: :groups_and_projects do let(:batched_migrations) { table(:batched_background_migrations) } let(:batch_failed_status) { 2 } let(:batch_finalized_status) { 3 } diff --git a/spec/migrations/backfill_all_project_namespaces_spec.rb b/spec/migrations/backfill_all_project_namespaces_spec.rb index 52fa46eea57..5cd499a2988 100644 --- a/spec/migrations/backfill_all_project_namespaces_spec.rb +++ b/spec/migrations/backfill_all_project_namespaces_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' require_migration! -RSpec.describe BackfillAllProjectNamespaces, :migration, feature_category: :subgroups do +RSpec.describe BackfillAllProjectNamespaces, :migration, feature_category: :groups_and_projects do let!(:migration) { described_class::MIGRATION } let(:projects) { table(:projects) } diff --git a/spec/migrations/backfill_member_namespace_id_for_group_members_spec.rb b/spec/migrations/backfill_member_namespace_id_for_group_members_spec.rb index 892589dd770..da6ddfe808e 100644 --- a/spec/migrations/backfill_member_namespace_id_for_group_members_spec.rb +++ b/spec/migrations/backfill_member_namespace_id_for_group_members_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' require_migration! -RSpec.describe BackfillMemberNamespaceIdForGroupMembers, feature_category: :subgroups do +RSpec.describe BackfillMemberNamespaceIdForGroupMembers, feature_category: :groups_and_projects do let!(:migration) { described_class::MIGRATION } describe '#up' do diff --git a/spec/migrations/backfill_namespace_id_for_namespace_routes_spec.rb b/spec/migrations/backfill_namespace_id_for_namespace_routes_spec.rb index 627b18cd889..8fef4cdc806 100644 --- a/spec/migrations/backfill_namespace_id_for_namespace_routes_spec.rb +++ b/spec/migrations/backfill_namespace_id_for_namespace_routes_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' require_migration! -RSpec.describe BackfillNamespaceIdForNamespaceRoutes, feature_category: :projects do +RSpec.describe BackfillNamespaceIdForNamespaceRoutes, feature_category: :groups_and_projects do let!(:migration) { described_class::MIGRATION } describe '#up' do diff --git a/spec/migrations/backfill_namespace_id_for_project_routes_spec.rb b/spec/migrations/backfill_namespace_id_for_project_routes_spec.rb index 773c1733a4a..998d5e88b9d 100644 --- a/spec/migrations/backfill_namespace_id_for_project_routes_spec.rb +++ b/spec/migrations/backfill_namespace_id_for_project_routes_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' require_migration! -RSpec.describe BackfillNamespaceIdForProjectRoutes, :migration, feature_category: :subgroups do +RSpec.describe BackfillNamespaceIdForProjectRoutes, :migration, feature_category: :groups_and_projects do let(:migration) { described_class::MIGRATION } describe '#up' do diff --git a/spec/migrations/backfill_project_namespaces_for_group_spec.rb b/spec/migrations/backfill_project_namespaces_for_group_spec.rb index b21ed6e1aa2..5f69e37a2ad 100644 --- a/spec/migrations/backfill_project_namespaces_for_group_spec.rb +++ b/spec/migrations/backfill_project_namespaces_for_group_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' require_migration! -RSpec.describe BackfillProjectNamespacesForGroup, feature_category: :subgroups do +RSpec.describe BackfillProjectNamespacesForGroup, feature_category: :groups_and_projects do let!(:migration) { described_class::MIGRATION } let(:projects) { table(:projects) } diff --git a/spec/migrations/cleanup_orphaned_routes_spec.rb b/spec/migrations/cleanup_orphaned_routes_spec.rb index a0ce9062c70..439ba5def99 100644 --- a/spec/migrations/cleanup_orphaned_routes_spec.rb +++ b/spec/migrations/cleanup_orphaned_routes_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' require_migration! -RSpec.describe CleanupOrphanedRoutes, :migration, feature_category: :projects do +RSpec.describe CleanupOrphanedRoutes, :migration, feature_category: :groups_and_projects do let(:migration) { described_class::MIGRATION } describe '#up' do diff --git a/spec/migrations/finalize_invalid_member_cleanup_spec.rb b/spec/migrations/finalize_invalid_member_cleanup_spec.rb index c039edcc319..ace973ea1af 100644 --- a/spec/migrations/finalize_invalid_member_cleanup_spec.rb +++ b/spec/migrations/finalize_invalid_member_cleanup_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' require_migration! -RSpec.describe FinalizeInvalidMemberCleanup, :migration, feature_category: :subgroups do +RSpec.describe FinalizeInvalidMemberCleanup, :migration, feature_category: :groups_and_projects do let(:batched_migrations) { table(:batched_background_migrations) } let!(:migration) { described_class::MIGRATION } diff --git a/spec/migrations/finalize_orphaned_routes_cleanup_spec.rb b/spec/migrations/finalize_orphaned_routes_cleanup_spec.rb index 215fdbb05ad..2b26ef2a762 100644 --- a/spec/migrations/finalize_orphaned_routes_cleanup_spec.rb +++ b/spec/migrations/finalize_orphaned_routes_cleanup_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' require_migration! -RSpec.describe FinalizeOrphanedRoutesCleanup, :migration, feature_category: :projects do +RSpec.describe FinalizeOrphanedRoutesCleanup, :migration, feature_category: :groups_and_projects do let(:batched_migrations) { table(:batched_background_migrations) } let!(:migration) { described_class::MIGRATION } diff --git a/spec/migrations/finalize_project_namespaces_backfill_spec.rb b/spec/migrations/finalize_project_namespaces_backfill_spec.rb index 880bb6661a4..a63f05bed8d 100644 --- a/spec/migrations/finalize_project_namespaces_backfill_spec.rb +++ b/spec/migrations/finalize_project_namespaces_backfill_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' require_migration! -RSpec.describe FinalizeProjectNamespacesBackfill, :migration, feature_category: :projects do +RSpec.describe FinalizeProjectNamespacesBackfill, :migration, feature_category: :groups_and_projects do let(:batched_migrations) { table(:batched_background_migrations) } let!(:migration) { described_class::MIGRATION } diff --git a/spec/migrations/finalize_routes_backfilling_for_projects_spec.rb b/spec/migrations/finalize_routes_backfilling_for_projects_spec.rb index 7618957d2f7..c9972d274ee 100644 --- a/spec/migrations/finalize_routes_backfilling_for_projects_spec.rb +++ b/spec/migrations/finalize_routes_backfilling_for_projects_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' require_migration! -RSpec.describe FinalizeRoutesBackfillingForProjects, :migration, feature_category: :projects do +RSpec.describe FinalizeRoutesBackfillingForProjects, :migration, feature_category: :groups_and_projects do let(:batched_migrations) { table(:batched_background_migrations) } let!(:migration) { described_class::MIGRATION } diff --git a/spec/migrations/fix_and_backfill_project_namespaces_for_projects_with_duplicate_name_spec.rb b/spec/migrations/fix_and_backfill_project_namespaces_for_projects_with_duplicate_name_spec.rb index 6b9fb1c6f2c..fdeba216c4f 100644 --- a/spec/migrations/fix_and_backfill_project_namespaces_for_projects_with_duplicate_name_spec.rb +++ b/spec/migrations/fix_and_backfill_project_namespaces_for_projects_with_duplicate_name_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' require_migration! -RSpec.describe FixAndBackfillProjectNamespacesForProjectsWithDuplicateName, :migration, feature_category: :projects do +RSpec.describe FixAndBackfillProjectNamespacesForProjectsWithDuplicateName, :migration, feature_category: :groups_and_projects do let(:projects) { table(:projects) } let(:namespaces) { table(:namespaces) } diff --git a/spec/migrations/insert_daily_invites_trial_plan_limits_spec.rb b/spec/migrations/insert_daily_invites_trial_plan_limits_spec.rb index ea1476b94a9..412bb5917e3 100644 --- a/spec/migrations/insert_daily_invites_trial_plan_limits_spec.rb +++ b/spec/migrations/insert_daily_invites_trial_plan_limits_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' require_migration! -RSpec.describe InsertDailyInvitesTrialPlanLimits, feature_category: :subgroups do +RSpec.describe InsertDailyInvitesTrialPlanLimits, feature_category: :groups_and_projects do let(:plans) { table(:plans) } let(:plan_limits) { table(:plan_limits) } let!(:premium_trial_plan) { plans.create!(name: 'premium_trial') } diff --git a/spec/migrations/orphaned_invited_members_cleanup_spec.rb b/spec/migrations/orphaned_invited_members_cleanup_spec.rb index 1d4db5306bc..416e1ddd755 100644 --- a/spec/migrations/orphaned_invited_members_cleanup_spec.rb +++ b/spec/migrations/orphaned_invited_members_cleanup_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' require_migration! -RSpec.describe OrphanedInvitedMembersCleanup, :migration, feature_category: :subgroups do +RSpec.describe OrphanedInvitedMembersCleanup, :migration, feature_category: :groups_and_projects do describe '#up', :aggregate_failures do it 'removes accepted members with no associated user' do user = create_user!('testuser1') diff --git a/spec/migrations/update_invalid_member_states_spec.rb b/spec/migrations/update_invalid_member_states_spec.rb index 6ae4b9f3c0f..2845a703ae3 100644 --- a/spec/migrations/update_invalid_member_states_spec.rb +++ b/spec/migrations/update_invalid_member_states_spec.rb @@ -4,7 +4,7 @@ require 'spec_helper' require_migration! -RSpec.describe UpdateInvalidMemberStates, feature_category: :subgroups do +RSpec.describe UpdateInvalidMemberStates, feature_category: :groups_and_projects do let(:members) { table(:members) } let(:groups) { table(:namespaces) } let(:projects) { table(:projects) } diff --git a/spec/models/group_spec.rb b/spec/models/group_spec.rb index d59c8e253ce..52533a1087c 100644 --- a/spec/models/group_spec.rb +++ b/spec/models/group_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe Group, feature_category: :subgroups do +RSpec.describe Group, feature_category: :groups_and_projects do include ReloadHelpers include StubGitlabCalls diff --git a/spec/models/member_spec.rb b/spec/models/member_spec.rb index eea96e5e4ae..cf4aa362189 100644 --- a/spec/models/member_spec.rb +++ b/spec/models/member_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe Member, feature_category: :subgroups do +RSpec.describe Member, feature_category: :groups_and_projects do include ExclusiveLeaseHelpers using RSpec::Parameterized::TableSyntax diff --git a/spec/models/namespace/traversal_hierarchy_spec.rb b/spec/models/namespace/traversal_hierarchy_spec.rb index b0088e44087..8bfcac50b1a 100644 --- a/spec/models/namespace/traversal_hierarchy_spec.rb +++ b/spec/models/namespace/traversal_hierarchy_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe Namespace::TraversalHierarchy, type: :model, feature_category: :subgroups do +RSpec.describe Namespace::TraversalHierarchy, type: :model, feature_category: :groups_and_projects do let!(:root) { create(:group, :with_hierarchy) } describe '.for_namespace' do diff --git a/spec/models/namespace_setting_spec.rb b/spec/models/namespace_setting_spec.rb index 1cbc1696401..9ccb40705c4 100644 --- a/spec/models/namespace_setting_spec.rb +++ b/spec/models/namespace_setting_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe NamespaceSetting, feature_category: :subgroups, type: :model do +RSpec.describe NamespaceSetting, feature_category: :groups_and_projects, type: :model do it_behaves_like 'sanitizable', :namespace_settings, %i[default_branch_name] # Relationships diff --git a/spec/models/namespace_spec.rb b/spec/models/namespace_spec.rb index f7c4e34a6dc..2bb791c90df 100644 --- a/spec/models/namespace_spec.rb +++ b/spec/models/namespace_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe Namespace, feature_category: :subgroups do +RSpec.describe Namespace, feature_category: :groups_and_projects do include ProjectForksHelper include ReloadHelpers diff --git a/spec/models/packages/package_file_spec.rb b/spec/models/packages/package_file_spec.rb index c9db1efc64a..055abff9144 100644 --- a/spec/models/packages/package_file_spec.rb +++ b/spec/models/packages/package_file_spec.rb @@ -9,7 +9,7 @@ RSpec.describe Packages::PackageFile, type: :model do let_it_be(:package_file2) { create(:package_file, :xml, file_name: 'ThisIsATest') } let_it_be(:package_file3) { create(:package_file, :xml, file_name: 'formatted.zip') } let_it_be(:package_file4) { create(:package_file, :nuget) } - let_it_be(:debian_package) { create(:debian_package, project: project) } + let_it_be(:debian_package) { create(:debian_package, project: project, with_changes_file: true) } it_behaves_like 'having unique enum values' it_behaves_like 'destructible', factory: :package_file diff --git a/spec/models/packages/package_spec.rb b/spec/models/packages/package_spec.rb index de13732bc54..5dd7a0982be 100644 --- a/spec/models/packages/package_spec.rb +++ b/spec/models/packages/package_spec.rb @@ -760,6 +760,23 @@ RSpec.describe Packages::Package, type: :model, feature_category: :package_regis end end + describe '.debian_incoming_package!' do + let!(:debian_package) { create(:debian_package) } + let!(:debian_processing_incoming) { create(:debian_incoming, :processing) } + + subject { described_class.debian_incoming_package! } + + context 'when incoming exists' do + let!(:debian_incoming) { create(:debian_incoming) } + + it { is_expected.to eq(debian_incoming) } + end + + context 'when incoming not found' do + it { expect { subject }.to raise_error(ActiveRecord::RecordNotFound) } + end + end + describe '.with_package_type' do let!(:package1) { create(:terraform_module_package) } let!(:package2) { create(:npm_package) } diff --git a/spec/models/plan_limits_spec.rb b/spec/models/plan_limits_spec.rb index 650b9331365..8b8ffb9d23c 100644 --- a/spec/models/plan_limits_spec.rb +++ b/spec/models/plan_limits_spec.rb @@ -14,6 +14,7 @@ RSpec.describe PlanLimits do describe 'validations' do it { is_expected.to validate_numericality_of(:notification_limit).only_integer } + it { is_expected.to validate_numericality_of(:enforcement_limit).only_integer } end describe '#exceeded?' do diff --git a/spec/models/preloaders/users_max_access_level_by_project_preloader_spec.rb b/spec/models/preloaders/users_max_access_level_by_project_preloader_spec.rb index f5bc0c8c2f8..653b697aee4 100644 --- a/spec/models/preloaders/users_max_access_level_by_project_preloader_spec.rb +++ b/spec/models/preloaders/users_max_access_level_by_project_preloader_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe Preloaders::UsersMaxAccessLevelByProjectPreloader, feature_category: :projects do +RSpec.describe Preloaders::UsersMaxAccessLevelByProjectPreloader, feature_category: :groups_and_projects do let_it_be(:user_1) { create(:user) } let_it_be(:user_2) { create(:user) } let_it_be(:user_with_no_access) { create(:user) } # ensures we correctly cache NO_ACCESS diff --git a/spec/models/project_feature_spec.rb b/spec/models/project_feature_spec.rb index 87bfdd15773..8dd1f7b1831 100644 --- a/spec/models/project_feature_spec.rb +++ b/spec/models/project_feature_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe ProjectFeature, feature_category: :projects do +RSpec.describe ProjectFeature, feature_category: :groups_and_projects do using RSpec::Parameterized::TableSyntax let_it_be_with_reload(:project) { create(:project) } diff --git a/spec/models/project_setting_spec.rb b/spec/models/project_setting_spec.rb index 0a2ead0aa6b..4b2760d7699 100644 --- a/spec/models/project_setting_spec.rb +++ b/spec/models/project_setting_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe ProjectSetting, type: :model, feature_category: :projects do +RSpec.describe ProjectSetting, type: :model, feature_category: :groups_and_projects do using RSpec::Parameterized::TableSyntax it { is_expected.to belong_to(:project) } diff --git a/spec/models/project_spec.rb b/spec/models/project_spec.rb index 32158ef9509..6cf7c16124f 100644 --- a/spec/models/project_spec.rb +++ b/spec/models/project_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe Project, factory_default: :keep, feature_category: :projects do +RSpec.describe Project, factory_default: :keep, feature_category: :groups_and_projects do include ProjectForksHelper include ExternalAuthorizationServiceHelpers include ReloadHelpers diff --git a/spec/models/project_team_spec.rb b/spec/models/project_team_spec.rb index f4cf3130aa9..8fec2eb3386 100644 --- a/spec/models/project_team_spec.rb +++ b/spec/models/project_team_spec.rb @@ -2,7 +2,7 @@ require "spec_helper" -RSpec.describe ProjectTeam, feature_category: :subgroups do +RSpec.describe ProjectTeam, feature_category: :groups_and_projects do include ProjectForksHelper let(:maintainer) { create(:user) } diff --git a/spec/policies/concerns/archived_abilities_spec.rb b/spec/policies/concerns/archived_abilities_spec.rb index d4d0498b0a3..648f728c8ac 100644 --- a/spec/policies/concerns/archived_abilities_spec.rb +++ b/spec/policies/concerns/archived_abilities_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe ArchivedAbilities, feature_category: :projects do +RSpec.describe ArchivedAbilities, feature_category: :groups_and_projects do let(:test_class) do Class.new do include ArchivedAbilities diff --git a/spec/policies/namespaces/user_namespace_policy_spec.rb b/spec/policies/namespaces/user_namespace_policy_spec.rb index 3488f33f15c..41555ca4150 100644 --- a/spec/policies/namespaces/user_namespace_policy_spec.rb +++ b/spec/policies/namespaces/user_namespace_policy_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe Namespaces::UserNamespacePolicy, feature_category: :subgroups do +RSpec.describe Namespaces::UserNamespacePolicy, feature_category: :groups_and_projects do let_it_be(:user) { create(:user) } let_it_be(:owner) { create(:user) } let_it_be(:admin) { create(:admin) } diff --git a/spec/presenters/member_presenter_spec.rb b/spec/presenters/member_presenter_spec.rb index 65e23d20051..7850399b711 100644 --- a/spec/presenters/member_presenter_spec.rb +++ b/spec/presenters/member_presenter_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe MemberPresenter, feature_category: :subgroups do +RSpec.describe MemberPresenter, feature_category: :groups_and_projects do let_it_be(:member) { build(:group_member) } let(:presenter) { described_class.new(member) } diff --git a/spec/requests/admin/projects_controller_spec.rb b/spec/requests/admin/projects_controller_spec.rb index 2462152b7c2..16e1827b912 100644 --- a/spec/requests/admin/projects_controller_spec.rb +++ b/spec/requests/admin/projects_controller_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe Admin::ProjectsController, :enable_admin_mode, feature_category: :projects do +RSpec.describe Admin::ProjectsController, :enable_admin_mode, feature_category: :groups_and_projects do let_it_be(:project) { create(:project, :public, name: 'test', description: 'test') } let_it_be(:admin) { create(:admin) } diff --git a/spec/requests/api/admin/plan_limits_spec.rb b/spec/requests/api/admin/plan_limits_spec.rb index 48146a40749..cad1111b76b 100644 --- a/spec/requests/api/admin/plan_limits_spec.rb +++ b/spec/requests/api/admin/plan_limits_spec.rb @@ -99,15 +99,16 @@ RSpec.describe API::Admin::PlanLimits, 'PlanLimits', feature_category: :shared d 'ci_registered_group_runners': 107, 'ci_registered_project_runners': 108, 'conan_max_file_size': 10, + 'enforcement_limit': 15, 'generic_packages_max_file_size': 20, 'helm_max_file_size': 25, 'maven_max_file_size': 30, + 'notification_limit': 90, 'npm_max_file_size': 40, 'nuget_max_file_size': 50, 'pypi_max_file_size': 60, 'terraform_module_max_file_size': 70, 'storage_size_limit': 80, - 'notification_limit': 90, 'pipeline_hierarchy_size': 250 } @@ -120,15 +121,16 @@ RSpec.describe API::Admin::PlanLimits, 'PlanLimits', feature_category: :shared d expect(json_response['ci_registered_group_runners']).to eq(107) expect(json_response['ci_registered_project_runners']).to eq(108) expect(json_response['conan_max_file_size']).to eq(10) + expect(json_response['enforcement_limit']).to eq(15) expect(json_response['generic_packages_max_file_size']).to eq(20) expect(json_response['helm_max_file_size']).to eq(25) expect(json_response['maven_max_file_size']).to eq(30) + expect(json_response['notification_limit']).to eq(90) expect(json_response['npm_max_file_size']).to eq(40) expect(json_response['nuget_max_file_size']).to eq(50) expect(json_response['pypi_max_file_size']).to eq(60) expect(json_response['terraform_module_max_file_size']).to eq(70) expect(json_response['storage_size_limit']).to eq(80) - expect(json_response['notification_limit']).to eq(90) expect(json_response['pipeline_hierarchy_size']).to eq(250) end @@ -165,15 +167,16 @@ RSpec.describe API::Admin::PlanLimits, 'PlanLimits', feature_category: :shared d 'ci_registered_group_runners': 't', 'ci_registered_project_runners': 's', 'conan_max_file_size': 'a', + 'enforcement_limit': 'e', 'generic_packages_max_file_size': 'b', 'helm_max_file_size': 'h', 'maven_max_file_size': 'c', + 'notification_limit': 'n', 'npm_max_file_size': 'd', 'nuget_max_file_size': 'e', 'pypi_max_file_size': 'f', 'terraform_module_max_file_size': 'g', 'storage_size_limit': 'j', - 'notification_limit': 'm', 'pipeline_hierarchy_size': 'r' } @@ -187,15 +190,16 @@ RSpec.describe API::Admin::PlanLimits, 'PlanLimits', feature_category: :shared d 'ci_registered_group_runners is invalid', 'ci_registered_project_runners is invalid', 'conan_max_file_size is invalid', + 'enforcement_limit is invalid', 'generic_packages_max_file_size is invalid', 'helm_max_file_size is invalid', 'maven_max_file_size is invalid', + 'notification_limit is invalid', 'npm_max_file_size is invalid', 'nuget_max_file_size is invalid', 'pypi_max_file_size is invalid', 'terraform_module_max_file_size is invalid', 'storage_size_limit is invalid', - 'notification_limit is invalid', 'pipeline_hierarchy_size is invalid' ) end diff --git a/spec/requests/api/badges_spec.rb b/spec/requests/api/badges_spec.rb index 1c09c1129a2..0b340b95b20 100644 --- a/spec/requests/api/badges_spec.rb +++ b/spec/requests/api/badges_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe API::Badges, feature_category: :projects do +RSpec.describe API::Badges, feature_category: :groups_and_projects do let(:maintainer) { create(:user, username: 'maintainer_user') } let(:developer) { create(:user) } let(:access_requester) { create(:user) } diff --git a/spec/requests/api/debian_project_packages_spec.rb b/spec/requests/api/debian_project_packages_spec.rb index 030962044c6..b1566860ffc 100644 --- a/spec/requests/api/debian_project_packages_spec.rb +++ b/spec/requests/api/debian_project_packages_spec.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + require 'spec_helper' RSpec.describe API::DebianProjectPackages, feature_category: :package_registry do diff --git a/spec/requests/api/graphql/current_user/groups_query_spec.rb b/spec/requests/api/graphql/current_user/groups_query_spec.rb index 151d07ff0a7..435e5e62f69 100644 --- a/spec/requests/api/graphql/current_user/groups_query_spec.rb +++ b/spec/requests/api/graphql/current_user/groups_query_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'Query current user groups', feature_category: :subgroups do +RSpec.describe 'Query current user groups', feature_category: :groups_and_projects do include GraphqlHelpers let_it_be(:user) { create(:user) } diff --git a/spec/requests/api/graphql/group/group_members_spec.rb b/spec/requests/api/graphql/group/group_members_spec.rb index 26d1fb48408..e56e901466a 100644 --- a/spec/requests/api/graphql/group/group_members_spec.rb +++ b/spec/requests/api/graphql/group/group_members_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'getting group members information', feature_category: :subgroups do +RSpec.describe 'getting group members information', feature_category: :groups_and_projects do include GraphqlHelpers let_it_be(:parent_group) { create(:group, :public) } diff --git a/spec/requests/api/graphql/group_query_spec.rb b/spec/requests/api/graphql/group_query_spec.rb index ce5816999a6..6debe2d3d67 100644 --- a/spec/requests/api/graphql/group_query_spec.rb +++ b/spec/requests/api/graphql/group_query_spec.rb @@ -4,7 +4,7 @@ require 'spec_helper' # Based on spec/requests/api/groups_spec.rb # Should follow closely in order to ensure all situations are covered -RSpec.describe 'getting group information', :with_license, feature_category: :subgroups do +RSpec.describe 'getting group information', :with_license, feature_category: :groups_and_projects do include GraphqlHelpers include UploadHelpers diff --git a/spec/requests/api/graphql/groups_query_spec.rb b/spec/requests/api/graphql/groups_query_spec.rb index 84c8d3c3388..460cb40b68a 100644 --- a/spec/requests/api/graphql/groups_query_spec.rb +++ b/spec/requests/api/graphql/groups_query_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'searching groups', :with_license, feature_category: :subgroups do +RSpec.describe 'searching groups', :with_license, feature_category: :groups_and_projects do include GraphqlHelpers let_it_be(:user) { create(:user) } diff --git a/spec/requests/api/graphql/metadata_query_spec.rb b/spec/requests/api/graphql/metadata_query_spec.rb index 7d1850b1b93..b973e7d4d51 100644 --- a/spec/requests/api/graphql/metadata_query_spec.rb +++ b/spec/requests/api/graphql/metadata_query_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'getting project information', feature_category: :projects do +RSpec.describe 'getting project information', feature_category: :groups_and_projects do include GraphqlHelpers let(:query) { graphql_query_for('metadata', {}, all_graphql_fields_for('Metadata')) } diff --git a/spec/requests/api/graphql/mutations/groups/update_spec.rb b/spec/requests/api/graphql/mutations/groups/update_spec.rb index a9acc593229..b75b2464c22 100644 --- a/spec/requests/api/graphql/mutations/groups/update_spec.rb +++ b/spec/requests/api/graphql/mutations/groups/update_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'GroupUpdate', feature_category: :subgroups do +RSpec.describe 'GroupUpdate', feature_category: :groups_and_projects do include GraphqlHelpers let_it_be(:user) { create(:user) } diff --git a/spec/requests/api/graphql/mutations/members/groups/bulk_update_spec.rb b/spec/requests/api/graphql/mutations/members/groups/bulk_update_spec.rb index f15b52f53a3..1395f7b778f 100644 --- a/spec/requests/api/graphql/mutations/members/groups/bulk_update_spec.rb +++ b/spec/requests/api/graphql/mutations/members/groups/bulk_update_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'GroupMemberBulkUpdate', feature_category: :subgroups do +RSpec.describe 'GroupMemberBulkUpdate', feature_category: :groups_and_projects do include GraphqlHelpers let_it_be(:parent_group) { create(:group) } diff --git a/spec/requests/api/graphql/mutations/members/projects/bulk_update_spec.rb b/spec/requests/api/graphql/mutations/members/projects/bulk_update_spec.rb index cbef9715cbe..910e512f6d6 100644 --- a/spec/requests/api/graphql/mutations/members/projects/bulk_update_spec.rb +++ b/spec/requests/api/graphql/mutations/members/projects/bulk_update_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'ProjectMemberBulkUpdate', feature_category: :projects do +RSpec.describe 'ProjectMemberBulkUpdate', feature_category: :groups_and_projects do include GraphqlHelpers let_it_be(:parent_group) { create(:group) } diff --git a/spec/requests/api/graphql/namespace/projects_spec.rb b/spec/requests/api/graphql/namespace/projects_spec.rb index 83edacaf831..a4bc94798be 100644 --- a/spec/requests/api/graphql/namespace/projects_spec.rb +++ b/spec/requests/api/graphql/namespace/projects_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'getting projects', feature_category: :projects do +RSpec.describe 'getting projects', feature_category: :groups_and_projects do include GraphqlHelpers let(:group) { create(:group) } diff --git a/spec/requests/api/graphql/namespace_query_spec.rb b/spec/requests/api/graphql/namespace_query_spec.rb index d12a3875ebf..c0c7c5fee2b 100644 --- a/spec/requests/api/graphql/namespace_query_spec.rb +++ b/spec/requests/api/graphql/namespace_query_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'Query', feature_category: :subgroups do +RSpec.describe 'Query', feature_category: :groups_and_projects do include GraphqlHelpers let_it_be(:user) { create(:user) } diff --git a/spec/requests/api/graphql/project/alert_management/alert/assignees_spec.rb b/spec/requests/api/graphql/project/alert_management/alert/assignees_spec.rb index c4843c3cf97..0ca4ec0e363 100644 --- a/spec/requests/api/graphql/project/alert_management/alert/assignees_spec.rb +++ b/spec/requests/api/graphql/project/alert_management/alert/assignees_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'getting Alert Management Alert Assignees', feature_category: :projects do +RSpec.describe 'getting Alert Management Alert Assignees', feature_category: :groups_and_projects do include GraphqlHelpers let_it_be(:project) { create(:project) } diff --git a/spec/requests/api/graphql/project/project_members_spec.rb b/spec/requests/api/graphql/project/project_members_spec.rb index 1f1d8027592..faeb3ddd693 100644 --- a/spec/requests/api/graphql/project/project_members_spec.rb +++ b/spec/requests/api/graphql/project/project_members_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'getting project members information', feature_category: :projects do +RSpec.describe 'getting project members information', feature_category: :groups_and_projects do include GraphqlHelpers let_it_be(:parent_group) { create(:group, :public) } diff --git a/spec/requests/api/graphql/project_query_spec.rb b/spec/requests/api/graphql/project_query_spec.rb index 9f51258c163..54f141d9401 100644 --- a/spec/requests/api/graphql/project_query_spec.rb +++ b/spec/requests/api/graphql/project_query_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'getting project information', feature_category: :projects do +RSpec.describe 'getting project information', feature_category: :groups_and_projects do include GraphqlHelpers let_it_be(:group) { create(:group) } diff --git a/spec/requests/api/graphql/user/group_member_query_spec.rb b/spec/requests/api/graphql/user/group_member_query_spec.rb index d09cb319877..d317651bd8f 100644 --- a/spec/requests/api/graphql/user/group_member_query_spec.rb +++ b/spec/requests/api/graphql/user/group_member_query_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'GroupMember', feature_category: :subgroups do +RSpec.describe 'GroupMember', feature_category: :groups_and_projects do include GraphqlHelpers let_it_be(:member) { create(:group_member, :developer) } diff --git a/spec/requests/api/graphql/user/project_member_query_spec.rb b/spec/requests/api/graphql/user/project_member_query_spec.rb index 1baa7815793..b68e9d653ad 100644 --- a/spec/requests/api/graphql/user/project_member_query_spec.rb +++ b/spec/requests/api/graphql/user/project_member_query_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'ProjectMember', feature_category: :subgroups do +RSpec.describe 'ProjectMember', feature_category: :groups_and_projects do include GraphqlHelpers let_it_be(:member) { create(:project_member, :developer) } diff --git a/spec/requests/api/graphql/user/starred_projects_query_spec.rb b/spec/requests/api/graphql/user/starred_projects_query_spec.rb index 7d4284300d8..07ace6e5dca 100644 --- a/spec/requests/api/graphql/user/starred_projects_query_spec.rb +++ b/spec/requests/api/graphql/user/starred_projects_query_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'Getting starredProjects of the user', feature_category: :projects do +RSpec.describe 'Getting starredProjects of the user', feature_category: :groups_and_projects do include GraphqlHelpers let(:query) do diff --git a/spec/requests/api/group_avatar_spec.rb b/spec/requests/api/group_avatar_spec.rb index 9a0e79ee9f8..c8d06aa19dc 100644 --- a/spec/requests/api/group_avatar_spec.rb +++ b/spec/requests/api/group_avatar_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe API::GroupAvatar, feature_category: :subgroups do +RSpec.describe API::GroupAvatar, feature_category: :groups_and_projects do def avatar_path(group) "/groups/#{ERB::Util.url_encode(group.full_path)}/avatar" end diff --git a/spec/requests/api/groups_spec.rb b/spec/requests/api/groups_spec.rb index 84d48b4edb4..2adf71f2a18 100644 --- a/spec/requests/api/groups_spec.rb +++ b/spec/requests/api/groups_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe API::Groups, feature_category: :subgroups do +RSpec.describe API::Groups, feature_category: :groups_and_projects do include GroupAPIHelpers include UploadHelpers include WorkhorseHelpers diff --git a/spec/requests/api/members_spec.rb b/spec/requests/api/members_spec.rb index 353fddcb08d..f3e5f3ab891 100644 --- a/spec/requests/api/members_spec.rb +++ b/spec/requests/api/members_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe API::Members, feature_category: :subgroups do +RSpec.describe API::Members, feature_category: :groups_and_projects do let_it_be(:maintainer) { create(:user, username: 'maintainer_user') } let_it_be(:maintainer2) { create(:user, username: 'user-with-maintainer-role') } let_it_be(:developer) { create(:user) } diff --git a/spec/requests/api/namespaces_spec.rb b/spec/requests/api/namespaces_spec.rb index f268a092034..0ad9b3c82ab 100644 --- a/spec/requests/api/namespaces_spec.rb +++ b/spec/requests/api/namespaces_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe API::Namespaces, :aggregate_failures, feature_category: :subgroups do +RSpec.describe API::Namespaces, :aggregate_failures, feature_category: :groups_and_projects do let_it_be(:admin) { create(:admin) } let_it_be(:user) { create(:user) } let_it_be(:group1) { create(:group, name: 'group.one') } diff --git a/spec/requests/api/projects_spec.rb b/spec/requests/api/projects_spec.rb index 5dde98ceeef..1b08e7f0dc6 100644 --- a/spec/requests/api/projects_spec.rb +++ b/spec/requests/api/projects_spec.rb @@ -46,7 +46,7 @@ RSpec.shared_examples 'languages and percentages JSON response' do end end -RSpec.describe API::Projects, :aggregate_failures, feature_category: :projects do +RSpec.describe API::Projects, :aggregate_failures, feature_category: :groups_and_projects do include ProjectForksHelper include WorkhorseHelpers include StubRequests diff --git a/spec/requests/api/releases_spec.rb b/spec/requests/api/releases_spec.rb index 0b5cc3611bd..a018b91019b 100644 --- a/spec/requests/api/releases_spec.rb +++ b/spec/requests/api/releases_spec.rb @@ -791,16 +791,16 @@ RSpec.describe API::Releases, :aggregate_failures, feature_category: :release_or name: 'New release', tag_name: 'v0.1', description: 'Super nice release', - assets: { - links: [ - { - name: 'An example runbook link', - url: 'https://example.com/runbook', - link_type: 'runbook', - filepath: '/permanent/path/to/runbook' - } - ] - } + assets: { links: [link_asset] } + } + end + + let(:link_asset) do + { + name: 'An example runbook link', + url: 'https://example.com/runbook', + link_type: 'runbook', + filepath: '/permanent/path/to/runbook' } end @@ -906,8 +906,13 @@ RSpec.describe API::Releases, :aggregate_failures, feature_category: :release_or end context 'when using `direct_asset_path` for the asset link' do - before do - params[:direct_asset_path] = params.delete(:filepath) + let(:link_asset) do + { + name: 'An example runbook link', + url: 'https://example.com/runbook', + link_type: 'runbook', + direct_asset_path: '/permanent/path/to/runbook' + } end it 'creates a new release successfully' do @@ -915,8 +920,9 @@ RSpec.describe API::Releases, :aggregate_failures, feature_category: :release_or post api("/projects/#{project.id}/releases", maintainer), params: params end.to change { Release.count }.by(1) - release = project.releases.last + expect(response).to have_gitlab_http_status(:created) + release = project.releases.last expect(release.links.last.filepath).to eq('/permanent/path/to/runbook') end end diff --git a/spec/requests/api/topics_spec.rb b/spec/requests/api/topics_spec.rb index 560f22c94be..0d64a96acb8 100644 --- a/spec/requests/api/topics_spec.rb +++ b/spec/requests/api/topics_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe API::Topics, :aggregate_failures, feature_category: :projects do +RSpec.describe API::Topics, :aggregate_failures, feature_category: :groups_and_projects do include WorkhorseHelpers let_it_be(:file) { fixture_file_upload('spec/fixtures/dk.png') } diff --git a/spec/requests/concerns/planning_hierarchy_spec.rb b/spec/requests/concerns/planning_hierarchy_spec.rb index 89232916936..97b987fa770 100644 --- a/spec/requests/concerns/planning_hierarchy_spec.rb +++ b/spec/requests/concerns/planning_hierarchy_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe PlanningHierarchy, type: :request, feature_category: :projects do +RSpec.describe PlanningHierarchy, type: :request, feature_category: :groups_and_projects do let_it_be(:user) { create(:user) } let_it_be(:group) { create(:group) } let_it_be(:project) { create(:project, group: group) } diff --git a/spec/requests/dashboard/projects_controller_spec.rb b/spec/requests/dashboard/projects_controller_spec.rb index 752799196c9..478804bba29 100644 --- a/spec/requests/dashboard/projects_controller_spec.rb +++ b/spec/requests/dashboard/projects_controller_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe Dashboard::ProjectsController, feature_category: :projects do +RSpec.describe Dashboard::ProjectsController, feature_category: :groups_and_projects do context 'token authentication' do it_behaves_like 'authenticates sessionless user for the request spec', 'index atom', public_resource: false do let(:url) { dashboard_projects_url(:atom) } diff --git a/spec/requests/groups/autocomplete_sources_spec.rb b/spec/requests/groups/autocomplete_sources_spec.rb index e44fb9f6c37..02fb04a4af8 100644 --- a/spec/requests/groups/autocomplete_sources_spec.rb +++ b/spec/requests/groups/autocomplete_sources_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'groups autocomplete', feature_category: :subgroups do +RSpec.describe 'groups autocomplete', feature_category: :groups_and_projects do let_it_be(:user) { create(:user) } let_it_be_with_reload(:group) { create(:group, :private) } diff --git a/spec/requests/groups_controller_spec.rb b/spec/requests/groups_controller_spec.rb index 7fc14910819..cd4b32e4982 100644 --- a/spec/requests/groups_controller_spec.rb +++ b/spec/requests/groups_controller_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe GroupsController, feature_category: :subgroups do +RSpec.describe GroupsController, feature_category: :groups_and_projects do context 'token authentication' do context 'when public group' do let_it_be(:public_group) { create(:group, :public) } diff --git a/spec/requests/projects/redirect_controller_spec.rb b/spec/requests/projects/redirect_controller_spec.rb index e828c546198..962d8062161 100644 --- a/spec/requests/projects/redirect_controller_spec.rb +++ b/spec/requests/projects/redirect_controller_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe "Projects::RedirectController requests", feature_category: :projects do +RSpec.describe "Projects::RedirectController requests", feature_category: :groups_and_projects do using RSpec::Parameterized::TableSyntax let_it_be(:private_project) { create(:project, :private) } diff --git a/spec/requests/projects_controller_spec.rb b/spec/requests/projects_controller_spec.rb index 613f528e8c2..a4cfad32e4a 100644 --- a/spec/requests/projects_controller_spec.rb +++ b/spec/requests/projects_controller_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe ProjectsController, :with_license, feature_category: :projects do +RSpec.describe ProjectsController, :with_license, feature_category: :groups_and_projects do context 'token authentication' do context 'when public project' do let_it_be(:public_project) { create(:project, :public) } diff --git a/spec/services/admin/plan_limits/update_service_spec.rb b/spec/services/admin/plan_limits/update_service_spec.rb index 45b3ff890f1..4a384b98299 100644 --- a/spec/services/admin/plan_limits/update_service_spec.rb +++ b/spec/services/admin/plan_limits/update_service_spec.rb @@ -16,15 +16,16 @@ RSpec.describe Admin::PlanLimits::UpdateService, feature_category: :shared do ci_registered_group_runners: 107, ci_registered_project_runners: 108, conan_max_file_size: 10, + enforcement_limit: 15, generic_packages_max_file_size: 20, helm_max_file_size: 25, - maven_max_file_size: 30, - npm_max_file_size: 40, - nuget_max_file_size: 50, - pypi_max_file_size: 60, - terraform_module_max_file_size: 70, - storage_size_limit: 80, - notification_limit: 90, + notification_limit: 30, + maven_max_file_size: 40, + npm_max_file_size: 60, + nuget_max_file_size: 60, + pypi_max_file_size: 70, + terraform_module_max_file_size: 80, + storage_size_limit: 90, pipeline_hierarchy_size: 250 } end diff --git a/spec/services/authorized_project_update/find_records_due_for_refresh_service_spec.rb b/spec/services/authorized_project_update/find_records_due_for_refresh_service_spec.rb index e8f86b4d7c5..ca766590ada 100644 --- a/spec/services/authorized_project_update/find_records_due_for_refresh_service_spec.rb +++ b/spec/services/authorized_project_update/find_records_due_for_refresh_service_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe AuthorizedProjectUpdate::FindRecordsDueForRefreshService, feature_category: :projects do +RSpec.describe AuthorizedProjectUpdate::FindRecordsDueForRefreshService, feature_category: :groups_and_projects do # We're using let! here so that any expectations for the service class are not # triggered twice. let!(:project) { create(:project) } diff --git a/spec/services/authorized_project_update/periodic_recalculate_service_spec.rb b/spec/services/authorized_project_update/periodic_recalculate_service_spec.rb index 51cab6d188b..88099e76a8c 100644 --- a/spec/services/authorized_project_update/periodic_recalculate_service_spec.rb +++ b/spec/services/authorized_project_update/periodic_recalculate_service_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe AuthorizedProjectUpdate::PeriodicRecalculateService, feature_category: :projects do +RSpec.describe AuthorizedProjectUpdate::PeriodicRecalculateService, feature_category: :groups_and_projects do subject(:service) { described_class.new } describe '#execute' do diff --git a/spec/services/authorized_project_update/project_access_changed_service_spec.rb b/spec/services/authorized_project_update/project_access_changed_service_spec.rb index 7c09d7755ca..12c2f7cb5d5 100644 --- a/spec/services/authorized_project_update/project_access_changed_service_spec.rb +++ b/spec/services/authorized_project_update/project_access_changed_service_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe AuthorizedProjectUpdate::ProjectAccessChangedService, feature_category: :projects do +RSpec.describe AuthorizedProjectUpdate::ProjectAccessChangedService, feature_category: :groups_and_projects do describe '#execute' do it 'executes projects_authorizations refresh' do expect(AuthorizedProjectUpdate::ProjectRecalculateWorker).to receive(:bulk_perform_async) diff --git a/spec/services/authorized_project_update/project_recalculate_per_user_service_spec.rb b/spec/services/authorized_project_update/project_recalculate_per_user_service_spec.rb index 7b2dd52810f..9cc31810b84 100644 --- a/spec/services/authorized_project_update/project_recalculate_per_user_service_spec.rb +++ b/spec/services/authorized_project_update/project_recalculate_per_user_service_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe AuthorizedProjectUpdate::ProjectRecalculatePerUserService, '#execute', feature_category: :projects do +RSpec.describe AuthorizedProjectUpdate::ProjectRecalculatePerUserService, '#execute', feature_category: :groups_and_projects do let_it_be(:project) { create(:project) } let_it_be(:user) { create(:user) } let_it_be(:another_user) { create(:user) } diff --git a/spec/services/authorized_project_update/project_recalculate_service_spec.rb b/spec/services/authorized_project_update/project_recalculate_service_spec.rb index 8360f3c67ab..4ccbaa3185d 100644 --- a/spec/services/authorized_project_update/project_recalculate_service_spec.rb +++ b/spec/services/authorized_project_update/project_recalculate_service_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe AuthorizedProjectUpdate::ProjectRecalculateService, '#execute', feature_category: :projects do +RSpec.describe AuthorizedProjectUpdate::ProjectRecalculateService, '#execute', feature_category: :groups_and_projects do let_it_be(:project) { create(:project) } subject(:execute) { described_class.new(project).execute } diff --git a/spec/services/groups/autocomplete_service_spec.rb b/spec/services/groups/autocomplete_service_spec.rb index 9f55322e72d..4fb14b525ac 100644 --- a/spec/services/groups/autocomplete_service_spec.rb +++ b/spec/services/groups/autocomplete_service_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe Groups::AutocompleteService, feature_category: :subgroups do +RSpec.describe Groups::AutocompleteService, feature_category: :groups_and_projects do let_it_be(:group, refind: true) { create(:group, :nested, :private, avatar: fixture_file_upload('spec/fixtures/dk.png')) } let_it_be(:sub_group) { create(:group, :private, parent: group) } diff --git a/spec/services/groups/create_service_spec.rb b/spec/services/groups/create_service_spec.rb index 84794b5f6f8..2317c6fba61 100644 --- a/spec/services/groups/create_service_spec.rb +++ b/spec/services/groups/create_service_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe Groups::CreateService, '#execute', feature_category: :subgroups do +RSpec.describe Groups::CreateService, '#execute', feature_category: :groups_and_projects do let!(:user) { create(:user) } let!(:group_params) { { path: "group_path", visibility_level: Gitlab::VisibilityLevel::PUBLIC } } diff --git a/spec/services/groups/destroy_service_spec.rb b/spec/services/groups/destroy_service_spec.rb index 7c3710aeeb2..929f7d5b4e3 100644 --- a/spec/services/groups/destroy_service_spec.rb +++ b/spec/services/groups/destroy_service_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe Groups::DestroyService, feature_category: :subgroups do +RSpec.describe Groups::DestroyService, feature_category: :groups_and_projects do let!(:user) { create(:user) } let!(:group) { create(:group) } let!(:nested_group) { create(:group, parent: group) } diff --git a/spec/services/groups/group_links/create_service_spec.rb b/spec/services/groups/group_links/create_service_spec.rb index ced87421858..8acbcdc77af 100644 --- a/spec/services/groups/group_links/create_service_spec.rb +++ b/spec/services/groups/group_links/create_service_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe Groups::GroupLinks::CreateService, '#execute', feature_category: :subgroups do +RSpec.describe Groups::GroupLinks::CreateService, '#execute', feature_category: :groups_and_projects do let_it_be(:shared_with_group_parent) { create(:group, :private) } let_it_be(:shared_with_group) { create(:group, :private, parent: shared_with_group_parent) } let_it_be(:shared_with_group_child) { create(:group, :private, parent: shared_with_group) } diff --git a/spec/services/groups/group_links/destroy_service_spec.rb b/spec/services/groups/group_links/destroy_service_spec.rb index 5821ec44192..65f24323f8b 100644 --- a/spec/services/groups/group_links/destroy_service_spec.rb +++ b/spec/services/groups/group_links/destroy_service_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe Groups::GroupLinks::DestroyService, '#execute', feature_category: :subgroups do +RSpec.describe Groups::GroupLinks::DestroyService, '#execute', feature_category: :groups_and_projects do let_it_be(:user) { create(:user) } let_it_be(:group) { create(:group, :private) } let_it_be(:shared_group) { create(:group, :private) } diff --git a/spec/services/groups/group_links/update_service_spec.rb b/spec/services/groups/group_links/update_service_spec.rb index f17d2f50a02..79fc25e111a 100644 --- a/spec/services/groups/group_links/update_service_spec.rb +++ b/spec/services/groups/group_links/update_service_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe Groups::GroupLinks::UpdateService, '#execute', feature_category: :subgroups do +RSpec.describe Groups::GroupLinks::UpdateService, '#execute', feature_category: :groups_and_projects do let(:user) { create(:user) } let_it_be(:group) { create(:group, :private) } diff --git a/spec/services/groups/merge_requests_count_service_spec.rb b/spec/services/groups/merge_requests_count_service_spec.rb index 32c4c618eda..cdcb344bd40 100644 --- a/spec/services/groups/merge_requests_count_service_spec.rb +++ b/spec/services/groups/merge_requests_count_service_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe Groups::MergeRequestsCountService, :use_clean_rails_memory_store_caching, feature_category: :subgroups do +RSpec.describe Groups::MergeRequestsCountService, :use_clean_rails_memory_store_caching, feature_category: :groups_and_projects do let_it_be(:user) { create(:user) } let_it_be(:group) { create(:group, :public) } let_it_be(:project) { create(:project, :repository, namespace: group) } diff --git a/spec/services/groups/nested_create_service_spec.rb b/spec/services/groups/nested_create_service_spec.rb index 476bc2aa23c..1efb5bf0c9c 100644 --- a/spec/services/groups/nested_create_service_spec.rb +++ b/spec/services/groups/nested_create_service_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe Groups::NestedCreateService, feature_category: :subgroups do +RSpec.describe Groups::NestedCreateService, feature_category: :groups_and_projects do let(:user) { create(:user) } subject(:service) { described_class.new(user, params) } diff --git a/spec/services/groups/open_issues_count_service_spec.rb b/spec/services/groups/open_issues_count_service_spec.rb index 725b913bf15..ef3c86869a0 100644 --- a/spec/services/groups/open_issues_count_service_spec.rb +++ b/spec/services/groups/open_issues_count_service_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe Groups::OpenIssuesCountService, :use_clean_rails_memory_store_caching, feature_category: :subgroups do +RSpec.describe Groups::OpenIssuesCountService, :use_clean_rails_memory_store_caching, feature_category: :groups_and_projects do let_it_be(:group) { create(:group, :public) } let_it_be(:project) { create(:project, :public, namespace: group) } let_it_be(:user) { create(:user) } diff --git a/spec/services/groups/participants_service_spec.rb b/spec/services/groups/participants_service_spec.rb index 37966a523c2..eee9cfce1b1 100644 --- a/spec/services/groups/participants_service_spec.rb +++ b/spec/services/groups/participants_service_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe Groups::ParticipantsService, feature_category: :subgroups do +RSpec.describe Groups::ParticipantsService, feature_category: :groups_and_projects do describe '#group_members' do let(:user) { create(:user) } let(:parent_group) { create(:group) } diff --git a/spec/services/groups/transfer_service_spec.rb b/spec/services/groups/transfer_service_spec.rb index 8ee9a75bdf0..a3020241377 100644 --- a/spec/services/groups/transfer_service_spec.rb +++ b/spec/services/groups/transfer_service_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe Groups::TransferService, :sidekiq_inline, feature_category: :subgroups do +RSpec.describe Groups::TransferService, :sidekiq_inline, feature_category: :groups_and_projects do shared_examples 'project namespace path is in sync with project path' do it 'keeps project and project namespace attributes in sync' do projects_with_project_namespace.each do |project| diff --git a/spec/services/groups/update_service_spec.rb b/spec/services/groups/update_service_spec.rb index 6baa8e5d6b6..2842097199f 100644 --- a/spec/services/groups/update_service_spec.rb +++ b/spec/services/groups/update_service_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe Groups::UpdateService, feature_category: :subgroups do +RSpec.describe Groups::UpdateService, feature_category: :groups_and_projects do let!(:user) { create(:user) } let!(:private_group) { create(:group, :private) } let!(:internal_group) { create(:group, :internal) } diff --git a/spec/services/groups/update_shared_runners_service_spec.rb b/spec/services/groups/update_shared_runners_service_spec.rb index 48c81f109aa..0acf1ec3d35 100644 --- a/spec/services/groups/update_shared_runners_service_spec.rb +++ b/spec/services/groups/update_shared_runners_service_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe Groups::UpdateSharedRunnersService, feature_category: :subgroups do +RSpec.describe Groups::UpdateSharedRunnersService, feature_category: :groups_and_projects do let(:user) { create(:user) } let(:group) { create(:group) } let(:params) { {} } diff --git a/spec/services/groups/update_statistics_service_spec.rb b/spec/services/groups/update_statistics_service_spec.rb index 13a88839de0..6bab36eca89 100644 --- a/spec/services/groups/update_statistics_service_spec.rb +++ b/spec/services/groups/update_statistics_service_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe Groups::UpdateStatisticsService, feature_category: :subgroups do +RSpec.describe Groups::UpdateStatisticsService, feature_category: :groups_and_projects do let_it_be(:group, reload: true) { create(:group) } let(:statistics) { %w(wiki_size) } diff --git a/spec/services/jira/requests/projects/list_service_spec.rb b/spec/services/jira/requests/projects/list_service_spec.rb index 37e9f66d273..f9e3a3e8510 100644 --- a/spec/services/jira/requests/projects/list_service_spec.rb +++ b/spec/services/jira/requests/projects/list_service_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe Jira::Requests::Projects::ListService, feature_category: :projects do +RSpec.describe Jira::Requests::Projects::ListService, feature_category: :groups_and_projects do include AfterNextHelpers let(:jira_integration) { create(:jira_integration) } diff --git a/spec/services/markup/rendering_service_spec.rb b/spec/services/markup/rendering_service_spec.rb index 952ee33da98..1a30fcb648d 100644 --- a/spec/services/markup/rendering_service_spec.rb +++ b/spec/services/markup/rendering_service_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe Markup::RenderingService, feature_category: :projects do +RSpec.describe Markup::RenderingService, feature_category: :groups_and_projects do describe '#execute' do let_it_be(:project) { create(:project, :repository) } let_it_be(:user) do diff --git a/spec/services/members/approve_access_request_service_spec.rb b/spec/services/members/approve_access_request_service_spec.rb index 6c0d47e98ba..460b1caad5b 100644 --- a/spec/services/members/approve_access_request_service_spec.rb +++ b/spec/services/members/approve_access_request_service_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe Members::ApproveAccessRequestService, feature_category: :subgroups do +RSpec.describe Members::ApproveAccessRequestService, feature_category: :groups_and_projects do let(:project) { create(:project, :public) } let(:group) { create(:group, :public) } let(:current_user) { create(:user) } diff --git a/spec/services/members/base_service_spec.rb b/spec/services/members/base_service_spec.rb index 514c25fbc03..09c903bb82b 100644 --- a/spec/services/members/base_service_spec.rb +++ b/spec/services/members/base_service_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe Members::BaseService, feature_category: :projects do +RSpec.describe Members::BaseService, feature_category: :groups_and_projects do let_it_be(:access_requester) { create(:group_member) } describe '#resolve_access_request_todos' do diff --git a/spec/services/members/create_service_spec.rb b/spec/services/members/create_service_spec.rb index 13f233162cd..c9dee0aadda 100644 --- a/spec/services/members/create_service_spec.rb +++ b/spec/services/members/create_service_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' RSpec.describe Members::CreateService, :aggregate_failures, :clean_gitlab_redis_cache, :clean_gitlab_redis_shared_state, :sidekiq_inline, - feature_category: :subgroups do + feature_category: :groups_and_projects do let_it_be(:source, reload: true) { create(:project) } let_it_be(:user) { create(:user) } let_it_be(:member) { create(:user) } diff --git a/spec/services/members/creator_service_spec.rb b/spec/services/members/creator_service_spec.rb index 8191eefbe95..e58d501d02d 100644 --- a/spec/services/members/creator_service_spec.rb +++ b/spec/services/members/creator_service_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe Members::CreatorService, feature_category: :subgroups do +RSpec.describe Members::CreatorService, feature_category: :groups_and_projects do let_it_be(:source, reload: true) { create(:group, :public) } let_it_be(:member_type) { GroupMember } let_it_be(:user) { create(:user) } diff --git a/spec/services/members/destroy_service_spec.rb b/spec/services/members/destroy_service_spec.rb index 498b9576875..4218a3297b3 100644 --- a/spec/services/members/destroy_service_spec.rb +++ b/spec/services/members/destroy_service_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe Members::DestroyService, feature_category: :subgroups do +RSpec.describe Members::DestroyService, feature_category: :groups_and_projects do let(:current_user) { create(:user) } let(:member_user) { create(:user) } let(:group) { create(:group, :public) } diff --git a/spec/services/members/groups/creator_service_spec.rb b/spec/services/members/groups/creator_service_spec.rb index 4c13106145e..4716bc7485b 100644 --- a/spec/services/members/groups/creator_service_spec.rb +++ b/spec/services/members/groups/creator_service_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe Members::Groups::CreatorService, feature_category: :subgroups do +RSpec.describe Members::Groups::CreatorService, feature_category: :groups_and_projects do let_it_be(:source, reload: true) { create(:group, :public) } let_it_be(:source2, reload: true) { create(:group, :public) } let_it_be(:user) { create(:user) } diff --git a/spec/services/members/import_project_team_service_spec.rb b/spec/services/members/import_project_team_service_spec.rb index af9b30aa0b3..7dcdb70f2cd 100644 --- a/spec/services/members/import_project_team_service_spec.rb +++ b/spec/services/members/import_project_team_service_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe Members::ImportProjectTeamService, feature_category: :subgroups do +RSpec.describe Members::ImportProjectTeamService, feature_category: :groups_and_projects do describe '#execute' do let_it_be(:source_project) { create(:project) } let_it_be(:target_project) { create(:project) } diff --git a/spec/services/members/invitation_reminder_email_service_spec.rb b/spec/services/members/invitation_reminder_email_service_spec.rb index da23965eabe..2b72a4919b4 100644 --- a/spec/services/members/invitation_reminder_email_service_spec.rb +++ b/spec/services/members/invitation_reminder_email_service_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe Members::InvitationReminderEmailService, feature_category: :subgroups do +RSpec.describe Members::InvitationReminderEmailService, feature_category: :groups_and_projects do describe 'sending invitation reminders' do subject { described_class.new(invitation).execute } diff --git a/spec/services/members/invite_member_builder_spec.rb b/spec/services/members/invite_member_builder_spec.rb index e7bbec4e0ef..62c33b42fa2 100644 --- a/spec/services/members/invite_member_builder_spec.rb +++ b/spec/services/members/invite_member_builder_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe Members::InviteMemberBuilder, feature_category: :subgroups do +RSpec.describe Members::InviteMemberBuilder, feature_category: :groups_and_projects do let_it_be(:source) { create(:group) } let_it_be(:existing_member) { create(:group_member) } diff --git a/spec/services/members/invite_service_spec.rb b/spec/services/members/invite_service_spec.rb index 22294b3fda5..1c0466980f4 100644 --- a/spec/services/members/invite_service_spec.rb +++ b/spec/services/members/invite_service_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' RSpec.describe Members::InviteService, :aggregate_failures, :clean_gitlab_redis_shared_state, :sidekiq_inline, - feature_category: :subgroups do + feature_category: :groups_and_projects do let_it_be(:project, reload: true) { create(:project) } let_it_be(:user) { project.first_owner } let_it_be(:project_user) { create(:user) } diff --git a/spec/services/members/projects/creator_service_spec.rb b/spec/services/members/projects/creator_service_spec.rb index 7ec7361a285..7f2b1869847 100644 --- a/spec/services/members/projects/creator_service_spec.rb +++ b/spec/services/members/projects/creator_service_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe Members::Projects::CreatorService, feature_category: :projects do +RSpec.describe Members::Projects::CreatorService, feature_category: :groups_and_projects do let_it_be(:source, reload: true) { create(:project, :public) } let_it_be(:source2, reload: true) { create(:project, :public) } let_it_be(:user) { create(:user) } diff --git a/spec/services/members/request_access_service_spec.rb b/spec/services/members/request_access_service_spec.rb index ef8ee6492ab..68eef253452 100644 --- a/spec/services/members/request_access_service_spec.rb +++ b/spec/services/members/request_access_service_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe Members::RequestAccessService, feature_category: :subgroups do +RSpec.describe Members::RequestAccessService, feature_category: :groups_and_projects do let(:user) { create(:user) } shared_examples 'a service raising Gitlab::Access::AccessDeniedError' do diff --git a/spec/services/members/standard_member_builder_spec.rb b/spec/services/members/standard_member_builder_spec.rb index 69b764f3f16..96dda83fe54 100644 --- a/spec/services/members/standard_member_builder_spec.rb +++ b/spec/services/members/standard_member_builder_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe Members::StandardMemberBuilder, feature_category: :subgroups do +RSpec.describe Members::StandardMemberBuilder, feature_category: :groups_and_projects do let_it_be(:source) { create(:group) } let_it_be(:existing_member) { create(:group_member) } diff --git a/spec/services/members/unassign_issuables_service_spec.rb b/spec/services/members/unassign_issuables_service_spec.rb index 37dfbd16c56..9623cef868b 100644 --- a/spec/services/members/unassign_issuables_service_spec.rb +++ b/spec/services/members/unassign_issuables_service_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe Members::UnassignIssuablesService, feature_category: :subgroups do +RSpec.describe Members::UnassignIssuablesService, feature_category: :groups_and_projects do let_it_be(:group) { create(:group, :private) } let_it_be(:project) { create(:project, group: group) } let_it_be(:user, reload: true) { create(:user) } diff --git a/spec/services/members/update_service_spec.rb b/spec/services/members/update_service_spec.rb index b94b44c8485..1c4b1abcfdb 100644 --- a/spec/services/members/update_service_spec.rb +++ b/spec/services/members/update_service_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe Members::UpdateService, feature_category: :subgroups do +RSpec.describe Members::UpdateService, feature_category: :groups_and_projects do let_it_be(:project) { create(:project, :public) } let_it_be(:group) { create(:group, :public) } let_it_be(:current_user) { create(:user) } diff --git a/spec/services/namespace_settings/update_service_spec.rb b/spec/services/namespace_settings/update_service_spec.rb index 5f1ff6746bc..daffae1dda7 100644 --- a/spec/services/namespace_settings/update_service_spec.rb +++ b/spec/services/namespace_settings/update_service_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe NamespaceSettings::UpdateService, feature_category: :subgroups do +RSpec.describe NamespaceSettings::UpdateService, feature_category: :groups_and_projects do let(:user) { create(:user) } let(:group) { create(:group) } let(:settings) { {} } diff --git a/spec/services/namespaces/statistics_refresher_service_spec.rb b/spec/services/namespaces/statistics_refresher_service_spec.rb index 750f98615cc..4c33e5e80d6 100644 --- a/spec/services/namespaces/statistics_refresher_service_spec.rb +++ b/spec/services/namespaces/statistics_refresher_service_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe Namespaces::StatisticsRefresherService, '#execute', feature_category: :subgroups do +RSpec.describe Namespaces::StatisticsRefresherService, '#execute', feature_category: :groups_and_projects do let(:group) { create(:group) } let(:subgroup) { create(:group, parent: group) } let(:projects) { create_list(:project, 5, namespace: group) } diff --git a/spec/services/packages/debian/create_package_file_service_spec.rb b/spec/services/packages/debian/create_package_file_service_spec.rb index b527bf8c1de..7dfbfa0b429 100644 --- a/spec/services/packages/debian/create_package_file_service_spec.rb +++ b/spec/services/packages/debian/create_package_file_service_spec.rb @@ -35,7 +35,6 @@ RSpec.describe Packages::Debian::CreatePackageFileService, feature_category: :pa expect(::Packages::Debian::ProcessPackageFileWorker).not_to receive(:perform_async) end - expect(::Packages::Debian::ProcessChangesWorker).not_to receive(:perform_async) expect(package_file).to be_valid expect(package_file.file.read).to start_with('!') expect(package_file.size).to eq(1124) @@ -52,8 +51,8 @@ RSpec.describe Packages::Debian::CreatePackageFileService, feature_category: :pa shared_examples 'a valid changes' do it 'creates a new package file', :aggregate_failures do - expect(::Packages::Debian::ProcessChangesWorker) - .to receive(:perform_async).with(an_instance_of(Integer), current_user.id) + expect(::Packages::Debian::ProcessPackageFileWorker) + .to receive(:perform_async).with(an_instance_of(Integer), nil, nil) expect(package_file).to be_valid expect(package_file.file.read).to start_with('Format: 1.8') diff --git a/spec/services/packages/debian/extract_changes_metadata_service_spec.rb b/spec/services/packages/debian/extract_changes_metadata_service_spec.rb index a22c1fc7acc..68137c3abe1 100644 --- a/spec/services/packages/debian/extract_changes_metadata_service_spec.rb +++ b/spec/services/packages/debian/extract_changes_metadata_service_spec.rb @@ -1,13 +1,17 @@ # frozen_string_literal: true + require 'spec_helper' RSpec.describe Packages::Debian::ExtractChangesMetadataService, feature_category: :package_registry do describe '#execute' do let_it_be(:incoming) { create(:debian_incoming) } + let_it_be(:temp_package) do + create(:debian_package, without_package_files: true, with_changes_file: true, project: incoming.project) + end let(:source_file) { incoming.package_files.first } let(:dsc_file) { incoming.package_files.second } - let(:changes_file) { incoming.package_files.last } + let(:changes_file) { temp_package.package_files.first } let(:service) { described_class.new(changes_file) } subject { service.execute } diff --git a/spec/services/packages/debian/process_changes_service_spec.rb b/spec/services/packages/debian/process_changes_service_spec.rb index dbfcc359f9c..39b917cf1bc 100644 --- a/spec/services/packages/debian/process_changes_service_spec.rb +++ b/spec/services/packages/debian/process_changes_service_spec.rb @@ -7,7 +7,7 @@ RSpec.describe Packages::Debian::ProcessChangesService, feature_category: :packa let_it_be(:user) { create(:user) } let_it_be_with_reload(:distribution) { create(:debian_project_distribution, :with_file, suite: 'unstable') } - let!(:incoming) { create(:debian_incoming, project: distribution.project) } + let!(:incoming) { create(:debian_incoming, project: distribution.project, with_changes_file: true) } let(:package_file) { incoming.package_files.with_file_name('sample_1.2.3~alpha2_amd64.changes').first } diff --git a/spec/services/packages/debian/process_package_file_service_spec.rb b/spec/services/packages/debian/process_package_file_service_spec.rb index 7782b5fc1a6..d4e37403b87 100644 --- a/spec/services/packages/debian/process_package_file_service_spec.rb +++ b/spec/services/packages/debian/process_package_file_service_spec.rb @@ -3,211 +3,408 @@ require 'spec_helper' RSpec.describe Packages::Debian::ProcessPackageFileService, feature_category: :package_registry do + include ExclusiveLeaseHelpers + + let_it_be(:distribution) { create(:debian_project_distribution, :with_file, suite: 'unstable') } + + let(:debian_file_metadatum) { package_file.debian_file_metadatum } + let(:service) { described_class.new(package_file, distribution_name, component_name) } + describe '#execute' do - let_it_be_with_reload(:distribution) { create(:debian_project_distribution, :with_suite, :with_file) } + using RSpec::Parameterized::TableSyntax + + subject { service.execute } + + shared_examples 'common validations' do + context 'with package file without Debian metadata' do + let!(:package_file) { create(:debian_package_file, without_loaded_metadatum: true) } + + let(:expected_error) { ArgumentError } + let(:expected_message) { 'package file without Debian metadata' } + + it_behaves_like 'raises error' + end + + context 'with already processed package file' do + let!(:package_file) { create(:debian_package_file) } + + let(:expected_error) { ArgumentError } + let(:expected_message) { 'already processed package file' } + + it_behaves_like 'raises error' + end + + context 'without a distribution' do + let(:expected_error) { ActiveRecord::RecordNotFound } + let(:expected_message) { /^Couldn't find Packages::Debian::ProjectDistribution with / } + + before do + # Workaround ActiveRecord cache + Packages::Debian::ProjectDistribution.find(distribution.id).delete + end + + it_behaves_like 'raises error' + end + + context 'when there is a matching published package in another distribution' do + let!(:matching_package) do + create( + :debian_package, + project: distribution.project, + name: 'sample', + version: '1.2.3~alpha2' + ) + end + + let(:expected_error) { ArgumentError } + + let(:expected_message) do + "Debian package sample 1.2.3~alpha2 exists in distribution #{matching_package.debian_distribution.codename}" + end + + it_behaves_like 'raises error' + end + end + + shared_examples 'raises error' do + it 'raises error', :aggregate_failures do + expect(::Packages::Debian::GenerateDistributionWorker).not_to receive(:perform_async) + expect { subject } + .to not_change(Packages::Package, :count) + .and not_change(Packages::PackageFile, :count) + .and not_change { Packages::Debian::Publication.count } + .and not_change(package.package_files, :count) + .and not_change { package.reload.name } + .and not_change { package.version } + .and not_change { package.status } + .and not_change { debian_file_metadatum&.reload&.file_type } + .and not_change { debian_file_metadatum&.component } + .and raise_error(expected_error, expected_message) + end + end - let!(:package) { create(:debian_package, :processing, project: distribution.project, published_in: nil) } - let(:distribution_name) { distribution.codename } - let(:component_name) { 'main' } - let(:debian_file_metadatum) { package_file.debian_file_metadatum } + shared_examples 'does nothing' do + it 'does nothing', :aggregate_failures do + expect(::Packages::Debian::GenerateDistributionWorker).not_to receive(:perform_async) + expect { subject } + .to not_change(Packages::Package, :count) + .and not_change(Packages::PackageFile, :count) + .and not_change { Packages::Debian::Publication.count } + .and not_change(package.package_files, :count) + .and not_change { package.reload.name } + .and not_change { package.version } + .and not_change { package.status } + .and not_change { debian_file_metadatum&.reload&.file_type } + .and not_change { debian_file_metadatum&.component } + end + end - subject { described_class.new(package_file, distribution_name, component_name) } + shared_examples 'updates package and changes file' do + it 'updates package and changes file', :aggregate_failures do + expect(::Packages::Debian::GenerateDistributionWorker) + .to receive(:perform_async).with(:project, distribution.id) + expect { subject } + .to not_change(Packages::Package, :count) + .and not_change(Packages::PackageFile, :count) + .and change { Packages::Debian::Publication.count }.by(1) + .and change { package.package_files.count }.from(1).to(8) + .and change { package.reload.name }.to('sample') + .and change { package.version }.to('1.2.3~alpha2') + .and change { package.status }.from('processing').to('default') + .and change { package.debian_publication }.from(nil) + .and change { debian_file_metadatum.file_type }.from('unknown').to('changes') + .and not_change { debian_file_metadatum.component } + end + end shared_examples 'updates package and package file' do it 'updates package and package file', :aggregate_failures do expect(::Packages::Debian::GenerateDistributionWorker) .to receive(:perform_async).with(:project, distribution.id) - expect { subject.execute } + expect { subject } .to not_change(Packages::Package, :count) .and not_change(Packages::PackageFile, :count) .and change { Packages::Debian::Publication.count }.by(1) .and not_change(package.package_files, :count) .and change { package.reload.name }.to('sample') - .and change { package.reload.version }.to('1.2.3~alpha2') - .and change { package.reload.status }.from('processing').to('default') - .and change { package.reload.debian_publication }.from(nil) + .and change { package.version }.to('1.2.3~alpha2') + .and change { package.status }.from('processing').to('default') + .and change { package.debian_publication }.from(nil) .and change { debian_file_metadatum.file_type }.from('unknown').to(expected_file_type) .and change { debian_file_metadatum.component }.from(nil).to(component_name) end end - using RSpec::Parameterized::TableSyntax + context 'with a changes file' do + let!(:incoming) { create(:debian_incoming, project: distribution.project) } + let!(:temporary_with_changes) { create(:debian_temporary_with_changes, project: distribution.project) } + let(:package) { temporary_with_changes } - where(:case_name, :expected_file_type, :file_name, :component_name) do - 'with a deb' | 'deb' | 'libsample0_1.2.3~alpha2_amd64.deb' | 'main' - 'with an udeb' | 'udeb' | 'sample-udeb_1.2.3~alpha2_amd64.udeb' | 'contrib' - 'with an ddeb' | 'ddeb' | 'sample-ddeb_1.2.3~alpha2_amd64.ddeb' | 'main' - end + let(:package_file) { temporary_with_changes.package_files.first } + let(:distribution_name) { nil } + let(:component_name) { nil } - with_them do - context 'with Debian package file' do - let(:package_file) { package.package_files.with_file_name(file_name).first } + it_behaves_like 'common validations' - context 'when there is no matching published package' do - it_behaves_like 'updates package and package file' + context 'with distribution_name' do + let(:distribution_name) { distribution.codename } + let(:expected_error) { ArgumentError } + let(:expected_message) { 'unwanted distribution name' } - context 'with suite as distribution name' do - let(:distribution_name) { distribution.suite } + it_behaves_like 'raises error' + end - it_behaves_like 'updates package and package file' - end + context 'with component_name' do + let(:component_name) { 'main' } + let(:expected_error) { ArgumentError } + let(:expected_message) { 'unwanted component name' } + + it_behaves_like 'raises error' + end + + context 'with crafted file_metadata' do + let(:complete_file_metadata) do + { + file_type: :changes, + fields: { + 'Source' => 'abc', + 'Version' => '1.0', + 'Distribution' => 'sid' + } + } end - context 'when there is a matching published package' do - let!(:matching_package) do - create( - :debian_package, - project: distribution.project, - published_in: distribution, - name: 'sample', - version: '1.2.3~alpha2' - ) - end + let(:expected_error) { ArgumentError } - it 'reuses existing package and update package file', :aggregate_failures do - expect(::Packages::Debian::GenerateDistributionWorker) - .to receive(:perform_async).with(:project, distribution.id) - expect { subject.execute } - .to change { Packages::Package.count }.from(2).to(1) - .and change { Packages::PackageFile.count }.from(16).to(9) - .and not_change(Packages::Debian::Publication, :count) - .and change { package.package_files.count }.from(8).to(0) - .and change { package_file.package }.from(package).to(matching_package) - .and not_change(matching_package, :name) - .and not_change(matching_package, :version) - .and change { debian_file_metadatum.file_type }.from('unknown').to(expected_file_type) - .and change { debian_file_metadatum.component }.from(nil).to(component_name) - - expect { package.reload } - .to raise_error(ActiveRecord::RecordNotFound) + before do + allow_next_instance_of(::Packages::Debian::ExtractChangesMetadataService) do |extract_changes_metadata_svc| + allow(extract_changes_metadata_svc).to receive(:execute).and_return(file_metadata) end end - context 'when there is a matching published package in another distribution' do - let!(:matching_package) do - create( - :debian_package, - project: distribution.project, - name: 'sample', - version: '1.2.3~alpha2' - ) - end + context 'with missing Source field' do + let(:file_metadata) { complete_file_metadata.tap { |m| m[:fields].delete 'Source' } } + let(:expected_message) { 'missing Source field' } - it 'raise ArgumentError', :aggregate_failures do - expect(::Packages::Debian::GenerateDistributionWorker).not_to receive(:perform_async) - expect { subject.execute } - .to not_change(Packages::Package, :count) - .and not_change(Packages::PackageFile, :count) - .and not_change(package.package_files, :count) - .and raise_error(ArgumentError, "Debian package sample 1.2.3~alpha2 exists " \ - "in distribution #{matching_package.debian_distribution.codename}") - end + it_behaves_like 'raises error' end - context 'when there is a matching published package pending destruction' do - let!(:matching_package) do - create( - :debian_package, - :pending_destruction, - project: distribution.project, - published_in: distribution, - name: 'sample', - version: '1.2.3~alpha2' - ) - end + context 'with missing Version field' do + let(:file_metadata) { complete_file_metadata.tap { |m| m[:fields].delete 'Version' } } + let(:expected_message) { 'missing Version field' } + + it_behaves_like 'raises error' + end + + context 'with missing Distribution field' do + let(:file_metadata) { complete_file_metadata.tap { |m| m[:fields].delete 'Distribution' } } + let(:expected_message) { 'missing Distribution field' } - it_behaves_like 'updates package and package file' + it_behaves_like 'raises error' end end - end - context 'without a distribution' do - let(:package_file) { package.package_files.with_file_name('libsample0_1.2.3~alpha2_amd64.deb').first } - let(:component_name) { 'main' } + context 'when lease is already taken' do + before do + stub_exclusive_lease_taken( + "packages:debian:process_package_file_service:#{distribution.project_id}_sample_1.2.3~alpha2", + timeout: Packages::Debian::ProcessPackageFileService::DEFAULT_LEASE_TIMEOUT) + end - before do - distribution.destroy! + it_behaves_like 'does nothing' end - it 'raise ActiveRecord::RecordNotFound', :aggregate_failures do - expect(::Packages::Debian::GenerateDistributionWorker).not_to receive(:perform_async) - expect { subject.execute } - .to not_change(Packages::Package, :count) - .and not_change(Packages::PackageFile, :count) - .and not_change(package.package_files, :count) - .and raise_error(ActiveRecord::RecordNotFound) + context 'when there is no matching published package' do + it_behaves_like 'updates package and changes file' end - end - context 'without distribution name' do - let!(:package_file) { create(:debian_package_file, without_loaded_metadatum: true) } - let(:distribution_name) { '' } + context 'when there is a matching published package' do + let!(:matching_package) do + create( + :debian_package, + project: distribution.project, + published_in: distribution, + name: 'sample', + version: '1.2.3~alpha2' + ) + end - it 'raise ArgumentError', :aggregate_failures do - expect(::Packages::Debian::GenerateDistributionWorker).not_to receive(:perform_async) - expect { subject.execute } - .to not_change(Packages::Package, :count) - .and not_change(Packages::PackageFile, :count) - .and not_change(package.package_files, :count) - .and raise_error(ArgumentError, 'missing distribution name') + it 'reuses existing package and update package file', :aggregate_failures do + expect(::Packages::Debian::GenerateDistributionWorker) + .to receive(:perform_async).with(:project, distribution.id) + expect { subject } + .to change { Packages::Package.count }.from(3).to(2) + .and not_change { Packages::PackageFile.count } + .and not_change(Packages::Debian::Publication, :count) + .and change { package.package_files.count }.from(1).to(0) + .and change { incoming.package_files.count }.from(7).to(0) + .and change { matching_package.package_files.count }.from(7).to(15) + .and change { package_file.package }.from(package).to(matching_package) + .and not_change(matching_package, :name) + .and not_change(matching_package, :version) + .and change { debian_file_metadatum.file_type }.from('unknown').to('changes') + .and not_change { debian_file_metadatum.component } + + expect { package.reload } + .to raise_error(ActiveRecord::RecordNotFound) + end end - end - context 'without component name' do - let!(:package_file) { create(:debian_package_file, without_loaded_metadatum: true) } - let(:component_name) { '' } + context 'when there is a matching published package pending destruction' do + let!(:matching_package) do + create( + :debian_package, + :pending_destruction, + project: distribution.project, + published_in: distribution, + name: 'sample', + version: '1.2.3~alpha2' + ) + end - it 'raise ArgumentError', :aggregate_failures do - expect(::Packages::Debian::GenerateDistributionWorker).not_to receive(:perform_async) - expect { subject.execute } - .to not_change(Packages::Package, :count) - .and not_change(Packages::PackageFile, :count) - .and not_change(package.package_files, :count) - .and raise_error(ArgumentError, 'missing component name') + it_behaves_like 'updates package and changes file' end end - context 'with package file without Debian metadata' do - let!(:package_file) { create(:debian_package_file, without_loaded_metadatum: true) } + context 'with a package file' do + let!(:temporary_with_files) { create(:debian_temporary_with_files, project: distribution.project) } + let(:package) { temporary_with_files } + + let(:package_file) { package.package_files.with_file_name('libsample0_1.2.3~alpha2_amd64.deb').first } + let(:distribution_name) { distribution.codename } let(:component_name) { 'main' } - it 'raise ArgumentError', :aggregate_failures do - expect(::Packages::Debian::GenerateDistributionWorker).not_to receive(:perform_async) - expect { subject.execute } - .to not_change(Packages::Package, :count) - .and not_change(Packages::PackageFile, :count) - .and not_change(package.package_files, :count) - .and raise_error(ArgumentError, 'package file without Debian metadata') + where(:case_name, :expected_file_type, :file_name, :component_name) do + 'with a deb' | 'deb' | 'libsample0_1.2.3~alpha2_amd64.deb' | 'main' + 'with an udeb' | 'udeb' | 'sample-udeb_1.2.3~alpha2_amd64.udeb' | 'contrib' + 'with an ddeb' | 'ddeb' | 'sample-ddeb_1.2.3~alpha2_amd64.ddeb' | 'main' end - end - context 'with already processed package file' do - let_it_be(:package_file) { create(:debian_package_file) } + with_them do + context 'with Debian package file' do + let(:package_file) { package.package_files.with_file_name(file_name).first } - let(:component_name) { 'main' } + it_behaves_like 'common validations' - it 'raise ArgumentError', :aggregate_failures do - expect(::Packages::Debian::GenerateDistributionWorker).not_to receive(:perform_async) - expect { subject.execute } - .to not_change(Packages::Package, :count) - .and not_change(Packages::PackageFile, :count) - .and not_change(package.package_files, :count) - .and raise_error(ArgumentError, 'already processed package file') + context 'without distribution name' do + let(:distribution_name) { '' } + let(:expected_error) { ArgumentError } + let(:expected_message) { 'missing distribution name' } + + it_behaves_like 'raises error' + end + + context 'without component name' do + let(:component_name) { '' } + let(:expected_error) { ArgumentError } + let(:expected_message) { 'missing component name' } + + it_behaves_like 'raises error' + end + + context 'with invalid package file type' do + let(:package_file) { package.package_files.with_file_name('sample_1.2.3~alpha2.tar.xz').first } + let(:expected_error) { ArgumentError } + let(:expected_message) { 'invalid package file type: source' } + + it_behaves_like 'raises error' + end + + context 'when lease is already taken' do + before do + stub_exclusive_lease_taken( + "packages:debian:process_package_file_service:#{distribution.project_id}_sample_1.2.3~alpha2", + timeout: Packages::Debian::ProcessPackageFileService::DEFAULT_LEASE_TIMEOUT) + end + + it_behaves_like 'does nothing' + end + + context 'when there is no matching published package' do + it_behaves_like 'updates package and package file' + + context 'with suite as distribution name' do + let(:distribution_name) { distribution.suite } + + it_behaves_like 'updates package and package file' + end + end + + context 'when there is a matching published package' do + let!(:matching_package) do + create( + :debian_package, + project: distribution.project, + published_in: distribution, + name: 'sample', + version: '1.2.3~alpha2' + ) + end + + it 'reuses existing package and update package file', :aggregate_failures do + expect(::Packages::Debian::GenerateDistributionWorker) + .to receive(:perform_async).with(:project, distribution.id) + expect { subject } + .to change { Packages::Package.count }.from(2).to(1) + .and change { Packages::PackageFile.count }.from(14).to(8) + .and not_change(Packages::Debian::Publication, :count) + .and change { package.package_files.count }.from(7).to(0) + .and change { package_file.package }.from(package).to(matching_package) + .and not_change(matching_package, :name) + .and not_change(matching_package, :version) + .and change { debian_file_metadatum.file_type }.from('unknown').to(expected_file_type) + .and change { debian_file_metadatum.component }.from(nil).to(component_name) + + expect { package.reload } + .to raise_error(ActiveRecord::RecordNotFound) + end + end + + context 'when there is a matching published package pending destruction' do + let!(:matching_package) do + create( + :debian_package, + :pending_destruction, + project: distribution.project, + published_in: distribution, + name: 'sample', + version: '1.2.3~alpha2' + ) + end + + it_behaves_like 'updates package and package file' + end + end end end + end + + describe '#lease_key' do + let(:prefix) { 'packages:debian:process_package_file_service' } + + subject { service.send(:lease_key) } + + context 'with a changes file' do + let!(:incoming) { create(:debian_incoming, project: distribution.project) } + let!(:temporary_with_changes) { create(:debian_temporary_with_changes, project: distribution.project) } + let(:package) { temporary_with_changes } + + let(:package_file) { temporary_with_changes.package_files.first } + let(:distribution_name) { nil } + let(:component_name) { nil } + + it { is_expected.to eq("#{prefix}:#{distribution.project_id}_sample_1.2.3~alpha2") } + end + + context 'with a package file' do + let!(:temporary_with_files) { create(:debian_temporary_with_files, project: distribution.project) } + let(:package) { temporary_with_files } - context 'with invalid package file type' do - let(:package_file) { package.package_files.with_file_name('sample_1.2.3~alpha2.tar.xz').first } + let(:package_file) { package.package_files.with_file_name('libsample0_1.2.3~alpha2_amd64.deb').first } + let(:distribution_name) { distribution.codename } let(:component_name) { 'main' } - it 'raise ArgumentError', :aggregate_failures do - expect(::Packages::Debian::GenerateDistributionWorker).not_to receive(:perform_async) - expect { subject.execute } - .to not_change(Packages::Package, :count) - .and not_change(Packages::PackageFile, :count) - .and not_change(package.package_files, :count) - .and raise_error(ArgumentError, 'invalid package file type: source') - end + it { is_expected.to eq("#{prefix}:#{distribution.project_id}_sample_1.2.3~alpha2") } end end end diff --git a/spec/services/projects/after_rename_service_spec.rb b/spec/services/projects/after_rename_service_spec.rb index 3097d6d1498..411ff5662d4 100644 --- a/spec/services/projects/after_rename_service_spec.rb +++ b/spec/services/projects/after_rename_service_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe Projects::AfterRenameService, feature_category: :projects do +RSpec.describe Projects::AfterRenameService, feature_category: :groups_and_projects do let(:legacy_storage) { Storage::LegacyProject.new(project) } let(:hashed_storage) { Storage::Hashed.new(project) } let!(:path_before_rename) { project.path } diff --git a/spec/services/projects/alerting/notify_service_spec.rb b/spec/services/projects/alerting/notify_service_spec.rb index 8cd9b5d3e00..bbe69e4102f 100644 --- a/spec/services/projects/alerting/notify_service_spec.rb +++ b/spec/services/projects/alerting/notify_service_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe Projects::Alerting::NotifyService, feature_category: :projects do +RSpec.describe Projects::Alerting::NotifyService, feature_category: :groups_and_projects do let_it_be_with_reload(:project) { create(:project) } let(:payload) { ActionController::Parameters.new(payload_raw).permit! } diff --git a/spec/services/projects/all_issues_count_service_spec.rb b/spec/services/projects/all_issues_count_service_spec.rb index e8e08a25c45..0118f0d5e8b 100644 --- a/spec/services/projects/all_issues_count_service_spec.rb +++ b/spec/services/projects/all_issues_count_service_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe Projects::AllIssuesCountService, :use_clean_rails_memory_store_caching, feature_category: :projects do +RSpec.describe Projects::AllIssuesCountService, :use_clean_rails_memory_store_caching, feature_category: :groups_and_projects do let_it_be(:group) { create(:group, :public) } let_it_be(:project) { create(:project, :public, namespace: group) } let_it_be(:banned_user) { create(:user, :banned) } diff --git a/spec/services/projects/all_merge_requests_count_service_spec.rb b/spec/services/projects/all_merge_requests_count_service_spec.rb index ca10fbc00ad..7f4465fd8e7 100644 --- a/spec/services/projects/all_merge_requests_count_service_spec.rb +++ b/spec/services/projects/all_merge_requests_count_service_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe Projects::AllMergeRequestsCountService, :use_clean_rails_memory_store_caching, feature_category: :projects do +RSpec.describe Projects::AllMergeRequestsCountService, :use_clean_rails_memory_store_caching, feature_category: :groups_and_projects do let_it_be(:project) { create(:project) } subject { described_class.new(project) } diff --git a/spec/services/projects/apple_target_platform_detector_service_spec.rb b/spec/services/projects/apple_target_platform_detector_service_spec.rb index 787faaa0f79..74a04da9e68 100644 --- a/spec/services/projects/apple_target_platform_detector_service_spec.rb +++ b/spec/services/projects/apple_target_platform_detector_service_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe Projects::AppleTargetPlatformDetectorService, feature_category: :projects do +RSpec.describe Projects::AppleTargetPlatformDetectorService, feature_category: :groups_and_projects do let_it_be(:project) { build(:project) } subject { described_class.new(project).execute } diff --git a/spec/services/projects/autocomplete_service_spec.rb b/spec/services/projects/autocomplete_service_spec.rb index 9d3075874a2..67e715142f8 100644 --- a/spec/services/projects/autocomplete_service_spec.rb +++ b/spec/services/projects/autocomplete_service_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe Projects::AutocompleteService, feature_category: :projects do +RSpec.describe Projects::AutocompleteService, feature_category: :groups_and_projects do describe '#issues' do describe 'confidential issues' do let(:author) { create(:user) } diff --git a/spec/services/projects/batch_open_issues_count_service_spec.rb b/spec/services/projects/batch_open_issues_count_service_spec.rb index d29115a697f..578c3d066e1 100644 --- a/spec/services/projects/batch_open_issues_count_service_spec.rb +++ b/spec/services/projects/batch_open_issues_count_service_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe Projects::BatchOpenIssuesCountService, feature_category: :projects do +RSpec.describe Projects::BatchOpenIssuesCountService, feature_category: :groups_and_projects do let!(:project_1) { create(:project) } let!(:project_2) { create(:project) } diff --git a/spec/services/projects/count_service_spec.rb b/spec/services/projects/count_service_spec.rb index 71940fa396e..8797f30bed2 100644 --- a/spec/services/projects/count_service_spec.rb +++ b/spec/services/projects/count_service_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe Projects::CountService, feature_category: :projects do +RSpec.describe Projects::CountService, feature_category: :groups_and_projects do let(:project) { build(:project, id: 1) } let(:service) { described_class.new(project) } diff --git a/spec/services/projects/create_from_template_service_spec.rb b/spec/services/projects/create_from_template_service_spec.rb index a3fdb258f75..0d649dee022 100644 --- a/spec/services/projects/create_from_template_service_spec.rb +++ b/spec/services/projects/create_from_template_service_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe Projects::CreateFromTemplateService, feature_category: :projects do +RSpec.describe Projects::CreateFromTemplateService, feature_category: :groups_and_projects do let(:user) { create(:user) } let(:template_name) { 'rails' } let(:project_params) do diff --git a/spec/services/projects/create_service_spec.rb b/spec/services/projects/create_service_spec.rb index 1b6971ff897..59db0b47a3c 100644 --- a/spec/services/projects/create_service_spec.rb +++ b/spec/services/projects/create_service_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe Projects::CreateService, '#execute', feature_category: :projects do +RSpec.describe Projects::CreateService, '#execute', feature_category: :groups_and_projects do include ExternalAuthorizationServiceHelpers let(:user) { create :user } diff --git a/spec/services/projects/destroy_service_spec.rb b/spec/services/projects/destroy_service_spec.rb index 7da23a59a58..7aa6980fb24 100644 --- a/spec/services/projects/destroy_service_spec.rb +++ b/spec/services/projects/destroy_service_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe Projects::DestroyService, :aggregate_failures, :event_store_publisher, feature_category: :projects do +RSpec.describe Projects::DestroyService, :aggregate_failures, :event_store_publisher, feature_category: :groups_and_projects do include ProjectForksHelper include BatchDestroyDependentAssociationsHelper diff --git a/spec/services/projects/detect_repository_languages_service_spec.rb b/spec/services/projects/detect_repository_languages_service_spec.rb index 5759f8128d0..29d5569ba76 100644 --- a/spec/services/projects/detect_repository_languages_service_spec.rb +++ b/spec/services/projects/detect_repository_languages_service_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe Projects::DetectRepositoryLanguagesService, :clean_gitlab_redis_shared_state, feature_category: :projects do +RSpec.describe Projects::DetectRepositoryLanguagesService, :clean_gitlab_redis_shared_state, feature_category: :groups_and_projects do let_it_be(:project, reload: true) { create(:project, :repository) } subject { described_class.new(project) } diff --git a/spec/services/projects/download_service_spec.rb b/spec/services/projects/download_service_spec.rb index 52bdbefe01a..e062ee04bf4 100644 --- a/spec/services/projects/download_service_spec.rb +++ b/spec/services/projects/download_service_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe Projects::DownloadService, feature_category: :projects do +RSpec.describe Projects::DownloadService, feature_category: :groups_and_projects do describe 'File service' do before do @user = create(:user) diff --git a/spec/services/projects/fetch_statistics_increment_service_spec.rb b/spec/services/projects/fetch_statistics_increment_service_spec.rb index 9e24e68fa98..5ad91e142a0 100644 --- a/spec/services/projects/fetch_statistics_increment_service_spec.rb +++ b/spec/services/projects/fetch_statistics_increment_service_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' module Projects - RSpec.describe FetchStatisticsIncrementService, feature_category: :projects do + RSpec.describe FetchStatisticsIncrementService, feature_category: :groups_and_projects do let(:project) { create(:project) } describe '#execute' do diff --git a/spec/services/projects/group_links/create_service_spec.rb b/spec/services/projects/group_links/create_service_spec.rb index 4f2f480cf1c..ca2902af472 100644 --- a/spec/services/projects/group_links/create_service_spec.rb +++ b/spec/services/projects/group_links/create_service_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe Projects::GroupLinks::CreateService, '#execute', feature_category: :subgroups do +RSpec.describe Projects::GroupLinks::CreateService, '#execute', feature_category: :groups_and_projects do let_it_be(:user) { create :user } let_it_be(:group) { create :group } let_it_be(:project) { create(:project, namespace: create(:namespace, :with_namespace_settings)) } diff --git a/spec/services/projects/group_links/destroy_service_spec.rb b/spec/services/projects/group_links/destroy_service_spec.rb index 76bdd536a0d..103aff8c659 100644 --- a/spec/services/projects/group_links/destroy_service_spec.rb +++ b/spec/services/projects/group_links/destroy_service_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe Projects::GroupLinks::DestroyService, '#execute', feature_category: :subgroups do +RSpec.describe Projects::GroupLinks::DestroyService, '#execute', feature_category: :groups_and_projects do let_it_be(:user) { create :user } let_it_be(:project) { create(:project, :private) } let_it_be(:group) { create(:group) } diff --git a/spec/services/projects/group_links/update_service_spec.rb b/spec/services/projects/group_links/update_service_spec.rb index 4232412cf54..f7607deef04 100644 --- a/spec/services/projects/group_links/update_service_spec.rb +++ b/spec/services/projects/group_links/update_service_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe Projects::GroupLinks::UpdateService, '#execute', feature_category: :subgroups do +RSpec.describe Projects::GroupLinks::UpdateService, '#execute', feature_category: :groups_and_projects do let_it_be(:user) { create :user } let_it_be(:group) { create :group } let_it_be(:project) { create :project } diff --git a/spec/services/projects/hashed_storage/base_attachment_service_spec.rb b/spec/services/projects/hashed_storage/base_attachment_service_spec.rb index 01036fc2d9c..e32747ad907 100644 --- a/spec/services/projects/hashed_storage/base_attachment_service_spec.rb +++ b/spec/services/projects/hashed_storage/base_attachment_service_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe Projects::HashedStorage::BaseAttachmentService, feature_category: :projects do +RSpec.describe Projects::HashedStorage::BaseAttachmentService, feature_category: :groups_and_projects do let(:project) { create(:project, :repository, storage_version: 0, skip_disk_validation: true) } subject(:service) { described_class.new(project: project, old_disk_path: project.full_path, logger: nil) } diff --git a/spec/services/projects/hashed_storage/migrate_attachments_service_spec.rb b/spec/services/projects/hashed_storage/migrate_attachments_service_spec.rb index 39263506bca..6a87b2fafb9 100644 --- a/spec/services/projects/hashed_storage/migrate_attachments_service_spec.rb +++ b/spec/services/projects/hashed_storage/migrate_attachments_service_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe Projects::HashedStorage::MigrateAttachmentsService, feature_category: :projects do +RSpec.describe Projects::HashedStorage::MigrateAttachmentsService, feature_category: :groups_and_projects do subject(:service) { described_class.new(project: project, old_disk_path: project.full_path, logger: nil) } let(:project) { create(:project, :repository, storage_version: 1, skip_disk_validation: true) } diff --git a/spec/services/projects/hashed_storage/migrate_repository_service_spec.rb b/spec/services/projects/hashed_storage/migrate_repository_service_spec.rb index bcc914e72b5..e21d8b6fa83 100644 --- a/spec/services/projects/hashed_storage/migrate_repository_service_spec.rb +++ b/spec/services/projects/hashed_storage/migrate_repository_service_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe Projects::HashedStorage::MigrateRepositoryService, feature_category: :projects do +RSpec.describe Projects::HashedStorage::MigrateRepositoryService, feature_category: :groups_and_projects do let(:gitlab_shell) { Gitlab::Shell.new } let(:project) { create(:project, :legacy_storage, :repository, :wiki_repo, :design_repo) } let(:legacy_storage) { Storage::LegacyProject.new(project) } diff --git a/spec/services/projects/hashed_storage/migration_service_spec.rb b/spec/services/projects/hashed_storage/migration_service_spec.rb index 89bc55dbaf6..ffbd5c2500a 100644 --- a/spec/services/projects/hashed_storage/migration_service_spec.rb +++ b/spec/services/projects/hashed_storage/migration_service_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe Projects::HashedStorage::MigrationService, feature_category: :projects do +RSpec.describe Projects::HashedStorage::MigrationService, feature_category: :groups_and_projects do let(:project) { create(:project, :empty_repo, :wiki_repo, :legacy_storage) } let(:logger) { double } let!(:project_attachment) { build(:file_uploader, project: project) } diff --git a/spec/services/projects/hashed_storage/rollback_attachments_service_spec.rb b/spec/services/projects/hashed_storage/rollback_attachments_service_spec.rb index 95491d63df2..d1a68503fa3 100644 --- a/spec/services/projects/hashed_storage/rollback_attachments_service_spec.rb +++ b/spec/services/projects/hashed_storage/rollback_attachments_service_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe Projects::HashedStorage::RollbackAttachmentsService, feature_category: :projects do +RSpec.describe Projects::HashedStorage::RollbackAttachmentsService, feature_category: :groups_and_projects do subject(:service) { described_class.new(project: project, old_disk_path: project.disk_path, logger: nil) } let(:project) { create(:project, :repository, skip_disk_validation: true) } diff --git a/spec/services/projects/hashed_storage/rollback_repository_service_spec.rb b/spec/services/projects/hashed_storage/rollback_repository_service_spec.rb index 19f1856e39a..1e5d4ae4d20 100644 --- a/spec/services/projects/hashed_storage/rollback_repository_service_spec.rb +++ b/spec/services/projects/hashed_storage/rollback_repository_service_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe Projects::HashedStorage::RollbackRepositoryService, :clean_gitlab_redis_shared_state, feature_category: :projects do +RSpec.describe Projects::HashedStorage::RollbackRepositoryService, :clean_gitlab_redis_shared_state, feature_category: :groups_and_projects do let(:gitlab_shell) { Gitlab::Shell.new } let(:project) { create(:project, :repository, :wiki_repo, :design_repo, storage_version: ::Project::HASHED_STORAGE_FEATURES[:repository]) } let(:legacy_storage) { Storage::LegacyProject.new(project) } diff --git a/spec/services/projects/hashed_storage/rollback_service_spec.rb b/spec/services/projects/hashed_storage/rollback_service_spec.rb index 6d047f856ec..088eb9d2734 100644 --- a/spec/services/projects/hashed_storage/rollback_service_spec.rb +++ b/spec/services/projects/hashed_storage/rollback_service_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe Projects::HashedStorage::RollbackService, feature_category: :projects do +RSpec.describe Projects::HashedStorage::RollbackService, feature_category: :groups_and_projects do let(:project) { create(:project, :empty_repo, :wiki_repo) } let(:logger) { double } let!(:project_attachment) { build(:file_uploader, project: project) } diff --git a/spec/services/projects/move_access_service_spec.rb b/spec/services/projects/move_access_service_spec.rb index b9244002f6c..a6407ddc849 100644 --- a/spec/services/projects/move_access_service_spec.rb +++ b/spec/services/projects/move_access_service_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe Projects::MoveAccessService, feature_category: :projects do +RSpec.describe Projects::MoveAccessService, feature_category: :groups_and_projects do let(:user) { create(:user) } let(:group) { create(:group) } let(:project_with_access) { create(:project, namespace: user.namespace) } diff --git a/spec/services/projects/move_notification_settings_service_spec.rb b/spec/services/projects/move_notification_settings_service_spec.rb index 5ef6e8a0647..e9b523f6273 100644 --- a/spec/services/projects/move_notification_settings_service_spec.rb +++ b/spec/services/projects/move_notification_settings_service_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe Projects::MoveNotificationSettingsService, feature_category: :projects do +RSpec.describe Projects::MoveNotificationSettingsService, feature_category: :groups_and_projects do let(:user) { create(:user) } let(:project_with_notifications) { create(:project, namespace: user.namespace) } let(:target_project) { create(:project, namespace: user.namespace) } diff --git a/spec/services/projects/move_project_authorizations_service_spec.rb b/spec/services/projects/move_project_authorizations_service_spec.rb index 6cd0b056325..c01a0b2c90e 100644 --- a/spec/services/projects/move_project_authorizations_service_spec.rb +++ b/spec/services/projects/move_project_authorizations_service_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe Projects::MoveProjectAuthorizationsService, feature_category: :projects do +RSpec.describe Projects::MoveProjectAuthorizationsService, feature_category: :groups_and_projects do let!(:user) { create(:user) } let(:project_with_users) { create(:project, namespace: user.namespace) } let(:target_project) { create(:project, namespace: user.namespace) } diff --git a/spec/services/projects/move_project_group_links_service_spec.rb b/spec/services/projects/move_project_group_links_service_spec.rb index cfd4b51b001..6d6a8b402de 100644 --- a/spec/services/projects/move_project_group_links_service_spec.rb +++ b/spec/services/projects/move_project_group_links_service_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe Projects::MoveProjectGroupLinksService, feature_category: :projects do +RSpec.describe Projects::MoveProjectGroupLinksService, feature_category: :groups_and_projects do let!(:user) { create(:user) } let(:project_with_groups) { create(:project, namespace: user.namespace) } let(:target_project) { create(:project, namespace: user.namespace) } diff --git a/spec/services/projects/move_project_members_service_spec.rb b/spec/services/projects/move_project_members_service_spec.rb index 364fb7faaf2..d8330863405 100644 --- a/spec/services/projects/move_project_members_service_spec.rb +++ b/spec/services/projects/move_project_members_service_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe Projects::MoveProjectMembersService, feature_category: :projects do +RSpec.describe Projects::MoveProjectMembersService, feature_category: :groups_and_projects do let!(:user) { create(:user) } let(:project_with_users) { create(:project, namespace: user.namespace) } let(:target_project) { create(:project, namespace: user.namespace) } diff --git a/spec/services/projects/move_users_star_projects_service_spec.rb b/spec/services/projects/move_users_star_projects_service_spec.rb index b99e51d954b..6a01896bd58 100644 --- a/spec/services/projects/move_users_star_projects_service_spec.rb +++ b/spec/services/projects/move_users_star_projects_service_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe Projects::MoveUsersStarProjectsService, feature_category: :projects do +RSpec.describe Projects::MoveUsersStarProjectsService, feature_category: :groups_and_projects do let!(:user) { create(:user) } let!(:project_with_stars) { create(:project, namespace: user.namespace) } let!(:target_project) { create(:project, namespace: user.namespace) } diff --git a/spec/services/projects/operations/update_service_spec.rb b/spec/services/projects/operations/update_service_spec.rb index 7babaf4d0d8..da45d3c8ebc 100644 --- a/spec/services/projects/operations/update_service_spec.rb +++ b/spec/services/projects/operations/update_service_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe Projects::Operations::UpdateService, feature_category: :projects do +RSpec.describe Projects::Operations::UpdateService, feature_category: :groups_and_projects do let_it_be_with_refind(:project) { create(:project) } let_it_be(:user) { create(:user) } diff --git a/spec/services/projects/overwrite_project_service_spec.rb b/spec/services/projects/overwrite_project_service_spec.rb index b4faf45a1cb..99be630d6f6 100644 --- a/spec/services/projects/overwrite_project_service_spec.rb +++ b/spec/services/projects/overwrite_project_service_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe Projects::OverwriteProjectService, feature_category: :projects do +RSpec.describe Projects::OverwriteProjectService, feature_category: :groups_and_projects do include ProjectForksHelper let(:user) { create(:user) } diff --git a/spec/services/projects/participants_service_spec.rb b/spec/services/projects/participants_service_spec.rb index bd297343879..8c0f68dee4c 100644 --- a/spec/services/projects/participants_service_spec.rb +++ b/spec/services/projects/participants_service_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe Projects::ParticipantsService, feature_category: :projects do +RSpec.describe Projects::ParticipantsService, feature_category: :groups_and_projects do describe '#execute' do let_it_be(:user) { create(:user) } let_it_be(:project) { create(:project, :public) } diff --git a/spec/services/projects/readme_renderer_service_spec.rb b/spec/services/projects/readme_renderer_service_spec.rb index 842d75e82ee..4d599a26c22 100644 --- a/spec/services/projects/readme_renderer_service_spec.rb +++ b/spec/services/projects/readme_renderer_service_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe Projects::ReadmeRendererService, '#execute', feature_category: :projects do +RSpec.describe Projects::ReadmeRendererService, '#execute', feature_category: :groups_and_projects do using RSpec::Parameterized::TableSyntax subject(:service) { described_class.new(project, nil, opts) } diff --git a/spec/services/projects/record_target_platforms_service_spec.rb b/spec/services/projects/record_target_platforms_service_spec.rb index 17aa7fd7009..7c6907c7a95 100644 --- a/spec/services/projects/record_target_platforms_service_spec.rb +++ b/spec/services/projects/record_target_platforms_service_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe Projects::RecordTargetPlatformsService, '#execute', feature_category: :projects do +RSpec.describe Projects::RecordTargetPlatformsService, '#execute', feature_category: :groups_and_projects do let_it_be(:project) { create(:project) } let(:detector_service) { Projects::AppleTargetPlatformDetectorService } diff --git a/spec/services/projects/transfer_service_spec.rb b/spec/services/projects/transfer_service_spec.rb index 37adc9e4867..46fe7d7bbbe 100644 --- a/spec/services/projects/transfer_service_spec.rb +++ b/spec/services/projects/transfer_service_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe Projects::TransferService, feature_category: :projects do +RSpec.describe Projects::TransferService, feature_category: :groups_and_projects do let_it_be(:group) { create(:group) } let_it_be(:user) { create(:user) } let_it_be(:group_integration) { create(:integrations_slack, :group, group: group, webhook: 'http://group.slack.com') } diff --git a/spec/services/projects/update_service_spec.rb b/spec/services/projects/update_service_spec.rb index 8f55ee705ab..badbc8b628e 100644 --- a/spec/services/projects/update_service_spec.rb +++ b/spec/services/projects/update_service_spec.rb @@ -1,7 +1,7 @@ # frozen_string_literal: true require 'spec_helper' -RSpec.describe Projects::UpdateService, feature_category: :projects do +RSpec.describe Projects::UpdateService, feature_category: :groups_and_projects do include ExternalAuthorizationServiceHelpers include ProjectForksHelper diff --git a/spec/services/projects/update_statistics_service_spec.rb b/spec/services/projects/update_statistics_service_spec.rb index f685b86acc0..762378c93ec 100644 --- a/spec/services/projects/update_statistics_service_spec.rb +++ b/spec/services/projects/update_statistics_service_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe Projects::UpdateStatisticsService, feature_category: :projects do +RSpec.describe Projects::UpdateStatisticsService, feature_category: :groups_and_projects do using RSpec::Parameterized::TableSyntax let(:service) { described_class.new(project, nil, statistics: statistics) } diff --git a/spec/services/reset_project_cache_service_spec.rb b/spec/services/reset_project_cache_service_spec.rb index 6ae516a5f07..6540b93bcc5 100644 --- a/spec/services/reset_project_cache_service_spec.rb +++ b/spec/services/reset_project_cache_service_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe ResetProjectCacheService, feature_category: :projects do +RSpec.describe ResetProjectCacheService, feature_category: :groups_and_projects do let(:project) { create(:project) } let(:user) { create(:user) } diff --git a/spec/services/system_notes/alert_management_service_spec.rb b/spec/services/system_notes/alert_management_service_spec.rb index 4d40a6a6cfd..1e3be24b05f 100644 --- a/spec/services/system_notes/alert_management_service_spec.rb +++ b/spec/services/system_notes/alert_management_service_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe ::SystemNotes::AlertManagementService, feature_category: :projects do +RSpec.describe ::SystemNotes::AlertManagementService, feature_category: :groups_and_projects do let_it_be(:author) { create(:user) } let_it_be(:project) { create(:project, :repository) } let_it_be(:noteable) { create(:alert_management_alert, :with_incident, :acknowledged, project: project) } diff --git a/spec/services/system_notes/base_service_spec.rb b/spec/services/system_notes/base_service_spec.rb index 6ea4751b613..5c0ecf71d01 100644 --- a/spec/services/system_notes/base_service_spec.rb +++ b/spec/services/system_notes/base_service_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe SystemNotes::BaseService, feature_category: :projects do +RSpec.describe SystemNotes::BaseService, feature_category: :groups_and_projects do let(:noteable) { double } let(:project) { double } let(:author) { double } diff --git a/spec/support/shared_contexts/requests/api/debian_repository_shared_context.rb b/spec/support/shared_contexts/requests/api/debian_repository_shared_context.rb index ad64e4d5be5..70c3ee48345 100644 --- a/spec/support/shared_contexts/requests/api/debian_repository_shared_context.rb +++ b/spec/support/shared_contexts/requests/api/debian_repository_shared_context.rb @@ -50,8 +50,8 @@ RSpec.shared_context 'Debian repository shared context' do |container_type, can_ let_it_be(:public_project_distribution) { public_distribution } end - let_it_be(:private_package) { create(:debian_package, project: private_project, published_in: private_project_distribution) } - let_it_be(:public_package) { create(:debian_package, project: public_project, published_in: public_project_distribution) } + let_it_be(:private_package) { create(:debian_package, project: private_project, published_in: private_project_distribution, with_changes_file: true) } + let_it_be(:public_package) { create(:debian_package, project: public_project, published_in: public_project_distribution, with_changes_file: true) } let(:visibility_level) { :public } diff --git a/spec/support/shared_examples/requests/api/debian_packages_shared_examples.rb b/spec/support/shared_examples/requests/api/debian_packages_shared_examples.rb index bc7ad570441..5cb6c3d310f 100644 --- a/spec/support/shared_examples/requests/api/debian_packages_shared_examples.rb +++ b/spec/support/shared_examples/requests/api/debian_packages_shared_examples.rb @@ -20,17 +20,11 @@ RSpec.shared_examples 'Debian packages upload request' do |status, body = nil| if status == :created it 'creates package files', :aggregate_failures do expect(::Packages::Debian::CreatePackageFileService).to receive(:new).with(package: be_a(Packages::Package), current_user: be_an(User), params: be_an(Hash)).and_call_original + expect(::Packages::Debian::ProcessChangesWorker).not_to receive(:perform_async) - if file_name.end_with? '.changes' - expect(::Packages::Debian::ProcessChangesWorker).to receive(:perform_async) - else - expect(::Packages::Debian::ProcessChangesWorker).not_to receive(:perform_async) - end - - if extra_params[:distribution] + if extra_params[:distribution] || file_name.end_with?('.changes') expect(::Packages::Debian::FindOrCreateIncomingService).not_to receive(:new) - expect(::Packages::Debian::ProcessPackageFileWorker).to receive(:perform_async) - + expect(::Packages::Debian::ProcessPackageFileWorker).to receive(:perform_async).with(be_a(Integer), extra_params[:distribution], extra_params[:component]) expect { subject } .to change { container.packages.debian.count }.by(1) .and not_change { container.packages.debian.where(name: 'incoming').count } diff --git a/spec/tasks/gitlab/seed/group_seed_rake_spec.rb b/spec/tasks/gitlab/seed/group_seed_rake_spec.rb index 43351031414..85d81103000 100644 --- a/spec/tasks/gitlab/seed/group_seed_rake_spec.rb +++ b/spec/tasks/gitlab/seed/group_seed_rake_spec.rb @@ -2,7 +2,7 @@ require 'rake_helper' -RSpec.describe 'gitlab:seed:group_seed rake task', :silence_stdout, feature_category: :subgroups do +RSpec.describe 'gitlab:seed:group_seed rake task', :silence_stdout, feature_category: :groups_and_projects do let(:username) { 'group_seed' } let!(:user) { create(:user, username: username) } let(:task_params) { [2, username] } diff --git a/spec/views/admin/application_settings/network.html.haml_spec.rb b/spec/views/admin/application_settings/network.html.haml_spec.rb index 17515dbcc2c..989977bac3e 100644 --- a/spec/views/admin/application_settings/network.html.haml_spec.rb +++ b/spec/views/admin/application_settings/network.html.haml_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'admin/application_settings/network.html.haml', feature_category: :projects do +RSpec.describe 'admin/application_settings/network.html.haml', feature_category: :groups_and_projects do let_it_be(:admin) { build_stubbed(:admin) } let_it_be(:application_setting) { build(:application_setting) } diff --git a/spec/views/admin/groups/_form.html.haml_spec.rb b/spec/views/admin/groups/_form.html.haml_spec.rb index 87929571a84..34b09a97ccc 100644 --- a/spec/views/admin/groups/_form.html.haml_spec.rb +++ b/spec/views/admin/groups/_form.html.haml_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'admin/groups/_form', feature_category: :subgroups do +RSpec.describe 'admin/groups/_form', feature_category: :groups_and_projects do using RSpec::Parameterized::TableSyntax let_it_be(:admin) { build(:user, :admin) } diff --git a/spec/views/admin/projects/_form.html.haml_spec.rb b/spec/views/admin/projects/_form.html.haml_spec.rb index d36b32a1cbc..5bd73c064d5 100644 --- a/spec/views/admin/projects/_form.html.haml_spec.rb +++ b/spec/views/admin/projects/_form.html.haml_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'admin/projects/_form', feature_category: :projects do +RSpec.describe 'admin/projects/_form', feature_category: :groups_and_projects do using RSpec::Parameterized::TableSyntax let_it_be(:admin) { build_stubbed(:admin) } diff --git a/spec/views/explore/projects/page_out_of_bounds.html.haml_spec.rb b/spec/views/explore/projects/page_out_of_bounds.html.haml_spec.rb index 1ace28be5b4..36f00ea5393 100644 --- a/spec/views/explore/projects/page_out_of_bounds.html.haml_spec.rb +++ b/spec/views/explore/projects/page_out_of_bounds.html.haml_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'explore/projects/page_out_of_bounds.html.haml', feature_category: :projects do +RSpec.describe 'explore/projects/page_out_of_bounds.html.haml', feature_category: :groups_and_projects do let(:page_limit) { 10 } let(:unsafe_param) { 'hacked_using_unsafe_param!' } diff --git a/spec/views/groups/edit.html.haml_spec.rb b/spec/views/groups/edit.html.haml_spec.rb index 1400791f12b..f33a4190bf8 100644 --- a/spec/views/groups/edit.html.haml_spec.rb +++ b/spec/views/groups/edit.html.haml_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'groups/edit.html.haml', feature_category: :subgroups do +RSpec.describe 'groups/edit.html.haml', feature_category: :groups_and_projects do include Devise::Test::ControllerHelpers before do diff --git a/spec/views/groups/group_members/index.html.haml_spec.rb b/spec/views/groups/group_members/index.html.haml_spec.rb index fdc6b09d32a..d7d381ba82b 100644 --- a/spec/views/groups/group_members/index.html.haml_spec.rb +++ b/spec/views/groups/group_members/index.html.haml_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'groups/group_members/index', :aggregate_failures, feature_category: :subgroups do +RSpec.describe 'groups/group_members/index', :aggregate_failures, feature_category: :groups_and_projects do let_it_be(:user) { create(:user) } # rubocop:todo RSpec/FactoryBot/AvoidCreate let_it_be(:group) { create(:group) } # rubocop:todo RSpec/FactoryBot/AvoidCreate diff --git a/spec/views/groups/settings/_general.html.haml_spec.rb b/spec/views/groups/settings/_general.html.haml_spec.rb index 9f16e43be13..13503556046 100644 --- a/spec/views/groups/settings/_general.html.haml_spec.rb +++ b/spec/views/groups/settings/_general.html.haml_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'groups/settings/_general.html.haml', feature_category: :subgroups do +RSpec.describe 'groups/settings/_general.html.haml', feature_category: :groups_and_projects do describe 'Group Settings README' do let_it_be(:group) { build_stubbed(:group) } let_it_be(:user) { build_stubbed(:admin) } diff --git a/spec/views/groups/show.html.haml_spec.rb b/spec/views/groups/show.html.haml_spec.rb index ac687f68ef6..c4142f4a245 100644 --- a/spec/views/groups/show.html.haml_spec.rb +++ b/spec/views/groups/show.html.haml_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'groups/show', feature_category: :subgroups do +RSpec.describe 'groups/show', feature_category: :groups_and_projects do describe 'group README' do let_it_be(:group) { build_stubbed(:group) } let_it_be(:readme_project) { build_stubbed(:project, :readme) } diff --git a/spec/views/layouts/group.html.haml_spec.rb b/spec/views/layouts/group.html.haml_spec.rb index 0b8f735a1d6..d1f262cda1f 100644 --- a/spec/views/layouts/group.html.haml_spec.rb +++ b/spec/views/layouts/group.html.haml_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'layouts/group', feature_category: :subgroups do +RSpec.describe 'layouts/group', feature_category: :groups_and_projects do let_it_be(:group) { create(:group) } # rubocop:todo RSpec/FactoryBot/AvoidCreate let(:invite_member) { true } diff --git a/spec/views/layouts/project.html.haml_spec.rb b/spec/views/layouts/project.html.haml_spec.rb index 588828f7bd6..d19c600d9f2 100644 --- a/spec/views/layouts/project.html.haml_spec.rb +++ b/spec/views/layouts/project.html.haml_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'layouts/project', feature_category: :projects do +RSpec.describe 'layouts/project', feature_category: :groups_and_projects do let(:invite_member) { true } before do diff --git a/spec/views/projects/_files.html.haml_spec.rb b/spec/views/projects/_files.html.haml_spec.rb index 618a0948739..96c6c2bdfab 100644 --- a/spec/views/projects/_files.html.haml_spec.rb +++ b/spec/views/projects/_files.html.haml_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'projects/_files', feature_category: :projects do +RSpec.describe 'projects/_files', feature_category: :groups_and_projects do let_it_be(:template) { 'projects/files' } let_it_be(:namespace) { build_stubbed(:namespace) } let_it_be(:user) { build_stubbed(:user, namespace: namespace) } diff --git a/spec/views/projects/project_members/index.html.haml_spec.rb b/spec/views/projects/project_members/index.html.haml_spec.rb index 2fcc5c6935b..7a32a8562e0 100644 --- a/spec/views/projects/project_members/index.html.haml_spec.rb +++ b/spec/views/projects/project_members/index.html.haml_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'projects/project_members/index', :aggregate_failures, feature_category: :projects do +RSpec.describe 'projects/project_members/index', :aggregate_failures, feature_category: :groups_and_projects do let_it_be(:user) { create(:user) } # rubocop:todo RSpec/FactoryBot/AvoidCreate let_it_be(:project) { create(:project, :empty_repo, :with_namespace_settings).present(current_user: user) } # rubocop:todo RSpec/FactoryBot/AvoidCreate diff --git a/spec/workers/ci/pending_builds/update_group_worker_spec.rb b/spec/workers/ci/pending_builds/update_group_worker_spec.rb index c16262c0502..bd278f4c923 100644 --- a/spec/workers/ci/pending_builds/update_group_worker_spec.rb +++ b/spec/workers/ci/pending_builds/update_group_worker_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe Ci::PendingBuilds::UpdateGroupWorker, feature_category: :subgroups do +RSpec.describe Ci::PendingBuilds::UpdateGroupWorker, feature_category: :groups_and_projects do describe '#perform' do let(:worker) { described_class.new } diff --git a/spec/workers/ci/pending_builds/update_project_worker_spec.rb b/spec/workers/ci/pending_builds/update_project_worker_spec.rb index 281b4fb920b..d50209fba90 100644 --- a/spec/workers/ci/pending_builds/update_project_worker_spec.rb +++ b/spec/workers/ci/pending_builds/update_project_worker_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe Ci::PendingBuilds::UpdateProjectWorker, feature_category: :projects do +RSpec.describe Ci::PendingBuilds::UpdateProjectWorker, feature_category: :groups_and_projects do describe '#perform' do let(:worker) { described_class.new } diff --git a/spec/workers/disallow_two_factor_for_group_worker_spec.rb b/spec/workers/disallow_two_factor_for_group_worker_spec.rb index c732f8a3d00..a7a5a4ae279 100644 --- a/spec/workers/disallow_two_factor_for_group_worker_spec.rb +++ b/spec/workers/disallow_two_factor_for_group_worker_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe DisallowTwoFactorForGroupWorker, feature_category: :subgroups do +RSpec.describe DisallowTwoFactorForGroupWorker, feature_category: :groups_and_projects do let_it_be(:group) { create(:group, require_two_factor_authentication: true) } let_it_be(:user) { create(:user, require_two_factor_authentication_from_group: true) } diff --git a/spec/workers/disallow_two_factor_for_subgroups_worker_spec.rb b/spec/workers/disallow_two_factor_for_subgroups_worker_spec.rb index 7584355deab..e5871ba8c21 100644 --- a/spec/workers/disallow_two_factor_for_subgroups_worker_spec.rb +++ b/spec/workers/disallow_two_factor_for_subgroups_worker_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe DisallowTwoFactorForSubgroupsWorker, feature_category: :subgroups do +RSpec.describe DisallowTwoFactorForSubgroupsWorker, feature_category: :groups_and_projects do let_it_be(:group) { create(:group) } let_it_be(:subgroup_with_2fa) { create(:group, parent: group, require_two_factor_authentication: true) } let_it_be(:subgroup_without_2fa) { create(:group, parent: group, require_two_factor_authentication: false) } diff --git a/spec/workers/group_destroy_worker_spec.rb b/spec/workers/group_destroy_worker_spec.rb index fba4573718a..1bb2959f980 100644 --- a/spec/workers/group_destroy_worker_spec.rb +++ b/spec/workers/group_destroy_worker_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe GroupDestroyWorker, feature_category: :subgroups do +RSpec.describe GroupDestroyWorker, feature_category: :groups_and_projects do let_it_be(:group) { create(:group) } let_it_be(:project) { create(:project, namespace: group) } let_it_be(:user) { create(:user) } diff --git a/spec/workers/member_invitation_reminder_emails_worker_spec.rb b/spec/workers/member_invitation_reminder_emails_worker_spec.rb index 4c6295285ea..0a58939c0f5 100644 --- a/spec/workers/member_invitation_reminder_emails_worker_spec.rb +++ b/spec/workers/member_invitation_reminder_emails_worker_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe MemberInvitationReminderEmailsWorker, feature_category: :subgroups do +RSpec.describe MemberInvitationReminderEmailsWorker, feature_category: :groups_and_projects do describe '#perform' do subject { described_class.new.perform } diff --git a/spec/workers/packages/debian/process_changes_worker_spec.rb b/spec/workers/packages/debian/process_changes_worker_spec.rb index ddd608e768c..435ca33b223 100644 --- a/spec/workers/packages/debian/process_changes_worker_spec.rb +++ b/spec/workers/packages/debian/process_changes_worker_spec.rb @@ -8,7 +8,7 @@ RSpec.describe Packages::Debian::ProcessChangesWorker, type: :worker, feature_ca create(:debian_project_distribution, :with_file, codename: FFaker::Lorem.word, suite: 'unstable') end - let(:incoming) { create(:debian_incoming, project: distribution.project) } + let(:incoming) { create(:debian_incoming, project: distribution.project, with_changes_file: true) } let(:package_file) { incoming.package_files.with_file_name('sample_1.2.3~alpha2_amd64.changes').first } let(:worker) { described_class.new } diff --git a/spec/workers/packages/debian/process_package_file_worker_spec.rb b/spec/workers/packages/debian/process_package_file_worker_spec.rb index 6010f4eac27..1ef3119ecd3 100644 --- a/spec/workers/packages/debian/process_package_file_worker_spec.rb +++ b/spec/workers/packages/debian/process_package_file_worker_spec.rb @@ -3,119 +3,147 @@ require 'spec_helper' RSpec.describe Packages::Debian::ProcessPackageFileWorker, type: :worker, feature_category: :package_registry do - let_it_be_with_reload(:distribution) { create(:debian_project_distribution, :with_file) } - let_it_be_with_reload(:package) do - create(:debian_package, :processing, project: distribution.project, published_in: nil) + shared_examples 'returns early without error' do + it 'returns early without error' do + expect(Gitlab::ErrorTracking).not_to receive(:log_exception) + expect(::Packages::Debian::ProcessPackageFileService).not_to receive(:new) + + subject + end end - let(:distribution_name) { distribution.codename } - let(:debian_file_metadatum) { package_file.debian_file_metadatum } - let(:worker) { described_class.new } + let_it_be_with_reload(:distribution) { create(:debian_project_distribution, :with_file) } + let_it_be_with_reload(:incoming) { create(:debian_incoming, project: distribution.project) } + let_it_be_with_reload(:temp_with_changes) { create(:debian_temporary_with_changes, project: distribution.project) } + let_it_be_with_reload(:temp_with_files) { create(:debian_temporary_with_files, project: distribution.project) } describe '#perform' do + let(:package) { temp_with_files } + let(:package_file) { package.package_files.with_file_name('libsample0_1.2.3~alpha2_amd64.deb').first } + let(:debian_file_metadatum) { package_file.debian_file_metadatum } + let(:worker) { described_class.new } + let(:package_file_id) { package_file.id } + let(:distribution_name) { distribution.codename } + let(:component_name) { 'main' } subject { worker.perform(package_file_id, distribution_name, component_name) } - shared_examples 'returns early without error' do - it 'returns early without error' do - expect(Gitlab::ErrorTracking).not_to receive(:log_exception) - expect(::Packages::Debian::ProcessPackageFileService).not_to receive(:new) + context 'with non existing package file' do + let(:package_file_id) { non_existing_record_id } - subject - end + it_behaves_like 'returns early without error' end - using RSpec::Parameterized::TableSyntax + context 'with nil package file id' do + let(:package_file_id) { nil } - where(:case_name, :expected_file_type, :file_name, :component_name) do - 'with a deb' | 'deb' | 'libsample0_1.2.3~alpha2_amd64.deb' | 'main' - 'with an udeb' | 'udeb' | 'sample-udeb_1.2.3~alpha2_amd64.udeb' | 'contrib' - 'with a ddeb' | 'ddeb' | 'sample-ddeb_1.2.3~alpha2_amd64.ddeb' | 'main' + it_behaves_like 'returns early without error' end - with_them do - context 'with Debian package file' do - let(:package_file) { package.package_files.with_file_name(file_name).first } - - context 'with mocked service' do - it 'calls ProcessPackageFileService' do - expect(Gitlab::ErrorTracking).not_to receive(:log_exception) - expect_next_instance_of(::Packages::Debian::ProcessPackageFileService) do |service| - expect(service).to receive(:execute) - .with(no_args) - end - - subject - end - end + context 'with already processed package file' do + let_it_be(:package_file) { create(:debian_package_file) } - context 'when the service raises an error' do - let(:package_file) { package.package_files.with_file_name('sample_1.2.3~alpha2.tar.xz').first } - - it 'marks the package as errored', :aggregate_failures do - expect(Gitlab::ErrorTracking).to receive(:log_exception).with( - instance_of(ArgumentError), - package_file_id: package_file_id, - distribution_name: distribution_name, - component_name: component_name - ) - expect { subject } - .to not_change(Packages::Package, :count) - .and not_change { Packages::PackageFile.count } - .and not_change { package.package_files.count } - .and change { package_file.reload.status }.to('error') - .and change { package.reload.status }.from('processing').to('error') - end - end + it_behaves_like 'returns early without error' + end - it_behaves_like 'an idempotent worker' do - let(:job_args) { [package_file.id, distribution_name, component_name] } - - it 'sets the Debian file type as deb', :aggregate_failures do - expect(::Packages::Debian::GenerateDistributionWorker) - .to receive(:perform_async).with(:project, distribution.id) - expect(Gitlab::ErrorTracking).not_to receive(:log_exception) - - # Using subject inside this block will process the job multiple times - expect { subject } - .to not_change(Packages::Package, :count) - .and not_change(Packages::PackageFile, :count) - .and change { Packages::Debian::Publication.count }.by(1) - .and not_change(package.package_files, :count) - .and change { package.reload.name }.to('sample') - .and change { package.version }.to('1.2.3~alpha2') - .and change { package.status }.from('processing').to('default') - .and change { package.debian_publication }.from(nil) - .and change { debian_file_metadatum.reload.file_type }.from('unknown').to(expected_file_type) - .and change { debian_file_metadatum.component }.from(nil).to(component_name) - end + context 'with mocked service' do + it 'calls ProcessPackageFileService' do + expect(Gitlab::ErrorTracking).not_to receive(:log_exception) + expect_next_instance_of(::Packages::Debian::ProcessPackageFileService) do |service| + expect(service).to receive(:execute) + .with(no_args) end + + subject end end - context 'with already processed package file' do - let_it_be(:package_file) { create(:debian_package_file) } - - let(:component_name) { 'main' } - - it_behaves_like 'returns early without error' + context 'when the service raises an error' do + let(:package_file) { package.package_files.with_file_name('sample_1.2.3~alpha2.tar.xz').first } + + it 'marks the package as errored', :aggregate_failures do + expect(Gitlab::ErrorTracking).to receive(:log_exception).with( + instance_of(ArgumentError), + package_file_id: package_file_id, + distribution_name: distribution_name, + component_name: component_name + ) + expect { subject } + .to not_change(Packages::Package, :count) + .and not_change { Packages::PackageFile.count } + .and not_change { package.package_files.count } + .and change { package_file.reload.status }.to('error') + .and change { package.reload.status }.from('processing').to('error') + end end - context 'with a deb' do - let(:package_file) { package.package_files.with_file_name('libsample0_1.2.3~alpha2_amd64.deb').first } - let(:component_name) { 'main' } + context 'with a Debian changes file' do + let(:package) { temp_with_changes } + let(:package_file) { package.package_files.first } + let(:distribution_name) { nil } + let(:component_name) { nil } - context 'with non existing package file' do - let(:package_file_id) { non_existing_record_id } + before do + distribution.update! suite: 'unstable' + end - it_behaves_like 'returns early without error' + it_behaves_like 'an idempotent worker' do + let(:job_args) { [package_file.id, distribution_name, component_name] } + + it 'sets the Debian file type to changes', :aggregate_failures do + expect(::Packages::Debian::GenerateDistributionWorker) + .to receive(:perform_async).with(:project, distribution.id) + expect(Gitlab::ErrorTracking).not_to receive(:log_exception) + + # Using subject inside this block will process the job multiple times + expect { subject } + .to not_change(Packages::Package, :count) + .and not_change(Packages::PackageFile, :count) + .and change { Packages::Debian::Publication.count }.by(1) + .and change { package.package_files.count }.from(1).to(8) + .and change { package.reload.name }.to('sample') + .and change { package.version }.to('1.2.3~alpha2') + .and change { package.status }.from('processing').to('default') + .and change { package.debian_publication }.from(nil) + .and change { debian_file_metadatum.reload.file_type }.from('unknown').to('changes') + .and not_change { debian_file_metadatum.component } + end end + end + + using RSpec::Parameterized::TableSyntax - context 'with nil package file id' do - let(:package_file_id) { nil } + where(:case_name, :expected_file_type, :file_name, :component_name) do + 'with a deb' | 'deb' | 'libsample0_1.2.3~alpha2_amd64.deb' | 'main' + 'with an udeb' | 'udeb' | 'sample-udeb_1.2.3~alpha2_amd64.udeb' | 'contrib' + 'with a ddeb' | 'ddeb' | 'sample-ddeb_1.2.3~alpha2_amd64.ddeb' | 'main' + end - it_behaves_like 'returns early without error' + with_them do + let(:package_file) { package.package_files.with_file_name(file_name).first } + + it_behaves_like 'an idempotent worker' do + let(:job_args) { [package_file.id, distribution_name, component_name] } + + it 'sets the correct Debian file type', :aggregate_failures do + expect(::Packages::Debian::GenerateDistributionWorker) + .to receive(:perform_async).with(:project, distribution.id) + expect(Gitlab::ErrorTracking).not_to receive(:log_exception) + + # Using subject inside this block will process the job multiple times + expect { subject } + .to not_change(Packages::Package, :count) + .and not_change(Packages::PackageFile, :count) + .and change { Packages::Debian::Publication.count }.by(1) + .and not_change(package.package_files, :count) + .and change { package.reload.name }.to('sample') + .and change { package.version }.to('1.2.3~alpha2') + .and change { package.status }.from('processing').to('default') + .and change { package.debian_publication }.from(nil) + .and change { debian_file_metadatum.reload.file_type }.from('unknown').to(expected_file_type) + .and change { debian_file_metadatum.component }.from(nil).to(component_name) + end end end end diff --git a/spec/workers/projects/finalize_project_statistics_refresh_worker_spec.rb b/spec/workers/projects/finalize_project_statistics_refresh_worker_spec.rb index 1379b6785eb..da2d35e97d8 100644 --- a/spec/workers/projects/finalize_project_statistics_refresh_worker_spec.rb +++ b/spec/workers/projects/finalize_project_statistics_refresh_worker_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe Projects::FinalizeProjectStatisticsRefreshWorker, feature_category: :projects do +RSpec.describe Projects::FinalizeProjectStatisticsRefreshWorker, feature_category: :groups_and_projects do let_it_be(:record) { create(:project_build_artifacts_size_refresh, :finalizing) } describe '#perform' do diff --git a/spec/workers/projects/record_target_platforms_worker_spec.rb b/spec/workers/projects/record_target_platforms_worker_spec.rb index 0e106fe32f9..ecb6aab7349 100644 --- a/spec/workers/projects/record_target_platforms_worker_spec.rb +++ b/spec/workers/projects/record_target_platforms_worker_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe Projects::RecordTargetPlatformsWorker, feature_category: :projects do +RSpec.describe Projects::RecordTargetPlatformsWorker, feature_category: :groups_and_projects do include ExclusiveLeaseHelpers let_it_be(:swift) { create(:programming_language, name: 'Swift') } -- cgit v1.2.3