Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.rubocop_todo.yml309
-rw-r--r--app/assets/javascripts/error_tracking_settings/components/app.vue2
-rw-r--r--app/controllers/projects/releases_controller.rb2
-rw-r--r--app/finders/design_management/designs_finder.rb3
-rw-r--r--app/graphql/resolvers/design_management/designs_resolver.rb9
-rw-r--r--app/helpers/releases_helper.rb2
-rw-r--r--app/services/design_management/move_designs_service.rb10
-rw-r--r--changelogs/unreleased/err-tracking-save.yml5
-rw-r--r--changelogs/unreleased/nfriend-enable-new_release_page-feature-flag.yml5
-rw-r--r--spec/config/object_store_settings_spec.rb1
-rw-r--r--spec/controllers/boards/issues_controller_spec.rb8
-rw-r--r--spec/controllers/groups/milestones_controller_spec.rb1
-rw-r--r--spec/controllers/groups/settings/repository_controller_spec.rb1
-rw-r--r--spec/controllers/import/gitlab_controller_spec.rb1
-rw-r--r--spec/controllers/projects/forks_controller_spec.rb1
-rw-r--r--spec/controllers/projects/logs_controller_spec.rb1
-rw-r--r--spec/controllers/projects/notes_controller_spec.rb1
-rw-r--r--spec/controllers/projects/protected_branches_controller_spec.rb1
-rw-r--r--spec/controllers/projects/serverless/functions_controller_spec.rb1
-rw-r--r--spec/controllers/projects/settings/repository_controller_spec.rb1
-rw-r--r--spec/controllers/projects/variables_controller_spec.rb1
-rw-r--r--spec/controllers/repositories/git_http_controller_spec.rb1
-rw-r--r--spec/controllers/sent_notifications_controller_spec.rb1
-rw-r--r--spec/features/admin/admin_mode/login_spec.rb1
-rw-r--r--spec/features/atom/users_spec.rb3
-rw-r--r--spec/features/markdown/metrics_spec.rb1
-rw-r--r--spec/features/merge_request/user_comments_on_diff_spec.rb1
-rw-r--r--spec/features/merge_request/user_customizes_merge_commit_message_spec.rb2
-rw-r--r--spec/features/merge_request/user_merges_immediately_spec.rb1
-rw-r--r--spec/features/merge_request/user_merges_when_pipeline_succeeds_spec.rb2
-rw-r--r--spec/features/merge_request/user_posts_notes_spec.rb1
-rw-r--r--spec/features/merge_request/user_resolves_wip_mr_spec.rb1
-rw-r--r--spec/features/merge_request/user_sees_avatar_on_diff_notes_spec.rb1
-rw-r--r--spec/features/merge_request/user_sees_closing_issues_message_spec.rb1
-rw-r--r--spec/features/merge_request/user_sees_discussions_spec.rb1
-rw-r--r--spec/features/merge_request/user_sees_merge_request_pipelines_spec.rb1
-rw-r--r--spec/features/merge_request/user_sees_pipelines_from_forked_project_spec.rb1
-rw-r--r--spec/features/merge_request/user_sees_versions_spec.rb1
-rw-r--r--spec/features/merge_request/user_suggests_changes_on_diff_spec.rb1
-rw-r--r--spec/features/merge_request/user_tries_to_access_private_project_info_through_new_mr_spec.rb1
-rw-r--r--spec/features/merge_request/user_views_diffs_file_by_file_spec.rb1
-rw-r--r--spec/features/merge_request/user_views_diffs_spec.rb1
-rw-r--r--spec/features/merge_requests/user_views_diffs_commit_spec.rb1
-rw-r--r--spec/features/profiles/chat_names_spec.rb1
-rw-r--r--spec/features/projects/classification_label_on_project_pages_spec.rb1
-rw-r--r--spec/features/projects/commit/mini_pipeline_graph_spec.rb1
-rw-r--r--spec/features/projects/files/user_browses_files_spec.rb1
-rw-r--r--spec/features/projects/files/user_creates_directory_spec.rb1
-rw-r--r--spec/features/projects/files/user_creates_files_spec.rb1
-rw-r--r--spec/features/projects/files/user_deletes_files_spec.rb1
-rw-r--r--spec/features/projects/files/user_replaces_files_spec.rb1
-rw-r--r--spec/features/projects/import_export/export_file_spec.rb1
-rw-r--r--spec/features/projects/issues/viewing_issues_with_external_authorization_enabled_spec.rb6
-rw-r--r--spec/features/projects/pipelines/pipeline_spec.rb1
-rw-r--r--spec/features/projects/wiki/user_views_wiki_pages_spec.rb2
-rw-r--r--spec/finders/fork_targets_finder_spec.rb4
-rw-r--r--spec/frontend/fixtures/merge_requests.rb1
-rw-r--r--spec/graphql/features/authorization_spec.rb3
-rw-r--r--spec/graphql/mutations/issues/update_spec.rb1
-rw-r--r--spec/graphql/resolvers/commit_pipelines_resolver_spec.rb2
-rw-r--r--spec/graphql/types/design_management/design_at_version_type_spec.rb1
-rw-r--r--spec/graphql/types/snippet_type_spec.rb2
-rw-r--r--spec/helpers/blame_helper_spec.rb2
-rw-r--r--spec/helpers/groups_helper_spec.rb2
-rw-r--r--spec/helpers/namespaces_helper_spec.rb4
-rw-r--r--spec/lib/api/entities/nuget/dependency_group_spec.rb1
-rw-r--r--spec/lib/api/entities/nuget/dependency_spec.rb1
-rw-r--r--spec/lib/api/entities/nuget/metadatum_spec.rb2
-rw-r--r--spec/lib/api/entities/nuget/search_result_spec.rb1
-rw-r--r--spec/lib/banzai/filter/absolute_link_filter_spec.rb1
-rw-r--r--spec/lib/banzai/filter/merge_request_reference_filter_spec.rb1
-rw-r--r--spec/lib/banzai/issuable_extractor_spec.rb1
-rw-r--r--spec/lib/banzai/object_renderer_spec.rb1
-rw-r--r--spec/lib/banzai/pipeline/full_pipeline_spec.rb1
-rw-r--r--spec/lib/container_registry/client_spec.rb1
-rw-r--r--spec/lib/gitlab/alert_management/alert_params_spec.rb2
-rw-r--r--spec/lib/gitlab/application_rate_limiter_spec.rb1
-rw-r--r--spec/lib/gitlab/asciidoc/include_processor_spec.rb1
-rw-r--r--spec/lib/gitlab/asciidoc_spec.rb1
-rw-r--r--spec/lib/gitlab/auth/auth_finders_spec.rb1
-rw-r--r--spec/lib/gitlab/auth/ldap/user_spec.rb3
-rw-r--r--spec/lib/gitlab/auth/o_auth/auth_hash_spec.rb1
-rw-r--r--spec/lib/gitlab/auth/o_auth/user_spec.rb1
-rw-r--r--spec/lib/gitlab/auth/request_authenticator_spec.rb1
-rw-r--r--spec/lib/gitlab/auth/saml/user_spec.rb2
-rw-r--r--spec/lib/gitlab/auth_spec.rb1
-rw-r--r--spec/lib/gitlab/background_migration/backfill_snippet_repositories_spec.rb1
-rw-r--r--spec/lib/gitlab/background_migration/legacy_upload_mover_spec.rb1
-rw-r--r--spec/lib/gitlab/background_migration/migrate_issue_trackers_sensitive_data_spec.rb2
-rw-r--r--spec/lib/gitlab/background_migration_spec.rb1
-rw-r--r--spec/lib/gitlab/bitbucket_import/importer_spec.rb2
-rw-r--r--spec/lib/gitlab/ci/ansi2html_spec.rb1
-rw-r--r--spec/lib/gitlab/ci/config/entry/service_spec.rb1
-rw-r--r--spec/lib/gitlab/ci/config/external/file/local_spec.rb1
-rw-r--r--spec/lib/gitlab/ci/config/external/processor_spec.rb1
-rw-r--r--spec/lib/gitlab/ci/pipeline/chain/validate/repository_spec.rb1
-rw-r--r--spec/lib/gitlab/ci/reports/accessibility_reports_comparer_spec.rb1
-rw-r--r--spec/lib/gitlab/ci/yaml_processor_spec.rb4
-rw-r--r--spec/lib/gitlab/cleanup/remote_uploads_spec.rb1
-rw-r--r--spec/lib/gitlab/cross_project_access/class_methods_spec.rb1
-rw-r--r--spec/lib/gitlab/danger/commit_linter_spec.rb1
-rw-r--r--spec/lib/gitlab/danger/roulette_spec.rb7
-rw-r--r--spec/lib/gitlab/danger/teammate_spec.rb1
-rw-r--r--spec/lib/gitlab/database/count/tablesample_count_strategy_spec.rb1
-rw-r--r--spec/lib/gitlab/database/custom_structure_spec.rb1
-rw-r--r--spec/lib/gitlab/database/partitioning_migration_helpers/foreign_key_helpers_spec.rb1
-rw-r--r--spec/lib/gitlab/database/partitioning_migration_helpers/table_management_helpers_spec.rb1
-rw-r--r--spec/lib/gitlab/database/postgresql_adapter/force_disconnectable_mixin_spec.rb1
-rw-r--r--spec/lib/gitlab/diff/file_collection/commit_spec.rb1
-rw-r--r--spec/lib/gitlab/diff/file_collection/compare_spec.rb1
-rw-r--r--spec/lib/gitlab/diff/file_collection/merge_request_diff_spec.rb1
-rw-r--r--spec/lib/gitlab/diff/file_spec.rb2
-rw-r--r--spec/lib/gitlab/diff/position_collection_spec.rb2
-rw-r--r--spec/lib/gitlab/diff/suggestion_spec.rb2
-rw-r--r--spec/lib/gitlab/email/message/repository_push_spec.rb2
-rw-r--r--spec/lib/gitlab/encoding_helper_spec.rb1
-rw-r--r--spec/lib/gitlab/fogbugz_import/importer_spec.rb1
-rw-r--r--spec/lib/gitlab/git/branch_spec.rb1
-rw-r--r--spec/lib/gitlab/git/commit_spec.rb1
-rw-r--r--spec/lib/gitlab/git/conflict/parser_spec.rb3
-rw-r--r--spec/lib/gitlab/git/diff_spec.rb2
-rw-r--r--spec/lib/gitlab/git/patches/collection_spec.rb1
-rw-r--r--spec/lib/gitlab/git/patches/commit_patches_spec.rb1
-rw-r--r--spec/lib/gitlab/git/patches/patch_spec.rb1
-rw-r--r--spec/lib/gitlab/git/repository_spec.rb3
-rw-r--r--spec/lib/gitlab/gitaly_client/commit_service_spec.rb1
-rw-r--r--spec/lib/gitlab/gitaly_client/conflicts_service_spec.rb1
-rw-r--r--spec/lib/gitlab/gitaly_client/operation_service_spec.rb8
-rw-r--r--spec/lib/gitlab/gitaly_client/wiki_service_spec.rb2
-rw-r--r--spec/lib/gitlab/gitlab_import/project_creator_spec.rb1
-rw-r--r--spec/lib/gitlab/google_code_import/importer_spec.rb1
-rw-r--r--spec/lib/gitlab/google_code_import/project_creator_spec.rb1
-rw-r--r--spec/lib/gitlab/grape_logging/formatters/lograge_with_timestamp_spec.rb1
-rw-r--r--spec/lib/gitlab/graphql/authorize/authorize_resource_spec.rb1
-rw-r--r--spec/lib/gitlab/graphql/find_argument_in_parent_spec.rb1
-rw-r--r--spec/lib/gitlab/graphql/pagination/keyset/connection_spec.rb4
-rw-r--r--spec/lib/gitlab/hook_data/issuable_builder_spec.rb1
-rw-r--r--spec/lib/gitlab/import_export/base/object_builder_spec.rb1
-rw-r--r--spec/lib/gitlab/import_export/json/streaming_serializer_spec.rb1
-rw-r--r--spec/lib/gitlab/import_export/project/tree_restorer_spec.rb2
-rw-r--r--spec/lib/gitlab/import_export/project/tree_saver_spec.rb1
-rw-r--r--spec/lib/gitlab/incident_management/pager_duty/incident_issue_description_spec.rb2
-rw-r--r--spec/lib/gitlab/issuable_sorter_spec.rb1
-rw-r--r--spec/lib/gitlab/jira_import/issue_serializer_spec.rb1
-rw-r--r--spec/lib/gitlab/jira_import/metadata_collector_spec.rb2
-rw-r--r--spec/lib/gitlab/kubernetes/network_policy_spec.rb3
-rw-r--r--spec/lib/gitlab/language_detection_spec.rb1
-rw-r--r--spec/lib/gitlab/legacy_github_import/importer_spec.rb1
-rw-r--r--spec/lib/gitlab/legacy_github_import/issuable_formatter_spec.rb1
-rw-r--r--spec/lib/gitlab/legacy_github_import/milestone_formatter_spec.rb1
-rw-r--r--spec/lib/gitlab/lograge/custom_options_spec.rb1
-rw-r--r--spec/lib/gitlab/markdown_cache/redis/store_spec.rb1
-rw-r--r--spec/lib/gitlab/metrics/dashboard/finder_spec.rb1
-rw-r--r--spec/lib/gitlab/metrics/dashboard/processor_spec.rb1
-rw-r--r--spec/lib/gitlab/phabricator_import/user_finder_spec.rb1
-rw-r--r--spec/lib/gitlab/project_search_results_spec.rb1
-rw-r--r--spec/lib/gitlab/prometheus/queries/matched_metric_query_spec.rb1
-rw-r--r--spec/lib/gitlab/prometheus_client_spec.rb1
-rw-r--r--spec/lib/gitlab/sidekiq_cluster_spec.rb1
-rw-r--r--spec/lib/gitlab/sidekiq_logging/structured_logger_spec.rb2
-rw-r--r--spec/lib/gitlab/sidekiq_middleware_spec.rb1
-rw-r--r--spec/lib/gitlab/url_blocker_spec.rb1
-rw-r--r--spec/lib/gitlab/usage_data/topology_spec.rb2
-rw-r--r--spec/lib/json_web_token/rsa_token_spec.rb1
-rw-r--r--spec/lib/mattermost/session_spec.rb1
-rw-r--r--spec/lib/omni_auth/strategies/jwt_spec.rb2
-rw-r--r--spec/lib/rspec_flaky/example_spec.rb1
-rw-r--r--spec/lib/rspec_flaky/flaky_example_spec.rb2
-rw-r--r--spec/lib/rspec_flaky/flaky_examples_collection_spec.rb1
-rw-r--r--spec/lib/rspec_flaky/listener_spec.rb2
-rw-r--r--spec/lib/rspec_flaky/report_spec.rb2
-rw-r--r--spec/lib/sentry/client/event_spec.rb2
-rw-r--r--spec/lib/sentry/client/issue_spec.rb2
-rw-r--r--spec/mailers/notify_spec.rb1
-rw-r--r--spec/migrations/20190924152703_migrate_issue_trackers_data_spec.rb8
-rw-r--r--spec/migrations/20200123155929_remove_invalid_jira_data_spec.rb7
-rw-r--r--spec/migrations/20200127090233_remove_invalid_issue_tracker_data_spec.rb5
-rw-r--r--spec/migrations/20200130145430_reschedule_migrate_issue_trackers_data_spec.rb11
-rw-r--r--spec/migrations/migrate_k8s_service_integration_spec.rb1
-rw-r--r--spec/migrations/remove_duplicate_labels_from_project_spec.rb1
-rw-r--r--spec/migrations/remove_orphaned_invited_members_spec.rb2
-rw-r--r--spec/models/ability_spec.rb1
-rw-r--r--spec/models/alert_management/alert_spec.rb1
-rw-r--r--spec/models/blob_viewer/composer_json_spec.rb1
-rw-r--r--spec/models/blob_viewer/gemspec_spec.rb1
-rw-r--r--spec/models/blob_viewer/go_mod_spec.rb1
-rw-r--r--spec/models/blob_viewer/package_json_spec.rb2
-rw-r--r--spec/models/blob_viewer/podspec_json_spec.rb1
-rw-r--r--spec/models/blob_viewer/podspec_spec.rb1
-rw-r--r--spec/models/blob_viewer/route_map_spec.rb1
-rw-r--r--spec/models/ci/build_spec.rb1
-rw-r--r--spec/models/ci/daily_build_group_report_result_spec.rb1
-rw-r--r--spec/models/ci/pipeline_spec.rb2
-rw-r--r--spec/models/clusters/platforms/kubernetes_spec.rb1
-rw-r--r--spec/models/commit_with_pipeline_spec.rb1
-rw-r--r--spec/models/concerns/featurable_spec.rb1
-rw-r--r--spec/models/concerns/issuable_spec.rb1
-rw-r--r--spec/models/design_management/design_at_version_spec.rb9
-rw-r--r--spec/models/merge_request_diff_commit_spec.rb2
-rw-r--r--spec/models/merge_request_spec.rb3
-rw-r--r--spec/models/namespace_spec.rb1
-rw-r--r--spec/models/note_spec.rb1
-rw-r--r--spec/models/pages_domain_spec.rb1
-rw-r--r--spec/models/project_services/jira_service_spec.rb2
-rw-r--r--spec/models/project_services/microsoft_teams_service_spec.rb1
-rw-r--r--spec/models/project_spec.rb4
-rw-r--r--spec/models/repository_spec.rb1
-rw-r--r--spec/models/snippet_repository_spec.rb1
-rw-r--r--spec/models/wiki_page_spec.rb2
-rw-r--r--spec/policies/project_policy_spec.rb1
-rw-r--r--spec/presenters/blob_presenter_spec.rb1
-rw-r--r--spec/requests/api/commits_spec.rb6
-rw-r--r--spec/requests/api/deploy_keys_spec.rb1
-rw-r--r--spec/requests/api/files_spec.rb3
-rw-r--r--spec/requests/api/go_proxy_spec.rb1
-rw-r--r--spec/requests/api/graphql/mutations/container_expiration_policy/update_spec.rb2
-rw-r--r--spec/requests/api/graphql/mutations/design_management/move_spec.rb122
-rw-r--r--spec/requests/api/graphql/mutations/discussions/toggle_resolve_spec.rb2
-rw-r--r--spec/requests/api/graphql/mutations/merge_requests/create_spec.rb1
-rw-r--r--spec/requests/api/graphql/mutations/notes/update/image_diff_note_spec.rb2
-rw-r--r--spec/requests/api/graphql/mutations/snippets/update_spec.rb1
-rw-r--r--spec/requests/api/graphql/project/container_expiration_policy_spec.rb1
-rw-r--r--spec/requests/api/graphql/project/issue/designs/designs_spec.rb3
-rw-r--r--spec/requests/api/graphql/project/issues_spec.rb1
-rw-r--r--spec/requests/api/graphql/project/jira_import_spec.rb1
-rw-r--r--spec/requests/api/graphql/project/repository_spec.rb1
-rw-r--r--spec/requests/api/graphql/project/tree/tree_spec.rb1
-rw-r--r--spec/requests/api/graphql/user_query_spec.rb2
-rw-r--r--spec/requests/api/group_import_spec.rb2
-rw-r--r--spec/requests/api/groups_spec.rb1
-rw-r--r--spec/requests/api/helpers_spec.rb1
-rw-r--r--spec/requests/api/internal/base_spec.rb1
-rw-r--r--spec/requests/api/internal/pages_spec.rb1
-rw-r--r--spec/requests/api/issues/get_group_issues_spec.rb6
-rw-r--r--spec/requests/api/issues/get_project_issues_spec.rb4
-rw-r--r--spec/requests/api/issues/issues_spec.rb4
-rw-r--r--spec/requests/api/issues/post_projects_issues_spec.rb3
-rw-r--r--spec/requests/api/notes_spec.rb1
-rw-r--r--spec/requests/api/pages_domains_spec.rb1
-rw-r--r--spec/requests/api/projects_spec.rb2
-rw-r--r--spec/requests/api/snippets_spec.rb1
-rw-r--r--spec/requests/groups/milestones_controller_spec.rb1
-rw-r--r--spec/requests/lfs_http_spec.rb1
-rw-r--r--spec/requests/rack_attack_global_spec.rb1
-rw-r--r--spec/rubocop/cop/gitlab/finder_with_find_by_spec.rb1
-rw-r--r--spec/rubocop/cop/rspec/any_instance_of_spec.rb2
-rw-r--r--spec/serializers/accessibility_reports_comparer_entity_spec.rb1
-rw-r--r--spec/serializers/accessibility_reports_comparer_serializer_spec.rb1
-rw-r--r--spec/serializers/ci/daily_build_group_report_result_serializer_spec.rb1
-rw-r--r--spec/serializers/commit_entity_spec.rb1
-rw-r--r--spec/serializers/diff_file_base_entity_spec.rb1
-rw-r--r--spec/serializers/environment_serializer_spec.rb1
-rw-r--r--spec/serializers/import/bitbucket_provider_repo_entity_spec.rb1
-rw-r--r--spec/serializers/import/bitbucket_server_provider_repo_entity_spec.rb1
-rw-r--r--spec/serializers/import/fogbugz_provider_repo_entity_spec.rb1
-rw-r--r--spec/serializers/paginated_diff_entity_spec.rb1
-rw-r--r--spec/services/ci/create_pipeline_service_spec.rb1
-rw-r--r--spec/services/ci/daily_build_group_report_result_service_spec.rb3
-rw-r--r--spec/services/clusters/cleanup/project_namespace_service_spec.rb1
-rw-r--r--spec/services/clusters/cleanup/service_account_service_spec.rb1
-rw-r--r--spec/services/commits/commit_patch_service_spec.rb1
-rw-r--r--spec/services/git/base_hooks_service_spec.rb3
-rw-r--r--spec/services/git/process_ref_changes_service_spec.rb2
-rw-r--r--spec/services/groups/group_links/create_service_spec.rb1
-rw-r--r--spec/services/issuable/clone/content_rewriter_spec.rb2
-rw-r--r--spec/services/merge_requests/conflicts/resolve_service_spec.rb1
-rw-r--r--spec/services/merge_requests/create_service_spec.rb1
-rw-r--r--spec/services/merge_requests/ff_merge_service_spec.rb1
-rw-r--r--spec/services/merge_requests/rebase_service_spec.rb1
-rw-r--r--spec/services/merge_requests/refresh_service_spec.rb3
-rw-r--r--spec/services/merge_requests/squash_service_spec.rb1
-rw-r--r--spec/services/metrics/dashboard/cluster_metrics_embed_service_spec.rb1
-rw-r--r--spec/services/notes/create_service_spec.rb2
-rw-r--r--spec/services/packages/create_dependency_service_spec.rb1
-rw-r--r--spec/services/packages/npm/create_package_service_spec.rb1
-rw-r--r--spec/services/pod_logs/elasticsearch_service_spec.rb1
-rw-r--r--spec/services/preview_markdown_service_spec.rb5
-rw-r--r--spec/services/projects/alerting/notify_service_spec.rb1
-rw-r--r--spec/services/projects/fork_service_spec.rb1
-rw-r--r--spec/services/projects/operations/update_service_spec.rb1
-rw-r--r--spec/services/releases/create_service_spec.rb1
-rw-r--r--spec/services/snippets/create_service_spec.rb1
-rw-r--r--spec/services/snippets/update_service_spec.rb1
-rw-r--r--spec/services/spam/spam_action_service_spec.rb1
-rw-r--r--spec/services/spam/spam_verdict_service_spec.rb1
-rw-r--r--spec/services/suggestions/create_service_spec.rb1
-rw-r--r--spec/services/system_notes/design_management_service_spec.rb1
-rw-r--r--spec/services/users/create_service_spec.rb1
-rw-r--r--spec/services/web_hook_service_spec.rb2
-rw-r--r--spec/services/wikis/create_attachment_service_spec.rb1
-rw-r--r--spec/support/shared_contexts/finders/merge_requests_finder_shared_contexts.rb6
-rw-r--r--spec/support/shared_contexts/policies/group_policy_shared_context.rb3
-rw-r--r--spec/support/shared_examples/controllers/metrics/dashboard/prometheus_api_proxy_shared_examples.rb1
-rw-r--r--spec/support/shared_examples/controllers/variables_shared_examples.rb1
-rw-r--r--spec/support/shared_examples/graphql/design_fields_shared_examples.rb1
-rw-r--r--spec/support/shared_examples/graphql/notes_on_noteables_shared_examples.rb1
-rw-r--r--spec/support/shared_examples/models/chat_service_shared_examples.rb2
-rw-r--r--spec/support/shared_examples/models/issuable_hook_data_shared_examples.rb1
-rw-r--r--spec/support/shared_examples/requests/api/milestones_shared_examples.rb1
-rw-r--r--spec/support/shared_examples/requests/api/nuget_packages_shared_examples.rb1
-rw-r--r--spec/support/shared_examples/requests/api/pypi_packages_shared_examples.rb1
-rw-r--r--spec/support/shared_examples/services/wikis/create_attachment_service_shared_examples.rb1
-rw-r--r--spec/tasks/gitlab/backup_rake_spec.rb1
-rw-r--r--spec/tooling/lib/tooling/helm3_client_spec.rb2
-rw-r--r--spec/uploaders/file_mover_spec.rb1
-rw-r--r--spec/validators/qualified_domain_array_validator_spec.rb1
-rw-r--r--spec/workers/pages_domain_ssl_renewal_cron_worker_spec.rb2
-rw-r--r--spec/workers/remove_unreferenced_lfs_objects_worker_spec.rb2
-rw-r--r--spec/workers/update_highest_role_worker_spec.rb1
309 files changed, 628 insertions, 318 deletions
diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml
index 7f77f69c267..67ed227a284 100644
--- a/.rubocop_todo.yml
+++ b/.rubocop_todo.yml
@@ -284,315 +284,6 @@ Performance/Detect:
RSpec/ContextWording:
Enabled: false
-# Offense count: 638
-# Cop supports --auto-correct.
-RSpec/EmptyLineAfterLetBlock:
- Enabled: true
- Exclude:
- - 'spec/config/object_store_settings_spec.rb'
- - 'spec/controllers/boards/issues_controller_spec.rb'
- - 'spec/controllers/groups/milestones_controller_spec.rb'
- - 'spec/controllers/groups/settings/repository_controller_spec.rb'
- - 'spec/controllers/import/gitlab_controller_spec.rb'
- - 'spec/controllers/projects/forks_controller_spec.rb'
- - 'spec/controllers/projects/logs_controller_spec.rb'
- - 'spec/controllers/projects/notes_controller_spec.rb'
- - 'spec/controllers/projects/protected_branches_controller_spec.rb'
- - 'spec/controllers/projects/serverless/functions_controller_spec.rb'
- - 'spec/controllers/projects/settings/repository_controller_spec.rb'
- - 'spec/controllers/projects/variables_controller_spec.rb'
- - 'spec/controllers/repositories/git_http_controller_spec.rb'
- - 'spec/controllers/sent_notifications_controller_spec.rb'
- - 'spec/features/admin/admin_mode/login_spec.rb'
- - 'spec/features/atom/users_spec.rb'
- - 'spec/features/markdown/metrics_spec.rb'
- - 'spec/features/merge_request/user_comments_on_diff_spec.rb'
- - 'spec/features/merge_request/user_customizes_merge_commit_message_spec.rb'
- - 'spec/features/merge_request/user_merges_immediately_spec.rb'
- - 'spec/features/merge_request/user_merges_when_pipeline_succeeds_spec.rb'
- - 'spec/features/merge_request/user_posts_notes_spec.rb'
- - 'spec/features/merge_request/user_resolves_wip_mr_spec.rb'
- - 'spec/features/merge_request/user_sees_avatar_on_diff_notes_spec.rb'
- - 'spec/features/merge_request/user_sees_closing_issues_message_spec.rb'
- - 'spec/features/merge_request/user_sees_discussions_spec.rb'
- - 'spec/features/merge_request/user_sees_merge_request_pipelines_spec.rb'
- - 'spec/features/merge_request/user_sees_pipelines_from_forked_project_spec.rb'
- - 'spec/features/merge_request/user_sees_versions_spec.rb'
- - 'spec/features/merge_request/user_suggests_changes_on_diff_spec.rb'
- - 'spec/features/merge_request/user_tries_to_access_private_project_info_through_new_mr_spec.rb'
- - 'spec/features/merge_request/user_views_diffs_file_by_file_spec.rb'
- - 'spec/features/merge_request/user_views_diffs_spec.rb'
- - 'spec/features/merge_requests/user_views_diffs_commit_spec.rb'
- - 'spec/features/profiles/chat_names_spec.rb'
- - 'spec/features/projects/classification_label_on_project_pages_spec.rb'
- - 'spec/features/projects/commit/mini_pipeline_graph_spec.rb'
- - 'spec/features/projects/files/user_browses_files_spec.rb'
- - 'spec/features/projects/files/user_creates_directory_spec.rb'
- - 'spec/features/projects/files/user_creates_files_spec.rb'
- - 'spec/features/projects/files/user_deletes_files_spec.rb'
- - 'spec/features/projects/files/user_replaces_files_spec.rb'
- - 'spec/features/projects/import_export/export_file_spec.rb'
- - 'spec/features/projects/issues/viewing_issues_with_external_authorization_enabled_spec.rb'
- - 'spec/features/projects/pipelines/pipeline_spec.rb'
- - 'spec/features/projects/wiki/user_views_wiki_pages_spec.rb'
- - 'spec/finders/fork_targets_finder_spec.rb'
- - 'spec/frontend/fixtures/merge_requests.rb'
- - 'spec/graphql/features/authorization_spec.rb'
- - 'spec/graphql/mutations/issues/update_spec.rb'
- - 'spec/graphql/resolvers/commit_pipelines_resolver_spec.rb'
- - 'spec/graphql/types/design_management/design_at_version_type_spec.rb'
- - 'spec/graphql/types/snippet_type_spec.rb'
- - 'spec/helpers/blame_helper_spec.rb'
- - 'spec/helpers/groups_helper_spec.rb'
- - 'spec/helpers/namespaces_helper_spec.rb'
- - 'spec/lib/api/entities/nuget/dependency_group_spec.rb'
- - 'spec/lib/api/entities/nuget/dependency_spec.rb'
- - 'spec/lib/api/entities/nuget/metadatum_spec.rb'
- - 'spec/lib/api/entities/nuget/search_result_spec.rb'
- - 'spec/lib/banzai/filter/absolute_link_filter_spec.rb'
- - 'spec/lib/banzai/filter/merge_request_reference_filter_spec.rb'
- - 'spec/lib/banzai/issuable_extractor_spec.rb'
- - 'spec/lib/banzai/object_renderer_spec.rb'
- - 'spec/lib/banzai/pipeline/full_pipeline_spec.rb'
- - 'spec/lib/container_registry/client_spec.rb'
- - 'spec/lib/gitlab/alert_management/alert_params_spec.rb'
- - 'spec/lib/gitlab/application_rate_limiter_spec.rb'
- - 'spec/lib/gitlab/asciidoc/include_processor_spec.rb'
- - 'spec/lib/gitlab/asciidoc_spec.rb'
- - 'spec/lib/gitlab/auth/auth_finders_spec.rb'
- - 'spec/lib/gitlab/auth/ldap/user_spec.rb'
- - 'spec/lib/gitlab/auth/o_auth/auth_hash_spec.rb'
- - 'spec/lib/gitlab/auth/o_auth/user_spec.rb'
- - 'spec/lib/gitlab/auth/request_authenticator_spec.rb'
- - 'spec/lib/gitlab/auth/saml/user_spec.rb'
- - 'spec/lib/gitlab/auth_spec.rb'
- - 'spec/lib/gitlab/background_migration/backfill_snippet_repositories_spec.rb'
- - 'spec/lib/gitlab/background_migration/legacy_upload_mover_spec.rb'
- - 'spec/lib/gitlab/background_migration/migrate_issue_trackers_sensitive_data_spec.rb'
- - 'spec/lib/gitlab/background_migration_spec.rb'
- - 'spec/lib/gitlab/bitbucket_import/importer_spec.rb'
- - 'spec/lib/gitlab/ci/ansi2html_spec.rb'
- - 'spec/lib/gitlab/ci/config/entry/service_spec.rb'
- - 'spec/lib/gitlab/ci/config/external/file/local_spec.rb'
- - 'spec/lib/gitlab/ci/config/external/processor_spec.rb'
- - 'spec/lib/gitlab/ci/pipeline/chain/validate/repository_spec.rb'
- - 'spec/lib/gitlab/ci/reports/accessibility_reports_comparer_spec.rb'
- - 'spec/lib/gitlab/ci/yaml_processor_spec.rb'
- - 'spec/lib/gitlab/cleanup/remote_uploads_spec.rb'
- - 'spec/lib/gitlab/cross_project_access/class_methods_spec.rb'
- - 'spec/lib/gitlab/danger/commit_linter_spec.rb'
- - 'spec/lib/gitlab/danger/roulette_spec.rb'
- - 'spec/lib/gitlab/danger/teammate_spec.rb'
- - 'spec/lib/gitlab/database/count/tablesample_count_strategy_spec.rb'
- - 'spec/lib/gitlab/database/custom_structure_spec.rb'
- - 'spec/lib/gitlab/database/partitioning_migration_helpers/foreign_key_helpers_spec.rb'
- - 'spec/lib/gitlab/database/partitioning_migration_helpers/table_management_helpers_spec.rb'
- - 'spec/lib/gitlab/database/postgresql_adapter/force_disconnectable_mixin_spec.rb'
- - 'spec/lib/gitlab/diff/file_collection/commit_spec.rb'
- - 'spec/lib/gitlab/diff/file_collection/compare_spec.rb'
- - 'spec/lib/gitlab/diff/file_collection/merge_request_diff_spec.rb'
- - 'spec/lib/gitlab/diff/file_spec.rb'
- - 'spec/lib/gitlab/diff/position_collection_spec.rb'
- - 'spec/lib/gitlab/diff/suggestion_spec.rb'
- - 'spec/lib/gitlab/email/message/repository_push_spec.rb'
- - 'spec/lib/gitlab/encoding_helper_spec.rb'
- - 'spec/lib/gitlab/fogbugz_import/importer_spec.rb'
- - 'spec/lib/gitlab/git/branch_spec.rb'
- - 'spec/lib/gitlab/git/commit_spec.rb'
- - 'spec/lib/gitlab/git/conflict/parser_spec.rb'
- - 'spec/lib/gitlab/git/diff_spec.rb'
- - 'spec/lib/gitlab/git/patches/collection_spec.rb'
- - 'spec/lib/gitlab/git/patches/commit_patches_spec.rb'
- - 'spec/lib/gitlab/git/patches/patch_spec.rb'
- - 'spec/lib/gitlab/git/repository_spec.rb'
- - 'spec/lib/gitlab/gitaly_client/commit_service_spec.rb'
- - 'spec/lib/gitlab/gitaly_client/conflicts_service_spec.rb'
- - 'spec/lib/gitlab/gitaly_client/operation_service_spec.rb'
- - 'spec/lib/gitlab/gitaly_client/wiki_service_spec.rb'
- - 'spec/lib/gitlab/gitlab_import/project_creator_spec.rb'
- - 'spec/lib/gitlab/google_code_import/importer_spec.rb'
- - 'spec/lib/gitlab/google_code_import/project_creator_spec.rb'
- - 'spec/lib/gitlab/grape_logging/formatters/lograge_with_timestamp_spec.rb'
- - 'spec/lib/gitlab/graphql/authorize/authorize_resource_spec.rb'
- - 'spec/lib/gitlab/graphql/find_argument_in_parent_spec.rb'
- - 'spec/lib/gitlab/graphql/pagination/keyset/connection_spec.rb'
- - 'spec/lib/gitlab/hook_data/issuable_builder_spec.rb'
- - 'spec/lib/gitlab/import_export/base/object_builder_spec.rb'
- - 'spec/lib/gitlab/import_export/json/streaming_serializer_spec.rb'
- - 'spec/lib/gitlab/import_export/project/tree_restorer_spec.rb'
- - 'spec/lib/gitlab/import_export/project/tree_saver_spec.rb'
- - 'spec/lib/gitlab/incident_management/pager_duty/incident_issue_description_spec.rb'
- - 'spec/lib/gitlab/issuable_sorter_spec.rb'
- - 'spec/lib/gitlab/jira_import/issue_serializer_spec.rb'
- - 'spec/lib/gitlab/jira_import/metadata_collector_spec.rb'
- - 'spec/lib/gitlab/kubernetes/network_policy_spec.rb'
- - 'spec/lib/gitlab/language_detection_spec.rb'
- - 'spec/lib/gitlab/legacy_github_import/importer_spec.rb'
- - 'spec/lib/gitlab/legacy_github_import/issuable_formatter_spec.rb'
- - 'spec/lib/gitlab/legacy_github_import/milestone_formatter_spec.rb'
- - 'spec/lib/gitlab/lograge/custom_options_spec.rb'
- - 'spec/lib/gitlab/markdown_cache/redis/store_spec.rb'
- - 'spec/lib/gitlab/metrics/dashboard/finder_spec.rb'
- - 'spec/lib/gitlab/metrics/dashboard/processor_spec.rb'
- - 'spec/lib/gitlab/phabricator_import/user_finder_spec.rb'
- - 'spec/lib/gitlab/project_search_results_spec.rb'
- - 'spec/lib/gitlab/prometheus/queries/matched_metric_query_spec.rb'
- - 'spec/lib/gitlab/prometheus_client_spec.rb'
- - 'spec/lib/gitlab/sidekiq_cluster_spec.rb'
- - 'spec/lib/gitlab/sidekiq_logging/structured_logger_spec.rb'
- - 'spec/lib/gitlab/sidekiq_middleware_spec.rb'
- - 'spec/lib/gitlab/url_blocker_spec.rb'
- - 'spec/lib/gitlab/usage_data/topology_spec.rb'
- - 'spec/lib/json_web_token/rsa_token_spec.rb'
- - 'spec/lib/mattermost/session_spec.rb'
- - 'spec/lib/omni_auth/strategies/jwt_spec.rb'
- - 'spec/lib/rspec_flaky/example_spec.rb'
- - 'spec/lib/rspec_flaky/flaky_example_spec.rb'
- - 'spec/lib/rspec_flaky/flaky_examples_collection_spec.rb'
- - 'spec/lib/rspec_flaky/listener_spec.rb'
- - 'spec/lib/rspec_flaky/report_spec.rb'
- - 'spec/lib/sentry/client/event_spec.rb'
- - 'spec/lib/sentry/client/issue_spec.rb'
- - 'spec/mailers/notify_spec.rb'
- - 'spec/migrations/20190924152703_migrate_issue_trackers_data_spec.rb'
- - 'spec/migrations/20200123155929_remove_invalid_jira_data_spec.rb'
- - 'spec/migrations/20200127090233_remove_invalid_issue_tracker_data_spec.rb'
- - 'spec/migrations/20200130145430_reschedule_migrate_issue_trackers_data_spec.rb'
- - 'spec/migrations/migrate_k8s_service_integration_spec.rb'
- - 'spec/migrations/remove_duplicate_labels_from_project_spec.rb'
- - 'spec/migrations/remove_orphaned_invited_members_spec.rb'
- - 'spec/models/ability_spec.rb'
- - 'spec/models/alert_management/alert_spec.rb'
- - 'spec/models/blob_viewer/composer_json_spec.rb'
- - 'spec/models/blob_viewer/gemspec_spec.rb'
- - 'spec/models/blob_viewer/go_mod_spec.rb'
- - 'spec/models/blob_viewer/package_json_spec.rb'
- - 'spec/models/blob_viewer/podspec_json_spec.rb'
- - 'spec/models/blob_viewer/podspec_spec.rb'
- - 'spec/models/blob_viewer/route_map_spec.rb'
- - 'spec/models/ci/build_spec.rb'
- - 'spec/models/ci/daily_build_group_report_result_spec.rb'
- - 'spec/models/ci/pipeline_spec.rb'
- - 'spec/models/clusters/platforms/kubernetes_spec.rb'
- - 'spec/models/commit_collection_spec.rb'
- - 'spec/models/commit_with_pipeline_spec.rb'
- - 'spec/models/concerns/featurable_spec.rb'
- - 'spec/models/concerns/issuable_spec.rb'
- - 'spec/models/design_management/design_at_version_spec.rb'
- - 'spec/models/merge_request_diff_commit_spec.rb'
- - 'spec/models/merge_request_spec.rb'
- - 'spec/models/namespace_spec.rb'
- - 'spec/models/note_spec.rb'
- - 'spec/models/pages_domain_spec.rb'
- - 'spec/models/project_services/jira_service_spec.rb'
- - 'spec/models/project_services/microsoft_teams_service_spec.rb'
- - 'spec/models/project_spec.rb'
- - 'spec/models/repository_spec.rb'
- - 'spec/models/snippet_repository_spec.rb'
- - 'spec/models/wiki_page_spec.rb'
- - 'spec/policies/design_management/design_policy_spec.rb'
- - 'spec/policies/project_policy_spec.rb'
- - 'spec/presenters/blob_presenter_spec.rb'
- - 'spec/presenters/packages/detail/package_presenter_spec.rb'
- - 'spec/requests/api/ci/runner_spec.rb'
- - 'spec/requests/api/commits_spec.rb'
- - 'spec/requests/api/deploy_keys_spec.rb'
- - 'spec/requests/api/files_spec.rb'
- - 'spec/requests/api/go_proxy_spec.rb'
- - 'spec/requests/api/graphql/mutations/container_expiration_policy/update_spec.rb'
- - 'spec/requests/api/graphql/mutations/discussions/toggle_resolve_spec.rb'
- - 'spec/requests/api/graphql/mutations/merge_requests/create_spec.rb'
- - 'spec/requests/api/graphql/mutations/notes/update/image_diff_note_spec.rb'
- - 'spec/requests/api/graphql/mutations/snippets/update_spec.rb'
- - 'spec/requests/api/graphql/project/container_expiration_policy_spec.rb'
- - 'spec/requests/api/graphql/project/issue/designs/designs_spec.rb'
- - 'spec/requests/api/graphql/project/issues_spec.rb'
- - 'spec/requests/api/graphql/project/jira_import_spec.rb'
- - 'spec/requests/api/graphql/project/repository_spec.rb'
- - 'spec/requests/api/graphql/project/tree/tree_spec.rb'
- - 'spec/requests/api/graphql/user_query_spec.rb'
- - 'spec/requests/api/group_import_spec.rb'
- - 'spec/requests/api/groups_spec.rb'
- - 'spec/requests/api/helpers_spec.rb'
- - 'spec/requests/api/internal/base_spec.rb'
- - 'spec/requests/api/internal/pages_spec.rb'
- - 'spec/requests/api/issues/get_group_issues_spec.rb'
- - 'spec/requests/api/issues/get_project_issues_spec.rb'
- - 'spec/requests/api/issues/issues_spec.rb'
- - 'spec/requests/api/issues/post_projects_issues_spec.rb'
- - 'spec/requests/api/notes_spec.rb'
- - 'spec/requests/api/pages_domains_spec.rb'
- - 'spec/requests/api/projects_spec.rb'
- - 'spec/requests/api/snippets_spec.rb'
- - 'spec/requests/groups/milestones_controller_spec.rb'
- - 'spec/requests/lfs_http_spec.rb'
- - 'spec/requests/rack_attack_global_spec.rb'
- - 'spec/rubocop/cop/gitlab/finder_with_find_by_spec.rb'
- - 'spec/rubocop/cop/rspec/any_instance_of_spec.rb'
- - 'spec/serializers/accessibility_reports_comparer_entity_spec.rb'
- - 'spec/serializers/accessibility_reports_comparer_serializer_spec.rb'
- - 'spec/serializers/ci/daily_build_group_report_result_serializer_spec.rb'
- - 'spec/serializers/commit_entity_spec.rb'
- - 'spec/serializers/diff_file_base_entity_spec.rb'
- - 'spec/serializers/environment_serializer_spec.rb'
- - 'spec/serializers/import/bitbucket_provider_repo_entity_spec.rb'
- - 'spec/serializers/import/bitbucket_server_provider_repo_entity_spec.rb'
- - 'spec/serializers/import/fogbugz_provider_repo_entity_spec.rb'
- - 'spec/serializers/paginated_diff_entity_spec.rb'
- - 'spec/services/ci/create_pipeline_service_spec.rb'
- - 'spec/services/ci/daily_build_group_report_result_service_spec.rb'
- - 'spec/services/clusters/cleanup/project_namespace_service_spec.rb'
- - 'spec/services/clusters/cleanup/service_account_service_spec.rb'
- - 'spec/services/commits/commit_patch_service_spec.rb'
- - 'spec/services/git/base_hooks_service_spec.rb'
- - 'spec/services/git/process_ref_changes_service_spec.rb'
- - 'spec/services/groups/group_links/create_service_spec.rb'
- - 'spec/services/issuable/clone/content_rewriter_spec.rb'
- - 'spec/services/merge_requests/conflicts/resolve_service_spec.rb'
- - 'spec/services/merge_requests/create_service_spec.rb'
- - 'spec/services/merge_requests/ff_merge_service_spec.rb'
- - 'spec/services/merge_requests/rebase_service_spec.rb'
- - 'spec/services/merge_requests/refresh_service_spec.rb'
- - 'spec/services/merge_requests/squash_service_spec.rb'
- - 'spec/services/metrics/dashboard/cluster_metrics_embed_service_spec.rb'
- - 'spec/services/notes/create_service_spec.rb'
- - 'spec/services/packages/create_dependency_service_spec.rb'
- - 'spec/services/packages/npm/create_package_service_spec.rb'
- - 'spec/services/pod_logs/elasticsearch_service_spec.rb'
- - 'spec/services/preview_markdown_service_spec.rb'
- - 'spec/services/projects/alerting/notify_service_spec.rb'
- - 'spec/services/projects/fork_service_spec.rb'
- - 'spec/services/projects/operations/update_service_spec.rb'
- - 'spec/services/releases/create_service_spec.rb'
- - 'spec/services/snippets/create_service_spec.rb'
- - 'spec/services/snippets/update_service_spec.rb'
- - 'spec/services/spam/spam_action_service_spec.rb'
- - 'spec/services/spam/spam_verdict_service_spec.rb'
- - 'spec/services/suggestions/create_service_spec.rb'
- - 'spec/services/system_notes/design_management_service_spec.rb'
- - 'spec/services/users/create_service_spec.rb'
- - 'spec/services/web_hook_service_spec.rb'
- - 'spec/services/wikis/create_attachment_service_spec.rb'
- - 'spec/support/shared_contexts/finders/merge_requests_finder_shared_contexts.rb'
- - 'spec/support/shared_contexts/policies/group_policy_shared_context.rb'
- - 'spec/support/shared_examples/controllers/metrics/dashboard/prometheus_api_proxy_shared_examples.rb'
- - 'spec/support/shared_examples/controllers/variables_shared_examples.rb'
- - 'spec/support/shared_examples/graphql/design_fields_shared_examples.rb'
- - 'spec/support/shared_examples/graphql/notes_on_noteables_shared_examples.rb'
- - 'spec/support/shared_examples/models/chat_service_shared_examples.rb'
- - 'spec/support/shared_examples/models/issuable_hook_data_shared_examples.rb'
- - 'spec/support/shared_examples/requests/api/milestones_shared_examples.rb'
- - 'spec/support/shared_examples/requests/api/nuget_packages_shared_examples.rb'
- - 'spec/support/shared_examples/requests/api/pypi_packages_shared_examples.rb'
- - 'spec/support/shared_examples/services/wikis/create_attachment_service_shared_examples.rb'
- - 'spec/tasks/gitlab/backup_rake_spec.rb'
- - 'spec/tooling/lib/tooling/helm3_client_spec.rb'
- - 'spec/uploaders/file_mover_spec.rb'
- - 'spec/validators/qualified_domain_array_validator_spec.rb'
- - 'spec/workers/pages_domain_ssl_renewal_cron_worker_spec.rb'
- - 'spec/workers/remove_unreferenced_lfs_objects_worker_spec.rb'
- - 'spec/workers/update_highest_role_worker_spec.rb'
-
# Offense count: 1121
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle.
diff --git a/app/assets/javascripts/error_tracking_settings/components/app.vue b/app/assets/javascripts/error_tracking_settings/components/app.vue
index 34dff6c58d5..db90ac1c740 100644
--- a/app/assets/javascripts/error_tracking_settings/components/app.vue
+++ b/app/assets/javascripts/error_tracking_settings/components/app.vue
@@ -1,6 +1,6 @@
<script>
import { mapActions, mapGetters, mapState } from 'vuex';
-import { GlDeprecatedButton as GlButton } from '@gitlab/ui';
+import { GlButton } from '@gitlab/ui';
import ProjectDropdown from './project_dropdown.vue';
import ErrorTrackingForm from './error_tracking_form.vue';
diff --git a/app/controllers/projects/releases_controller.rb b/app/controllers/projects/releases_controller.rb
index d58755c2655..c48d573edbf 100644
--- a/app/controllers/projects/releases_controller.rb
+++ b/app/controllers/projects/releases_controller.rb
@@ -29,7 +29,7 @@ class Projects::ReleasesController < Projects::ApplicationController
end
def new
- unless Feature.enabled?(:new_release_page, project)
+ unless Feature.enabled?(:new_release_page, project, default_enabled: true)
redirect_to(new_project_tag_path(@project))
end
end
diff --git a/app/finders/design_management/designs_finder.rb b/app/finders/design_management/designs_finder.rb
index 4a7a5734cd8..d9732f6b6f4 100644
--- a/app/finders/design_management/designs_finder.rb
+++ b/app/finders/design_management/designs_finder.rb
@@ -37,7 +37,8 @@ module DesignManagement
issue.designs
end
- # Returns all designs that existed at a particular design version
+ # Returns all designs that existed at a particular design version,
+ # where `nil` means `at-current-version`.
def by_visible_at_version(items)
items.visible_at_version(params[:visible_at_version])
end
diff --git a/app/graphql/resolvers/design_management/designs_resolver.rb b/app/graphql/resolvers/design_management/designs_resolver.rb
index 81f94d5cb30..955ea6304e0 100644
--- a/app/graphql/resolvers/design_management/designs_resolver.rb
+++ b/app/graphql/resolvers/design_management/designs_resolver.rb
@@ -27,19 +27,20 @@ module Resolvers
current_user,
ids: design_ids(ids),
filenames: filenames,
- visible_at_version: version(at_version),
- order: :id
+ visible_at_version: version(at_version)
).execute
end
private
def version(at_version)
- GitlabSchema.object_from_id(at_version)&.sync if at_version
+ return unless at_version
+
+ GitlabSchema.object_from_id(at_version, expected_type: ::DesignManagement::Version)&.sync
end
def design_ids(ids)
- ids&.map { |id| GlobalID.parse(id).model_id }
+ ids&.map { |id| GlobalID.parse(id, expected_type: ::DesignManagement::Design).model_id }
end
def issue
diff --git a/app/helpers/releases_helper.rb b/app/helpers/releases_helper.rb
index a3d944c64cc..232e10481e5 100644
--- a/app/helpers/releases_helper.rb
+++ b/app/helpers/releases_helper.rb
@@ -19,7 +19,7 @@ module ReleasesHelper
documentation_path: help_page
}.tap do |data|
if can?(current_user, :create_release, @project)
- data[:new_release_path] = if Feature.enabled?(:new_release_page, @project)
+ data[:new_release_path] = if Feature.enabled?(:new_release_page, @project, default_enabled: true)
new_project_release_path(@project)
else
new_project_tag_path(@project)
diff --git a/app/services/design_management/move_designs_service.rb b/app/services/design_management/move_designs_service.rb
index c490dc8f370..4052c189969 100644
--- a/app/services/design_management/move_designs_service.rb
+++ b/app/services/design_management/move_designs_service.rb
@@ -20,7 +20,9 @@ module DesignManagement
return error(:not_adjacent) if any_in_gap?
return error(:not_same_issue) unless all_same_issue?
+ move_nulls_to_end
current_design.move_between(previous_design, next_design)
+ current_design.save!
success
end
@@ -36,6 +38,12 @@ module DesignManagement
delegate :issue, :project, to: :current_design
+ def move_nulls_to_end
+ current_design.class.move_nulls_to_end(issue.designs)
+ next_design.reset if next_design && next_design.relative_position.nil?
+ previous_design.reset if previous_design && previous_design.relative_position.nil?
+ end
+
def neighbors
[previous_design, next_design].compact
end
@@ -45,7 +53,7 @@ module DesignManagement
end
def any_in_gap?
- return false unless previous_design && next_design
+ return false unless previous_design&.relative_position && next_design&.relative_position
!previous_design.immediately_before?(next_design)
end
diff --git a/changelogs/unreleased/err-tracking-save.yml b/changelogs/unreleased/err-tracking-save.yml
new file mode 100644
index 00000000000..0e40fa299b4
--- /dev/null
+++ b/changelogs/unreleased/err-tracking-save.yml
@@ -0,0 +1,5 @@
+---
+title: Deprecated btn migration
+merge_request: 39154
+author:
+type: changed
diff --git a/changelogs/unreleased/nfriend-enable-new_release_page-feature-flag.yml b/changelogs/unreleased/nfriend-enable-new_release_page-feature-flag.yml
new file mode 100644
index 00000000000..7fe53261a8d
--- /dev/null
+++ b/changelogs/unreleased/nfriend-enable-new_release_page-feature-flag.yml
@@ -0,0 +1,5 @@
+---
+title: Add "New Release" page to allow creation of releases through the interface
+merge_request: 38913
+author:
+type: added
diff --git a/spec/config/object_store_settings_spec.rb b/spec/config/object_store_settings_spec.rb
index 4a800261625..36938c74afa 100644
--- a/spec/config/object_store_settings_spec.rb
+++ b/spec/config/object_store_settings_spec.rb
@@ -18,6 +18,7 @@ RSpec.describe ObjectStoreSettings do
'region' => 'us-east-1'
}
end
+
let(:config) do
{
'lfs' => { 'enabled' => true },
diff --git a/spec/controllers/boards/issues_controller_spec.rb b/spec/controllers/boards/issues_controller_spec.rb
index 601b8d427e0..a7f3ab0089f 100644
--- a/spec/controllers/boards/issues_controller_spec.rb
+++ b/spec/controllers/boards/issues_controller_spec.rb
@@ -265,6 +265,7 @@ RSpec.describe Boards::IssuesController do
hash[:ids] = [issue2.id]
end
end
+
let(:requesting_user) { user }
let(:expected_status) { 200 }
let(:expected_issue_count) { 2 }
@@ -280,6 +281,7 @@ RSpec.describe Boards::IssuesController do
hash[:ids] = [issue2.id]
end
end
+
let(:requesting_user) { user }
let(:expected_status) { 403 }
let(:expected_issue_count) { 1 }
@@ -296,6 +298,7 @@ RSpec.describe Boards::IssuesController do
hash[:move_before_id] = nil
end
end
+
let(:requesting_user) { user }
let(:expected_status) { 200 }
let(:expected_issue_count) { 4 }
@@ -317,6 +320,7 @@ RSpec.describe Boards::IssuesController do
hash[:move_before_id] = nil
end
end
+
let(:requesting_user) { user }
let(:expected_status) { 200 }
let(:expected_issue_count) { 3 }
@@ -332,6 +336,7 @@ RSpec.describe Boards::IssuesController do
hash[:move_before_id] = nil
end
end
+
let(:requesting_user) { user }
let(:expected_status) { 200 }
let(:expected_issue_count) { 4 }
@@ -350,6 +355,7 @@ RSpec.describe Boards::IssuesController do
hash[:move_after_id] = issue4.id
end
end
+
let(:requesting_user) { user }
let(:expected_status) { 200 }
let(:expected_issue_count) { 5 }
@@ -365,6 +371,7 @@ RSpec.describe Boards::IssuesController do
hash[:ids] = (0..51).to_a
end
end
+
let(:requesting_user) { user }
let(:expected_status) { 422 }
let(:expected_issue_count) { 1 }
@@ -380,6 +387,7 @@ RSpec.describe Boards::IssuesController do
hash[:ids] = 'foobar'
end
end
+
let(:requesting_user) { user }
let(:expected_status) { 400 }
let(:expected_issue_count) { 1 }
diff --git a/spec/controllers/groups/milestones_controller_spec.rb b/spec/controllers/groups/milestones_controller_spec.rb
index e47bb75af22..5c7b88a218a 100644
--- a/spec/controllers/groups/milestones_controller_spec.rb
+++ b/spec/controllers/groups/milestones_controller_spec.rb
@@ -86,6 +86,7 @@ RSpec.describe Groups::MilestonesController do
let!(:public_project_with_private_issues_and_mrs) do
create(:project, :public, :issues_private, :merge_requests_private, group: public_group)
end
+
let!(:private_milestone) { create(:milestone, project: public_project_with_private_issues_and_mrs, title: 'project milestone') }
context 'when anonymous user' do
diff --git a/spec/controllers/groups/settings/repository_controller_spec.rb b/spec/controllers/groups/settings/repository_controller_spec.rb
index d2c170521ba..14bbdc05282 100644
--- a/spec/controllers/groups/settings/repository_controller_spec.rb
+++ b/spec/controllers/groups/settings/repository_controller_spec.rb
@@ -36,6 +36,7 @@ RSpec.describe Groups::Settings::RepositoryController do
deploy_token_type: DeployToken.deploy_token_types[:group_type]
}
end
+
let(:request_params) do
{
group_id: group.to_param,
diff --git a/spec/controllers/import/gitlab_controller_spec.rb b/spec/controllers/import/gitlab_controller_spec.rb
index 42c4348dac2..826625ba9c3 100644
--- a/spec/controllers/import/gitlab_controller_spec.rb
+++ b/spec/controllers/import/gitlab_controller_spec.rb
@@ -53,6 +53,7 @@ RSpec.describe Import::GitlabController do
let(:gitlab_user) do
{ username: gitlab_username }.with_indifferent_access
end
+
let(:gitlab_repo) do
{
path: 'vim',
diff --git a/spec/controllers/projects/forks_controller_spec.rb b/spec/controllers/projects/forks_controller_spec.rb
index 72c40fc5772..e8b30294cdd 100644
--- a/spec/controllers/projects/forks_controller_spec.rb
+++ b/spec/controllers/projects/forks_controller_spec.rb
@@ -245,6 +245,7 @@ RSpec.describe Projects::ForksController do
continue: continue_params
}
end
+
let(:continue_params) do
{
to: '/-/ide/project/path',
diff --git a/spec/controllers/projects/logs_controller_spec.rb b/spec/controllers/projects/logs_controller_spec.rb
index 013155b4649..d5c602df41d 100644
--- a/spec/controllers/projects/logs_controller_spec.rb
+++ b/spec/controllers/projects/logs_controller_spec.rb
@@ -59,6 +59,7 @@ RSpec.describe Projects::LogsController do
container_name: container
}
end
+
let(:service_result_json) { Gitlab::Json.parse(service_result.to_json) }
let_it_be(:cluster) { create(:cluster, :provided_by_gcp, environment_scope: '*', projects: [project]) }
diff --git a/spec/controllers/projects/notes_controller_spec.rb b/spec/controllers/projects/notes_controller_spec.rb
index 9728fad417e..570d65dba4f 100644
--- a/spec/controllers/projects/notes_controller_spec.rb
+++ b/spec/controllers/projects/notes_controller_spec.rb
@@ -302,6 +302,7 @@ RSpec.describe Projects::NotesController do
target_id: merge_request.id
}.merge(extra_request_params)
end
+
let(:extra_request_params) { {} }
let(:project_visibility) { Gitlab::VisibilityLevel::PUBLIC }
diff --git a/spec/controllers/projects/protected_branches_controller_spec.rb b/spec/controllers/projects/protected_branches_controller_spec.rb
index 09eb1a45c73..a0cb5c1473a 100644
--- a/spec/controllers/projects/protected_branches_controller_spec.rb
+++ b/spec/controllers/projects/protected_branches_controller_spec.rb
@@ -27,6 +27,7 @@ RSpec.describe Projects::ProtectedBranchesController do
{ merge_access_levels_attributes: maintainer_access_level,
push_access_levels_attributes: maintainer_access_level }
end
+
let(:create_params) { attributes_for(:protected_branch).merge(access_level_params) }
before do
diff --git a/spec/controllers/projects/serverless/functions_controller_spec.rb b/spec/controllers/projects/serverless/functions_controller_spec.rb
index 3071d0b7f54..7f558ad9231 100644
--- a/spec/controllers/projects/serverless/functions_controller_spec.rb
+++ b/spec/controllers/projects/serverless/functions_controller_spec.rb
@@ -18,6 +18,7 @@ RSpec.describe Projects::Serverless::FunctionsController do
let(:knative_stub_options) do
{ namespace: namespace.namespace, name: function_name, description: function_description }
end
+
let(:knative) { create(:clusters_applications_knative, :installed, cluster: cluster) }
let(:namespace) do
diff --git a/spec/controllers/projects/settings/repository_controller_spec.rb b/spec/controllers/projects/settings/repository_controller_spec.rb
index 13c5f1d8331..d93f23ae142 100644
--- a/spec/controllers/projects/settings/repository_controller_spec.rb
+++ b/spec/controllers/projects/settings/repository_controller_spec.rb
@@ -56,6 +56,7 @@ RSpec.describe Projects::Settings::RepositoryController do
deploy_token_type: DeployToken.deploy_token_types[:project_type]
}
end
+
let(:request_params) do
{
namespace_id: project.namespace.to_param,
diff --git a/spec/controllers/projects/variables_controller_spec.rb b/spec/controllers/projects/variables_controller_spec.rb
index 8bb4c2dae4b..768d2ec00bd 100644
--- a/spec/controllers/projects/variables_controller_spec.rb
+++ b/spec/controllers/projects/variables_controller_spec.rb
@@ -47,6 +47,7 @@ RSpec.describe Projects::VariablesController do
protected: variable.protected?.to_s,
environment_scope: variable.environment_scope }
end
+
let(:new_variable_attributes) do
{ key: 'new_key',
secret_value: 'dummy_value',
diff --git a/spec/controllers/repositories/git_http_controller_spec.rb b/spec/controllers/repositories/git_http_controller_spec.rb
index c938df8cf4e..851c1b7e519 100644
--- a/spec/controllers/repositories/git_http_controller_spec.rb
+++ b/spec/controllers/repositories/git_http_controller_spec.rb
@@ -17,6 +17,7 @@ RSpec.describe Repositories::GitHttpController do
repository_id: repository_id
}
end
+
let(:params) { container_params }
describe 'HEAD #info_refs' do
diff --git a/spec/controllers/sent_notifications_controller_spec.rb b/spec/controllers/sent_notifications_controller_spec.rb
index 0c4a77d5926..02aaa5b16f1 100644
--- a/spec/controllers/sent_notifications_controller_spec.rb
+++ b/spec/controllers/sent_notifications_controller_spec.rb
@@ -216,6 +216,7 @@ RSpec.describe SentNotificationsController do
merge_request.subscriptions.create(user: user, project: project, subscribed: true)
end
end
+
let(:sent_notification) { create(:sent_notification, project: project, noteable: merge_request, recipient: user) }
before do
diff --git a/spec/features/admin/admin_mode/login_spec.rb b/spec/features/admin/admin_mode/login_spec.rb
index 4b26ceb55e2..12046518aac 100644
--- a/spec/features/admin/admin_mode/login_spec.rb
+++ b/spec/features/admin/admin_mode/login_spec.rb
@@ -196,6 +196,7 @@ RSpec.describe 'Admin Mode Login', :clean_gitlab_redis_shared_state, :do_not_moc
'base' => 'dc=example,dc=com'
}
end
+
let(:user) { create(:omniauth_user, :admin, :two_factor, extern_uid: uid, provider: provider) }
before do
diff --git a/spec/features/atom/users_spec.rb b/spec/features/atom/users_spec.rb
index c79b812df46..ab874408e55 100644
--- a/spec/features/atom/users_spec.rb
+++ b/spec/features/atom/users_spec.rb
@@ -30,6 +30,7 @@ RSpec.describe "User Feed" do
author: user,
description: "Houston, we have a bug!\n\n***\n\nI guess.")
end
+
let(:note) do
create(:note,
noteable: issue,
@@ -37,6 +38,7 @@ RSpec.describe "User Feed" do
note: 'Bug confirmed :+1:',
project: project)
end
+
let(:merge_request) do
create(:merge_request,
title: 'Fix bug',
@@ -45,6 +47,7 @@ RSpec.describe "User Feed" do
target_project: project,
description: "Here is the fix: ![an image](image.png)")
end
+
let(:push_event) { create(:push_event, project: project, author: user) }
let!(:push_event_payload) { create(:push_event_payload, event: push_event) }
diff --git a/spec/features/markdown/metrics_spec.rb b/spec/features/markdown/metrics_spec.rb
index 68a0345d51d..1ac56186a80 100644
--- a/spec/features/markdown/metrics_spec.rb
+++ b/spec/features/markdown/metrics_spec.rb
@@ -83,6 +83,7 @@ RSpec.describe 'Metrics rendering', :js, :kubeclient, :use_clean_rails_memory_st
y_label: 'Total Cores'
}
end
+
let(:metrics_url_2) { urls.metrics_project_environment_url(project, environment, **chart_params_2) }
let(:description) { "See [metrics dashboard](#{metrics_url}) for info. \n See [metrics dashboard](#{metrics_url_2}) for info." }
let(:issue) { create(:issue, project: project, description: description) }
diff --git a/spec/features/merge_request/user_comments_on_diff_spec.rb b/spec/features/merge_request/user_comments_on_diff_spec.rb
index 30bf82e3665..3a199951b56 100644
--- a/spec/features/merge_request/user_comments_on_diff_spec.rb
+++ b/spec/features/merge_request/user_comments_on_diff_spec.rb
@@ -10,6 +10,7 @@ RSpec.describe 'User comments on a diff', :js do
let(:merge_request) do
create(:merge_request_with_diffs, source_project: project, target_project: project, source_branch: 'merge-test')
end
+
let(:user) { create(:user) }
before do
diff --git a/spec/features/merge_request/user_customizes_merge_commit_message_spec.rb b/spec/features/merge_request/user_customizes_merge_commit_message_spec.rb
index 23df7635aa1..1d3d76d3486 100644
--- a/spec/features/merge_request/user_customizes_merge_commit_message_spec.rb
+++ b/spec/features/merge_request/user_customizes_merge_commit_message_spec.rb
@@ -15,6 +15,7 @@ RSpec.describe 'Merge request < User customizes merge commit message', :js do
description: "Description\n\nclosing #{issue_1.to_reference}, #{issue_2.to_reference}"
)
end
+
let(:textbox) { page.find(:css, '#merge-message-edit', visible: false) }
let(:default_message) do
[
@@ -24,6 +25,7 @@ RSpec.describe 'Merge request < User customizes merge commit message', :js do
"See merge request #{merge_request.to_reference(full: true)}"
].join("\n\n")
end
+
let(:message_with_description) do
[
"Merge branch 'feature' into 'master'",
diff --git a/spec/features/merge_request/user_merges_immediately_spec.rb b/spec/features/merge_request/user_merges_immediately_spec.rb
index 47dc09ae79f..0fb081ec507 100644
--- a/spec/features/merge_request/user_merges_immediately_spec.rb
+++ b/spec/features/merge_request/user_merges_immediately_spec.rb
@@ -12,6 +12,7 @@ RSpec.describe 'Merge requests > User merges immediately', :js do
head_pipeline: pipeline,
source_branch: pipeline.ref)
end
+
let(:pipeline) do
create(:ci_pipeline, project: project,
ref: 'master',
diff --git a/spec/features/merge_request/user_merges_when_pipeline_succeeds_spec.rb b/spec/features/merge_request/user_merges_when_pipeline_succeeds_spec.rb
index e61ae4ea795..3dc49fb4dea 100644
--- a/spec/features/merge_request/user_merges_when_pipeline_succeeds_spec.rb
+++ b/spec/features/merge_request/user_merges_when_pipeline_succeeds_spec.rb
@@ -11,6 +11,7 @@ RSpec.describe 'Merge request > User merges when pipeline succeeds', :js do
title: 'Bug NS-04',
merge_params: { force_remove_source_branch: '1' })
end
+
let(:pipeline) do
create(:ci_pipeline, project: project,
sha: merge_request.diff_head_sha,
@@ -115,6 +116,7 @@ RSpec.describe 'Merge request > User merges when pipeline succeeds', :js do
merge_user: user,
title: 'MepMep')
end
+
let!(:build) do
create(:ci_build, pipeline: pipeline)
end
diff --git a/spec/features/merge_request/user_posts_notes_spec.rb b/spec/features/merge_request/user_posts_notes_spec.rb
index 3c70819319d..e2d218ed752 100644
--- a/spec/features/merge_request/user_posts_notes_spec.rb
+++ b/spec/features/merge_request/user_posts_notes_spec.rb
@@ -10,6 +10,7 @@ RSpec.describe 'Merge request > User posts notes', :js do
let(:merge_request) do
create(:merge_request, source_project: project, target_project: project)
end
+
let!(:note) do
create(:note_on_merge_request, :with_attachment, noteable: merge_request,
project: project)
diff --git a/spec/features/merge_request/user_resolves_wip_mr_spec.rb b/spec/features/merge_request/user_resolves_wip_mr_spec.rb
index 6b15dc7ae3c..a9d4c4df507 100644
--- a/spec/features/merge_request/user_resolves_wip_mr_spec.rb
+++ b/spec/features/merge_request/user_resolves_wip_mr_spec.rb
@@ -11,6 +11,7 @@ RSpec.describe 'Merge request > User resolves Work in Progress', :js do
title: 'WIP: Bug NS-04',
merge_params: { force_remove_source_branch: '1' })
end
+
let(:pipeline) do
create(:ci_pipeline, project: project,
sha: merge_request.diff_head_sha,
diff --git a/spec/features/merge_request/user_sees_avatar_on_diff_notes_spec.rb b/spec/features/merge_request/user_sees_avatar_on_diff_notes_spec.rb
index 415e6b29d5a..7fad805866b 100644
--- a/spec/features/merge_request/user_sees_avatar_on_diff_notes_spec.rb
+++ b/spec/features/merge_request/user_sees_avatar_on_diff_notes_spec.rb
@@ -16,6 +16,7 @@ RSpec.describe 'Merge request > User sees avatars on diff notes', :js do
diff_refs: merge_request.diff_refs
)
end
+
let!(:note) { create(:diff_note_on_merge_request, project: project, noteable: merge_request, position: position) }
before do
diff --git a/spec/features/merge_request/user_sees_closing_issues_message_spec.rb b/spec/features/merge_request/user_sees_closing_issues_message_spec.rb
index baef547a480..d6cdc15005b 100644
--- a/spec/features/merge_request/user_sees_closing_issues_message_spec.rb
+++ b/spec/features/merge_request/user_sees_closing_issues_message_spec.rb
@@ -16,6 +16,7 @@ RSpec.describe 'Merge request > User sees closing issues message', :js do
title: merge_request_title
)
end
+
let(:merge_request_description) { 'Merge Request Description' }
let(:merge_request_title) { 'Merge Request Title' }
diff --git a/spec/features/merge_request/user_sees_discussions_spec.rb b/spec/features/merge_request/user_sees_discussions_spec.rb
index 74d1b8b628c..289c861739f 100644
--- a/spec/features/merge_request/user_sees_discussions_spec.rb
+++ b/spec/features/merge_request/user_sees_discussions_spec.rb
@@ -24,6 +24,7 @@ RSpec.describe 'Merge request > User sees threads', :js do
diff_refs: outdated_diff_refs
)
end
+
let(:outdated_diff_refs) { project.commit("874797c3a73b60d2187ed6e2fcabd289ff75171e").diff_refs }
before do
diff --git a/spec/features/merge_request/user_sees_merge_request_pipelines_spec.rb b/spec/features/merge_request/user_sees_merge_request_pipelines_spec.rb
index e2aa10d80dd..fb7fa92dbb5 100644
--- a/spec/features/merge_request/user_sees_merge_request_pipelines_spec.rb
+++ b/spec/features/merge_request/user_sees_merge_request_pipelines_spec.rb
@@ -53,6 +53,7 @@ RSpec.describe 'Merge request > User sees pipelines triggered by merge request',
Ci::CreatePipelineService.new(project, user, ref: 'feature')
.execute(:merge_request_event, merge_request: merge_request)
end
+
let(:enable_mr_tabs_position_flag) { false }
before do
diff --git a/spec/features/merge_request/user_sees_pipelines_from_forked_project_spec.rb b/spec/features/merge_request/user_sees_pipelines_from_forked_project_spec.rb
index 56092da5136..a9fefc89d6c 100644
--- a/spec/features/merge_request/user_sees_pipelines_from_forked_project_spec.rb
+++ b/spec/features/merge_request/user_sees_pipelines_from_forked_project_spec.rb
@@ -13,6 +13,7 @@ RSpec.describe 'Merge request > User sees pipelines from forked project', :js do
target_project: target_project,
description: 'Test merge request')
end
+
let(:pipeline) do
create(:ci_pipeline,
project: forked_project,
diff --git a/spec/features/merge_request/user_sees_versions_spec.rb b/spec/features/merge_request/user_sees_versions_spec.rb
index a89ae5c7464..60e054ddbee 100644
--- a/spec/features/merge_request/user_sees_versions_spec.rb
+++ b/spec/features/merge_request/user_sees_versions_spec.rb
@@ -8,6 +8,7 @@ RSpec.describe 'Merge request > User sees versions', :js do
mr.merge_request_diff.destroy!
end
end
+
let(:project) { merge_request.source_project }
let(:user) { project.creator }
let!(:merge_request_diff1) { merge_request.merge_request_diffs.create!(head_commit_sha: '6f6d7e7ed97bb5f0054f2b1df789b39ca89b6ff9') }
diff --git a/spec/features/merge_request/user_suggests_changes_on_diff_spec.rb b/spec/features/merge_request/user_suggests_changes_on_diff_spec.rb
index 0506d190487..39495832547 100644
--- a/spec/features/merge_request/user_suggests_changes_on_diff_spec.rb
+++ b/spec/features/merge_request/user_suggests_changes_on_diff_spec.rb
@@ -22,6 +22,7 @@ RSpec.describe 'User comments on a diff', :js do
let(:merge_request) do
create(:merge_request_with_diffs, source_project: project, target_project: project, source_branch: 'merge-test')
end
+
let(:user) { create(:user) }
before do
diff --git a/spec/features/merge_request/user_tries_to_access_private_project_info_through_new_mr_spec.rb b/spec/features/merge_request/user_tries_to_access_private_project_info_through_new_mr_spec.rb
index b864cb55785..96a1cd81c93 100644
--- a/spec/features/merge_request/user_tries_to_access_private_project_info_through_new_mr_spec.rb
+++ b/spec/features/merge_request/user_tries_to_access_private_project_info_through_new_mr_spec.rb
@@ -10,6 +10,7 @@ RSpec.describe 'Merge Request > User tries to access private project information
name: 'nothing to see here',
repository_access_level: ProjectFeature::PRIVATE)
end
+
let(:owned_project) do
create(:project, :public, :repository,
namespace: current_user.namespace,
diff --git a/spec/features/merge_request/user_views_diffs_file_by_file_spec.rb b/spec/features/merge_request/user_views_diffs_file_by_file_spec.rb
index c254a142349..abb313cb529 100644
--- a/spec/features/merge_request/user_views_diffs_file_by_file_spec.rb
+++ b/spec/features/merge_request/user_views_diffs_file_by_file_spec.rb
@@ -6,6 +6,7 @@ RSpec.describe 'User views diffs file-by-file', :js do
let(:merge_request) do
create(:merge_request_with_diffs, source_project: project, target_project: project, source_branch: 'merge-test')
end
+
let(:project) { create(:project, :repository) }
let(:user) { create(:user, view_diffs_file_by_file: true) }
diff --git a/spec/features/merge_request/user_views_diffs_spec.rb b/spec/features/merge_request/user_views_diffs_spec.rb
index 14d10fc1c9f..537c0473fa4 100644
--- a/spec/features/merge_request/user_views_diffs_spec.rb
+++ b/spec/features/merge_request/user_views_diffs_spec.rb
@@ -6,6 +6,7 @@ RSpec.describe 'User views diffs', :js do
let(:merge_request) do
create(:merge_request_with_diffs, source_project: project, target_project: project, source_branch: 'merge-test')
end
+
let(:project) { create(:project, :public, :repository) }
let(:view) { 'inline' }
diff --git a/spec/features/merge_requests/user_views_diffs_commit_spec.rb b/spec/features/merge_requests/user_views_diffs_commit_spec.rb
index 590397df73f..fcaabf9b0e7 100644
--- a/spec/features/merge_requests/user_views_diffs_commit_spec.rb
+++ b/spec/features/merge_requests/user_views_diffs_commit_spec.rb
@@ -6,6 +6,7 @@ RSpec.describe 'User views diff by commit', :js do
let(:merge_request) do
create(:merge_request_with_diffs, source_project: project, target_project: project, source_branch: 'merge-test')
end
+
let(:project) { create(:project, :public, :repository) }
before do
diff --git a/spec/features/profiles/chat_names_spec.rb b/spec/features/profiles/chat_names_spec.rb
index 80b36aa37b8..ca888018cad 100644
--- a/spec/features/profiles/chat_names_spec.rb
+++ b/spec/features/profiles/chat_names_spec.rb
@@ -14,6 +14,7 @@ RSpec.describe 'Profile > Chat' do
let(:params) do
{ team_id: 'T00', team_domain: 'my_chat_team', user_id: 'U01', user_name: 'my_chat_user' }
end
+
let!(:authorize_url) { ChatNames::AuthorizeUserService.new(service, params).execute }
let(:authorize_path) { URI.parse(authorize_url).request_uri }
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 0f07ca7635b..9522e5ce2cf 100644
--- a/spec/features/projects/classification_label_on_project_pages_spec.rb
+++ b/spec/features/projects/classification_label_on_project_pages_spec.rb
@@ -6,6 +6,7 @@ RSpec.describe 'Classification label on project pages' do
let(:project) do
create(:project, external_authorization_classification_label: 'authorized label')
end
+
let(:user) { create(:user) }
before do
diff --git a/spec/features/projects/commit/mini_pipeline_graph_spec.rb b/spec/features/projects/commit/mini_pipeline_graph_spec.rb
index 9349f36282d..cf9b86f16bb 100644
--- a/spec/features/projects/commit/mini_pipeline_graph_spec.rb
+++ b/spec/features/projects/commit/mini_pipeline_graph_spec.rb
@@ -12,6 +12,7 @@ RSpec.describe 'Mini Pipeline Graph in Commit View', :js do
ref: project.default_branch,
sha: project.commit.sha)
end
+
let(:build) { create(:ci_build, pipeline: pipeline) }
it 'display icon with status' do
diff --git a/spec/features/projects/files/user_browses_files_spec.rb b/spec/features/projects/files/user_browses_files_spec.rb
index e5259bd88be..a6126fbcb33 100644
--- a/spec/features/projects/files/user_browses_files_spec.rb
+++ b/spec/features/projects/files/user_browses_files_spec.rb
@@ -9,6 +9,7 @@ RSpec.describe "User browses files" 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."
end
+
let(:project) { create(:project, :repository, name: "Shop") }
let(:project2) { create(:project, :repository, name: "Another Project", path: "another-project") }
let(:tree_path_root_ref) { project_tree_path(project, project.repository.root_ref) }
diff --git a/spec/features/projects/files/user_creates_directory_spec.rb b/spec/features/projects/files/user_creates_directory_spec.rb
index 47c5d667f4f..f2074c78dba 100644
--- a/spec/features/projects/files/user_creates_directory_spec.rb
+++ b/spec/features/projects/files/user_creates_directory_spec.rb
@@ -7,6 +7,7 @@ RSpec.describe 'Projects > Files > User creates a directory', :js 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."
end
+
let(:project) { create(:project, :repository) }
let(:project2) { create(:project, :repository, name: 'Another Project', path: 'another-project') }
let(:project2_tree_path_root_ref) { project_tree_path(project2, project2.repository.root_ref) }
diff --git a/spec/features/projects/files/user_creates_files_spec.rb b/spec/features/projects/files/user_creates_files_spec.rb
index 5abc048c135..39bc139656b 100644
--- a/spec/features/projects/files/user_creates_files_spec.rb
+++ b/spec/features/projects/files/user_creates_files_spec.rb
@@ -7,6 +7,7 @@ RSpec.describe 'Projects > Files > User creates files', :js 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."
end
+
let(:project) { create(:project, :repository, name: 'Shop') }
let(:project2) { create(:project, :repository, name: 'Another Project', path: 'another-project') }
let(:project_tree_path_root_ref) { project_tree_path(project, project.repository.root_ref) }
diff --git a/spec/features/projects/files/user_deletes_files_spec.rb b/spec/features/projects/files/user_deletes_files_spec.rb
index 4df23b852ff..b6e300e9e59 100644
--- a/spec/features/projects/files/user_deletes_files_spec.rb
+++ b/spec/features/projects/files/user_deletes_files_spec.rb
@@ -7,6 +7,7 @@ RSpec.describe 'Projects > Files > User deletes files', :js 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."
end
+
let(:project) { create(:project, :repository, name: 'Shop') }
let(:project2) { create(:project, :repository, name: 'Another Project', path: 'another-project') }
let(:project_tree_path_root_ref) { project_tree_path(project, project.repository.root_ref) }
diff --git a/spec/features/projects/files/user_replaces_files_spec.rb b/spec/features/projects/files/user_replaces_files_spec.rb
index b11cf732c95..c9b472260bd 100644
--- a/spec/features/projects/files/user_replaces_files_spec.rb
+++ b/spec/features/projects/files/user_replaces_files_spec.rb
@@ -9,6 +9,7 @@ RSpec.describe 'Projects > Files > User replaces files', :js 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."
end
+
let(:project) { create(:project, :repository, name: 'Shop') }
let(:project2) { create(:project, :repository, name: 'Another Project', path: 'another-project') }
let(:project_tree_path_root_ref) { project_tree_path(project, project.repository.root_ref) }
diff --git a/spec/features/projects/import_export/export_file_spec.rb b/spec/features/projects/import_export/export_file_spec.rb
index 86aeb2bc80c..7f8ded4fa43 100644
--- a/spec/features/projects/import_export/export_file_spec.rb
+++ b/spec/features/projects/import_export/export_file_spec.rb
@@ -19,6 +19,7 @@ RSpec.describe 'Import/Export - project export integration test', :js do
key: [Project, Ci::Variable, :yaml_variables]
}
end
+
let(:safe_hashes) { { yaml_variables: %w[key value public] } }
let(:project) { setup_project }
diff --git a/spec/features/projects/issues/viewing_issues_with_external_authorization_enabled_spec.rb b/spec/features/projects/issues/viewing_issues_with_external_authorization_enabled_spec.rb
index 6feefff9207..b423543dc33 100644
--- a/spec/features/projects/issues/viewing_issues_with_external_authorization_enabled_spec.rb
+++ b/spec/features/projects/issues/viewing_issues_with_external_authorization_enabled_spec.rb
@@ -11,33 +11,39 @@ RSpec.describe 'viewing an issue with cross project references' do
create(:project, :public,
external_authorization_classification_label: 'other_label')
end
+
let(:other_issue) do
create(:issue, :closed,
title: 'I am in another project',
project: other_project)
end
+
let(:other_confidential_issue) do
create(:issue, :confidential, :closed,
title: 'I am in another project and confidential',
project: other_project)
end
+
let(:other_merge_request) do
create(:merge_request, :closed,
title: 'I am a merge request in another project',
source_project: other_project)
end
+
let(:description_referencing_other_issue) do
"Referencing: #{other_issue.to_reference(project)}, "\
"a confidential issue #{confidential_issue.to_reference}, "\
"a cross project confidential issue #{other_confidential_issue.to_reference(project)}, and "\
"a cross project merge request #{other_merge_request.to_reference(project)}"
end
+
let(:project) { create(:project) }
let(:issue) do
create(:issue,
project: project,
description: description_referencing_other_issue )
end
+
let(:confidential_issue) do
create(:issue, :confidential, :closed,
title: "I am in the same project and confidential",
diff --git a/spec/features/projects/pipelines/pipeline_spec.rb b/spec/features/projects/pipelines/pipeline_spec.rb
index 70cc64e9308..974e702cd7c 100644
--- a/spec/features/projects/pipelines/pipeline_spec.rb
+++ b/spec/features/projects/pipelines/pipeline_spec.rb
@@ -137,6 +137,7 @@ RSpec.describe 'Pipeline', :js do
source_project: project,
source_branch: pipeline.ref)
end
+
let!(:merge_request2) do
create(:merge_request,
source_project: project,
diff --git a/spec/features/projects/wiki/user_views_wiki_pages_spec.rb b/spec/features/projects/wiki/user_views_wiki_pages_spec.rb
index fea913b8212..4f29ae0cc8a 100644
--- a/spec/features/projects/wiki/user_views_wiki_pages_spec.rb
+++ b/spec/features/projects/wiki/user_views_wiki_pages_spec.rb
@@ -11,9 +11,11 @@ RSpec.describe 'User views wiki pages' do
let!(:wiki_page1) do
create(:wiki_page, wiki: project.wiki, title: '3 home', content: '3')
end
+
let!(:wiki_page2) do
create(:wiki_page, wiki: project.wiki, title: '1 home', content: '1')
end
+
let!(:wiki_page3) do
create(:wiki_page, wiki: project.wiki, title: '2 home', content: '2')
end
diff --git a/spec/finders/fork_targets_finder_spec.rb b/spec/finders/fork_targets_finder_spec.rb
index 3c66f4e5757..7208f46cfff 100644
--- a/spec/finders/fork_targets_finder_spec.rb
+++ b/spec/finders/fork_targets_finder_spec.rb
@@ -10,15 +10,19 @@ RSpec.describe ForkTargetsFinder do
let!(:maintained_group) do
create(:group).tap { |g| g.add_maintainer(user) }
end
+
let!(:owned_group) do
create(:group).tap { |g| g.add_owner(user) }
end
+
let!(:developer_group) do
create(:group).tap { |g| g.add_developer(user) }
end
+
let!(:reporter_group) do
create(:group).tap { |g| g.add_reporter(user) }
end
+
let!(:guest_group) do
create(:group).tap { |g| g.add_guest(user) }
end
diff --git a/spec/frontend/fixtures/merge_requests.rb b/spec/frontend/fixtures/merge_requests.rb
index 7801eb27ce8..6f281b26e6d 100644
--- a/spec/frontend/fixtures/merge_requests.rb
+++ b/spec/frontend/fixtures/merge_requests.rb
@@ -38,6 +38,7 @@ RSpec.describe Projects::MergeRequestsController, '(JavaScript fixtures)', type:
sha: merge_request.diff_head_sha
)
end
+
let(:path) { "files/ruby/popen.rb" }
let(:position) do
build(:text_diff_position, :added,
diff --git a/spec/graphql/features/authorization_spec.rb b/spec/graphql/features/authorization_spec.rb
index 6e5a8b9f4be..e40c44925e2 100644
--- a/spec/graphql/features/authorization_spec.rb
+++ b/spec/graphql/features/authorization_spec.rb
@@ -257,6 +257,7 @@ RSpec.describe 'Gitlab::Graphql::Authorization' do
type.field :id, GraphQL::ID_TYPE, null: false
end
end
+
let(:project_type) do |type|
type_factory do |type|
type.graphql_name 'FakeProjectType'
@@ -264,11 +265,13 @@ RSpec.describe 'Gitlab::Graphql::Authorization' do
resolve: -> (_, _, _) { Issue.where(project: [visible_project, other_project]).order(id: :asc) }
end
end
+
let(:query_type) do
query_factory do |query|
query.field :test_project, project_type, null: false, resolve: -> (_, _, _) { visible_project }
end
end
+
let(:query_string) do
<<~QRY
{ testProject { testIssues(first: 3) { edges { node { id } } } } }
diff --git a/spec/graphql/mutations/issues/update_spec.rb b/spec/graphql/mutations/issues/update_spec.rb
index 203816334e6..15c15afd9b7 100644
--- a/spec/graphql/mutations/issues/update_spec.rb
+++ b/spec/graphql/mutations/issues/update_spec.rb
@@ -19,6 +19,7 @@ RSpec.describe Mutations::Issues::Update do
milestone_id: milestone.id
}
end
+
let(:mutation) { described_class.new(object: nil, context: { current_user: user }, field: nil) }
let(:mutated_issue) { subject[:issue] }
diff --git a/spec/graphql/resolvers/commit_pipelines_resolver_spec.rb b/spec/graphql/resolvers/commit_pipelines_resolver_spec.rb
index 20a0cb842a4..a408981c08e 100644
--- a/spec/graphql/resolvers/commit_pipelines_resolver_spec.rb
+++ b/spec/graphql/resolvers/commit_pipelines_resolver_spec.rb
@@ -18,6 +18,7 @@ RSpec.describe Resolvers::CommitPipelinesResolver do
status: 'success'
)
end
+
let!(:pipeline2) do
create(
:ci_pipeline,
@@ -27,6 +28,7 @@ RSpec.describe Resolvers::CommitPipelinesResolver do
status: 'failed'
)
end
+
let!(:pipeline3) do
create(
:ci_pipeline,
diff --git a/spec/graphql/types/design_management/design_at_version_type_spec.rb b/spec/graphql/types/design_management/design_at_version_type_spec.rb
index 5a6292c924a..4d61ecf62cc 100644
--- a/spec/graphql/types/design_management/design_at_version_type_spec.rb
+++ b/spec/graphql/types/design_management/design_at_version_type_spec.rb
@@ -10,6 +10,7 @@ RSpec.describe GitlabSchema.types['DesignAtVersion'] do
version = design.versions.first
GitlabSchema.id_from_object(create(:design_at_version, design: design, version: version))
end
+
let_it_be(:object_id_b) { GitlabSchema.id_from_object(create(:design_at_version)) }
let(:object_type) { ::Types::DesignManagement::DesignAtVersionType }
end
diff --git a/spec/graphql/types/snippet_type_spec.rb b/spec/graphql/types/snippet_type_spec.rb
index 0341ca2c733..86af69f1294 100644
--- a/spec/graphql/types/snippet_type_spec.rb
+++ b/spec/graphql/types/snippet_type_spec.rb
@@ -33,6 +33,7 @@ RSpec.describe GitlabSchema.types['Snippet'] do
}
)
end
+
let(:response) { subject.dig('data', 'snippets', 'nodes')[0] }
subject { GitlabSchema.execute(query, context: { current_user: current_user }).as_json }
@@ -97,6 +98,7 @@ RSpec.describe GitlabSchema.types['Snippet'] do
}
)
end
+
let(:response) { subject.dig('data', 'snippets', 'nodes')[0] }
subject { GitlabSchema.execute(query, context: { current_user: user }).as_json }
diff --git a/spec/helpers/blame_helper_spec.rb b/spec/helpers/blame_helper_spec.rb
index 6371c2b63ce..d305c4c595e 100644
--- a/spec/helpers/blame_helper_spec.rb
+++ b/spec/helpers/blame_helper_spec.rb
@@ -11,6 +11,7 @@ RSpec.describe BlameHelper do
Time.zone.local(2013, 2, 24, 0, 0, 0),
Time.zone.local(2010, 9, 22, 0, 0, 0)]
end
+
let(:blame_groups) do
[
{ commit: double(committed_date: dates[0]) },
@@ -57,6 +58,7 @@ RSpec.describe BlameHelper do
project = double(created_at: now)
helper.age_map_duration(today_blame_groups, project)
end
+
let(:today_blame_groups) { [{ commit: double(committed_date: now) }] }
let(:now) { Time.zone.now }
diff --git a/spec/helpers/groups_helper_spec.rb b/spec/helpers/groups_helper_spec.rb
index a739c16f3b1..0790dc1b674 100644
--- a/spec/helpers/groups_helper_spec.rb
+++ b/spec/helpers/groups_helper_spec.rb
@@ -114,12 +114,14 @@ RSpec.describe GroupsHelper do
ancestor_locked_and_has_been_overridden: /This setting is applied on .+ and has been overridden on this subgroup/
}
end
+
let(:possible_linked_ancestors) do
{
root_group: root_group,
subgroup: subgroup
}
end
+
let(:users) do
{
root_owner: root_owner,
diff --git a/spec/helpers/namespaces_helper_spec.rb b/spec/helpers/namespaces_helper_spec.rb
index 1313a5c9352..1636ba6ef42 100644
--- a/spec/helpers/namespaces_helper_spec.rb
+++ b/spec/helpers/namespaces_helper_spec.rb
@@ -10,6 +10,7 @@ RSpec.describe NamespacesHelper do
:private,
project_creation_level: admin_project_creation_level)
end
+
let!(:user) { create(:user) }
let!(:user_project_creation_level) { nil }
let!(:user_group) do
@@ -17,18 +18,21 @@ RSpec.describe NamespacesHelper do
:private,
project_creation_level: user_project_creation_level)
end
+
let!(:subgroup1) do
create(:group,
:private,
parent: admin_group,
project_creation_level: nil)
end
+
let!(:subgroup2) do
create(:group,
:private,
parent: admin_group,
project_creation_level: ::Gitlab::Access::DEVELOPER_MAINTAINER_PROJECT_ACCESS)
end
+
let!(:subgroup3) do
create(:group,
:private,
diff --git a/spec/lib/api/entities/nuget/dependency_group_spec.rb b/spec/lib/api/entities/nuget/dependency_group_spec.rb
index 5a649be846b..5e6de45adf2 100644
--- a/spec/lib/api/entities/nuget/dependency_group_spec.rb
+++ b/spec/lib/api/entities/nuget/dependency_group_spec.rb
@@ -34,6 +34,7 @@ RSpec.describe API::Entities::Nuget::DependencyGroup do
]
}
end
+
let(:entity) { described_class.new(dependency_group) }
subject { entity.as_json }
diff --git a/spec/lib/api/entities/nuget/dependency_spec.rb b/spec/lib/api/entities/nuget/dependency_spec.rb
index 13897cc91f0..fb87b21bd1e 100644
--- a/spec/lib/api/entities/nuget/dependency_spec.rb
+++ b/spec/lib/api/entities/nuget/dependency_spec.rb
@@ -20,6 +20,7 @@ RSpec.describe API::Entities::Nuget::Dependency do
'range': '2.0.0'
}
end
+
let(:entity) { described_class.new(dependency) }
subject { entity.as_json }
diff --git a/spec/lib/api/entities/nuget/metadatum_spec.rb b/spec/lib/api/entities/nuget/metadatum_spec.rb
index fe94ea3a69a..210ff0abdd3 100644
--- a/spec/lib/api/entities/nuget/metadatum_spec.rb
+++ b/spec/lib/api/entities/nuget/metadatum_spec.rb
@@ -10,6 +10,7 @@ RSpec.describe API::Entities::Nuget::Metadatum do
icon_url: 'http://sandbox.com/icon'
}
end
+
let(:expected) do
{
'projectUrl': 'http://sandbox.com/project',
@@ -17,6 +18,7 @@ RSpec.describe API::Entities::Nuget::Metadatum do
'iconUrl': 'http://sandbox.com/icon'
}
end
+
let(:entity) { described_class.new(metadatum) }
subject { entity.as_json }
diff --git a/spec/lib/api/entities/nuget/search_result_spec.rb b/spec/lib/api/entities/nuget/search_result_spec.rb
index 2a760c70224..a24cd44be9e 100644
--- a/spec/lib/api/entities/nuget/search_result_spec.rb
+++ b/spec/lib/api/entities/nuget/search_result_spec.rb
@@ -27,6 +27,7 @@ RSpec.describe API::Entities::Nuget::SearchResult do
}
}
end
+
let(:expected) do
{
'@type': 'Package',
diff --git a/spec/lib/banzai/filter/absolute_link_filter_spec.rb b/spec/lib/banzai/filter/absolute_link_filter_spec.rb
index 2cb70850dca..0c159e8bac8 100644
--- a/spec/lib/banzai/filter/absolute_link_filter_spec.rb
+++ b/spec/lib/banzai/filter/absolute_link_filter_spec.rb
@@ -12,6 +12,7 @@ RSpec.describe Banzai::Filter::AbsoluteLinkFilter do
let(:only_path_context) do
{ only_path: false }
end
+
let(:fake_url) { 'http://www.example.com' }
before do
diff --git a/spec/lib/banzai/filter/merge_request_reference_filter_spec.rb b/spec/lib/banzai/filter/merge_request_reference_filter_spec.rb
index f24fcf98b1f..df78a3321ba 100644
--- a/spec/lib/banzai/filter/merge_request_reference_filter_spec.rb
+++ b/spec/lib/banzai/filter/merge_request_reference_filter_spec.rb
@@ -220,6 +220,7 @@ RSpec.describe Banzai::Filter::MergeRequestReferenceFilter do
let(:reference) do
urls.project_merge_request_url(mr.project, mr) + "/diffs?commit_id=#{mr.diff_head_sha}"
end
+
let(:commit) { mr.commits.find { |commit| commit.sha == mr.diff_head_sha } }
it 'links to a valid reference' do
diff --git a/spec/lib/banzai/issuable_extractor_spec.rb b/spec/lib/banzai/issuable_extractor_spec.rb
index c4ee7160e12..8fec9691d7f 100644
--- a/spec/lib/banzai/issuable_extractor_spec.rb
+++ b/spec/lib/banzai/issuable_extractor_spec.rb
@@ -13,6 +13,7 @@ RSpec.describe Banzai::IssuableExtractor do
"<a href='' data-issue='#{issue.id}' data-reference-type='issue' class='gfm'>text</a>"
)
end
+
let(:merge_request_link) do
html_to_node(
"<a href='' data-merge-request='#{merge_request.id}' data-reference-type='merge_request' class='gfm'>text</a>"
diff --git a/spec/lib/banzai/object_renderer_spec.rb b/spec/lib/banzai/object_renderer_spec.rb
index f8d7acd3148..e64ab5dfce3 100644
--- a/spec/lib/banzai/object_renderer_spec.rb
+++ b/spec/lib/banzai/object_renderer_spec.rb
@@ -73,6 +73,7 @@ RSpec.describe Banzai::ObjectRenderer do
end
end
end
+
let(:cacheless_thing) do
cacheless_class.new.tap do |thing|
thing.title = "Merge branch 'branch-merged' into 'master'"
diff --git a/spec/lib/banzai/pipeline/full_pipeline_spec.rb b/spec/lib/banzai/pipeline/full_pipeline_spec.rb
index 0127ac11c81..9391ca386cf 100644
--- a/spec/lib/banzai/pipeline/full_pipeline_spec.rb
+++ b/spec/lib/banzai/pipeline/full_pipeline_spec.rb
@@ -109,6 +109,7 @@ RSpec.describe Banzai::Pipeline::FullPipeline do
# Header
MARKDOWN
end
+
let(:invalid_markdown) do
<<-MARKDOWN.strip_heredoc
test [[_TOC_]]
diff --git a/spec/lib/container_registry/client_spec.rb b/spec/lib/container_registry/client_spec.rb
index de92ca5eeec..aa947329c33 100644
--- a/spec/lib/container_registry/client_spec.rb
+++ b/spec/lib/container_registry/client_spec.rb
@@ -14,6 +14,7 @@ RSpec.describe ContainerRegistry::Client do
'User-Agent' => "GitLab/#{Gitlab::VERSION}"
}
end
+
let(:headers_with_accept_types) do
{
'Accept' => 'application/vnd.docker.distribution.manifest.v2+json, application/vnd.oci.image.manifest.v1+json',
diff --git a/spec/lib/gitlab/alert_management/alert_params_spec.rb b/spec/lib/gitlab/alert_management/alert_params_spec.rb
index 393838ab042..1fe27365c83 100644
--- a/spec/lib/gitlab/alert_management/alert_params_spec.rb
+++ b/spec/lib/gitlab/alert_management/alert_params_spec.rb
@@ -18,6 +18,7 @@ RSpec.describe Gitlab::AlertManagement::AlertParams do
'some' => { 'extra' => { 'payload' => 'here' } }
}
end
+
let(:payload) { default_payload }
subject { described_class.from_generic_alert(project: project, payload: payload) }
@@ -75,6 +76,7 @@ RSpec.describe Gitlab::AlertManagement::AlertParams do
'fingerprint' => 'b6ac4d42057c43c1'
}
end
+
let(:parsed_alert) { Gitlab::Alerting::Alert.new(project: project, payload: payload) }
subject { described_class.from_prometheus_alert(project: project, parsed_alert: parsed_alert) }
diff --git a/spec/lib/gitlab/application_rate_limiter_spec.rb b/spec/lib/gitlab/application_rate_limiter_spec.rb
index 14a7e25a2e8..2525b1ce41e 100644
--- a/spec/lib/gitlab/application_rate_limiter_spec.rb
+++ b/spec/lib/gitlab/application_rate_limiter_spec.rb
@@ -14,6 +14,7 @@ RSpec.describe Gitlab::ApplicationRateLimiter, :clean_gitlab_redis_cache do
}
}
end
+
let(:key) { rate_limits.keys[0] }
subject { described_class }
diff --git a/spec/lib/gitlab/asciidoc/include_processor_spec.rb b/spec/lib/gitlab/asciidoc/include_processor_spec.rb
index 067dcefb525..5c225575965 100644
--- a/spec/lib/gitlab/asciidoc/include_processor_spec.rb
+++ b/spec/lib/gitlab/asciidoc/include_processor_spec.rb
@@ -13,6 +13,7 @@ RSpec.describe Gitlab::Asciidoc::IncludeProcessor do
ref: ref
}
end
+
let(:ref) { project.repository.root_ref }
let(:max_includes) { 10 }
diff --git a/spec/lib/gitlab/asciidoc_spec.rb b/spec/lib/gitlab/asciidoc_spec.rb
index b28d4e8d5a5..1b669e691e7 100644
--- a/spec/lib/gitlab/asciidoc_spec.rb
+++ b/spec/lib/gitlab/asciidoc_spec.rb
@@ -473,6 +473,7 @@ module Gitlab
requested_path: requested_path
}
end
+
let(:commit) { project.commit(ref) }
let(:project) { create(:project, :repository) }
let(:ref) { 'asciidoc' }
diff --git a/spec/lib/gitlab/auth/auth_finders_spec.rb b/spec/lib/gitlab/auth/auth_finders_spec.rb
index d98f8a4507d..a73ac0b34af 100644
--- a/spec/lib/gitlab/auth/auth_finders_spec.rb
+++ b/spec/lib/gitlab/auth/auth_finders_spec.rb
@@ -12,6 +12,7 @@ RSpec.describe Gitlab::Auth::AuthFinders do
'rack.input' => ''
}
end
+
let(:request) { ActionDispatch::Request.new(env) }
def set_param(key, value)
diff --git a/spec/lib/gitlab/auth/ldap/user_spec.rb b/spec/lib/gitlab/auth/ldap/user_spec.rb
index 7ca2878e583..ccaed94b5c8 100644
--- a/spec/lib/gitlab/auth/ldap/user_spec.rb
+++ b/spec/lib/gitlab/auth/ldap/user_spec.rb
@@ -14,9 +14,11 @@ RSpec.describe Gitlab::Auth::Ldap::User do
nickname: 'john'
}
end
+
let(:auth_hash) do
OmniAuth::AuthHash.new(uid: 'uid=John Smith,ou=People,dc=example,dc=com', provider: 'ldapmain', info: info)
end
+
let(:ldap_user_upper_case) { described_class.new(auth_hash_upper_case) }
let(:info_upper_case) do
{
@@ -25,6 +27,7 @@ RSpec.describe Gitlab::Auth::Ldap::User do
nickname: 'john'
}
end
+
let(:auth_hash_upper_case) do
OmniAuth::AuthHash.new(uid: 'uid=John Smith,ou=People,dc=example,dc=com', provider: 'ldapmain', info: info_upper_case)
end
diff --git a/spec/lib/gitlab/auth/o_auth/auth_hash_spec.rb b/spec/lib/gitlab/auth/o_auth/auth_hash_spec.rb
index 7a60acca95b..67ffdee0c4a 100644
--- a/spec/lib/gitlab/auth/o_auth/auth_hash_spec.rb
+++ b/spec/lib/gitlab/auth/o_auth/auth_hash_spec.rb
@@ -17,6 +17,7 @@ RSpec.describe Gitlab::Auth::OAuth::AuthHash do
let(:uid_raw) do
+"CN=Onur K\xC3\xBC\xC3\xA7\xC3\xBCk,OU=Test,DC=example,DC=net"
end
+
let(:email_raw) { +"onur.k\xC3\xBC\xC3\xA7\xC3\xBCk_ABC-123@example.net" }
let(:nickname_raw) { +"ok\xC3\xBC\xC3\xA7\xC3\xBCk" }
let(:first_name_raw) { +'Onur' }
diff --git a/spec/lib/gitlab/auth/o_auth/user_spec.rb b/spec/lib/gitlab/auth/o_auth/user_spec.rb
index ad04fddc675..cc9e3b957e3 100644
--- a/spec/lib/gitlab/auth/o_auth/user_spec.rb
+++ b/spec/lib/gitlab/auth/o_auth/user_spec.rb
@@ -22,6 +22,7 @@ RSpec.describe Gitlab::Auth::OAuth::User do
}
}
end
+
let(:ldap_user) { Gitlab::Auth::Ldap::Person.new(Net::LDAP::Entry.new, 'ldapmain') }
describe '#persisted?' do
diff --git a/spec/lib/gitlab/auth/request_authenticator_spec.rb b/spec/lib/gitlab/auth/request_authenticator_spec.rb
index 32d64519e2c..ef83321cc0e 100644
--- a/spec/lib/gitlab/auth/request_authenticator_spec.rb
+++ b/spec/lib/gitlab/auth/request_authenticator_spec.rb
@@ -9,6 +9,7 @@ RSpec.describe Gitlab::Auth::RequestAuthenticator do
'REQUEST_METHOD' => 'GET'
}
end
+
let(:request) { ActionDispatch::Request.new(env) }
subject { described_class.new(request) }
diff --git a/spec/lib/gitlab/auth/saml/user_spec.rb b/spec/lib/gitlab/auth/saml/user_spec.rb
index 7f8346f0486..fd48492f18d 100644
--- a/spec/lib/gitlab/auth/saml/user_spec.rb
+++ b/spec/lib/gitlab/auth/saml/user_spec.rb
@@ -19,6 +19,7 @@ RSpec.describe Gitlab::Auth::Saml::User do
email: 'john@mail.com'
}
end
+
let(:ldap_user) { Gitlab::Auth::Ldap::Person.new(Net::LDAP::Entry.new, 'ldapmain') }
describe '#save' do
@@ -194,6 +195,7 @@ RSpec.describe Gitlab::Auth::Saml::User do
}
}
end
+
let(:auth_hash) { OmniAuth::AuthHash.new(auth_hash_base_attributes) }
let(:uid_types) { %w(uid dn email) }
diff --git a/spec/lib/gitlab/auth_spec.rb b/spec/lib/gitlab/auth_spec.rb
index a73c6317f31..83bba3cec04 100644
--- a/spec/lib/gitlab/auth_spec.rb
+++ b/spec/lib/gitlab/auth_spec.rb
@@ -631,6 +631,7 @@ RSpec.describe Gitlab::Auth, :use_clean_rails_memory_store_caching do
password: password,
password_confirmation: password)
end
+
let(:username) { 'John' } # username isn't lowercase, test this
let(:password) { 'my-secret' }
diff --git a/spec/lib/gitlab/background_migration/backfill_snippet_repositories_spec.rb b/spec/lib/gitlab/background_migration/backfill_snippet_repositories_spec.rb
index ec2fd3cc4e0..fad33265030 100644
--- a/spec/lib/gitlab/background_migration/backfill_snippet_repositories_spec.rb
+++ b/spec/lib/gitlab/background_migration/backfill_snippet_repositories_spec.rb
@@ -264,6 +264,7 @@ RSpec.describe Gitlab::BackgroundMigration::BackfillSnippetRepositories, :migrat
user_type: user_type,
confirmed_at: 1.day.ago)
end
+
let!(:invalid_snippet) { snippets.create(id: 4, type: 'PersonalSnippet', author_id: user.id, file_name: '.', content: content) }
let!(:snippet) { snippets.create(id: 5, type: 'PersonalSnippet', author_id: other_user.id, file_name: file_name, content: content) }
let(:ids) { [4, 5] }
diff --git a/spec/lib/gitlab/background_migration/legacy_upload_mover_spec.rb b/spec/lib/gitlab/background_migration/legacy_upload_mover_spec.rb
index bf793e7c537..1637589d272 100644
--- a/spec/lib/gitlab/background_migration/legacy_upload_mover_spec.rb
+++ b/spec/lib/gitlab/background_migration/legacy_upload_mover_spec.rb
@@ -264,6 +264,7 @@ RSpec.describe Gitlab::BackgroundMigration::LegacyUploadMover do
let(:remote_file) do
{ key: "#{legacy_upload.path}" }
end
+
let(:connection) { ::Fog::Storage.new(FileUploader.object_store_credentials) }
let(:bucket) { connection.directories.create(key: 'uploads') }
diff --git a/spec/lib/gitlab/background_migration/migrate_issue_trackers_sensitive_data_spec.rb b/spec/lib/gitlab/background_migration/migrate_issue_trackers_sensitive_data_spec.rb
index d53f79c61c1..d829fd5daf5 100644
--- a/spec/lib/gitlab/background_migration/migrate_issue_trackers_sensitive_data_spec.rb
+++ b/spec/lib/gitlab/background_migration/migrate_issue_trackers_sensitive_data_spec.rb
@@ -286,9 +286,11 @@ RSpec.describe Gitlab::BackgroundMigration::MigrateIssueTrackersSensitiveData, s
let!(:jira_service_invalid) do
services.create(id: 19, title: 'invalid - title', description: 'invalid - description', type: 'JiraService', properties: 'invalid data', category: 'issue_tracker')
end
+
let!(:jira_service_valid) do
services.create(id: 20, type: 'JiraService', properties: jira_properties.to_json, category: 'issue_tracker')
end
+
let!(:bugzilla_service_valid) do
services.create(id: 11, type: 'BugzillaService', title: nil, properties: tracker_properties.to_json, category: 'issue_tracker')
end
diff --git a/spec/lib/gitlab/background_migration_spec.rb b/spec/lib/gitlab/background_migration_spec.rb
index b110fa484ff..052a01a8dd8 100644
--- a/spec/lib/gitlab/background_migration_spec.rb
+++ b/spec/lib/gitlab/background_migration_spec.rb
@@ -130,6 +130,7 @@ RSpec.describe Gitlab::BackgroundMigration do
let(:retry_queue) do
[double(args: ['Object', [3]], queue: described_class.queue, delete: true)]
end
+
let(:dead_queue) do
[double(args: ['Object', [4]], queue: described_class.queue, delete: true)]
end
diff --git a/spec/lib/gitlab/bitbucket_import/importer_spec.rb b/spec/lib/gitlab/bitbucket_import/importer_spec.rb
index 08b7bafddf0..d4483bf1754 100644
--- a/spec/lib/gitlab/bitbucket_import/importer_spec.rb
+++ b/spec/lib/gitlab/bitbucket_import/importer_spec.rb
@@ -87,6 +87,7 @@ RSpec.describe Gitlab::BitbucketImport::Importer do
values: sample_issues_statuses
}
end
+
let(:counter) { double('counter', increment: true) }
subject { described_class.new(project) }
@@ -109,6 +110,7 @@ RSpec.describe Gitlab::BitbucketImport::Importer do
created_at: Time.now,
updated_at: Time.now)
end
+
let(:author_line) { "*Created by: someuser*\n\n" }
before do
diff --git a/spec/lib/gitlab/ci/ansi2html_spec.rb b/spec/lib/gitlab/ci/ansi2html_spec.rb
index f29a39e4e66..bf1f2bae7da 100644
--- a/spec/lib/gitlab/ci/ansi2html_spec.rb
+++ b/spec/lib/gitlab/ci/ansi2html_spec.rb
@@ -213,6 +213,7 @@ RSpec.describe Gitlab::Ci::Ansi2html do
" data-timestamp=\"#{section_start_time.to_i}\" data-section=\"#{class_name(section_name)}\"" \
' role="button"></div>'
end
+
let(:section_end_html) do
"<div class=\"section-end\" data-section=\"#{class_name(section_name)}\"></div>"
end
diff --git a/spec/lib/gitlab/ci/config/entry/service_spec.rb b/spec/lib/gitlab/ci/config/entry/service_spec.rb
index 9fbc14c19b9..ec137ef2ae4 100644
--- a/spec/lib/gitlab/ci/config/entry/service_spec.rb
+++ b/spec/lib/gitlab/ci/config/entry/service_spec.rb
@@ -95,6 +95,7 @@ RSpec.describe Gitlab::Ci::Config::Entry::Service do
let(:config) do
{ name: 'postgresql:9.5', alias: 'db', command: %w(cmd run), entrypoint: %w(/bin/sh run), ports: ports }
end
+
let(:entry) { described_class.new(config, { with_image_ports: image_ports }) }
let(:image_ports) { false }
diff --git a/spec/lib/gitlab/ci/config/external/file/local_spec.rb b/spec/lib/gitlab/ci/config/external/file/local_spec.rb
index 993a07568de..fdd29afe2d6 100644
--- a/spec/lib/gitlab/ci/config/external/file/local_spec.rb
+++ b/spec/lib/gitlab/ci/config/external/file/local_spec.rb
@@ -92,6 +92,7 @@ RSpec.describe Gitlab::Ci::Config::External::File::Local do
- bundle install --jobs $(nproc) "${FLAGS[@]}"
HEREDOC
end
+
let(:location) { '/lib/gitlab/ci/templates/existent-file.yml' }
before do
diff --git a/spec/lib/gitlab/ci/config/external/processor_spec.rb b/spec/lib/gitlab/ci/config/external/processor_spec.rb
index b2cf36b2597..9786e050399 100644
--- a/spec/lib/gitlab/ci/config/external/processor_spec.rb
+++ b/spec/lib/gitlab/ci/config/external/processor_spec.rb
@@ -128,6 +128,7 @@ RSpec.describe Gitlab::Ci::Config::External::Processor do
remote_file
]
end
+
let(:values) do
{
include: external_files,
diff --git a/spec/lib/gitlab/ci/pipeline/chain/validate/repository_spec.rb b/spec/lib/gitlab/ci/pipeline/chain/validate/repository_spec.rb
index 1dc2e0a1822..7eefb4d7876 100644
--- a/spec/lib/gitlab/ci/pipeline/chain/validate/repository_spec.rb
+++ b/spec/lib/gitlab/ci/pipeline/chain/validate/repository_spec.rb
@@ -68,6 +68,7 @@ RSpec.describe Gitlab::Ci::Pipeline::Chain::Validate::Repository do
proj.repository.add_tag(user, 'master', 'master')
end
end
+
let(:command) do
Gitlab::Ci::Pipeline::Chain::Command.new(
project: project, current_user: user, origin_ref: 'master')
diff --git a/spec/lib/gitlab/ci/reports/accessibility_reports_comparer_spec.rb b/spec/lib/gitlab/ci/reports/accessibility_reports_comparer_spec.rb
index 240ede790e0..650ae41320b 100644
--- a/spec/lib/gitlab/ci/reports/accessibility_reports_comparer_spec.rb
+++ b/spec/lib/gitlab/ci/reports/accessibility_reports_comparer_spec.rb
@@ -21,6 +21,7 @@ RSpec.describe Gitlab::Ci::Reports::AccessibilityReportsComparer do
}
]
end
+
let(:different_error) do
[
{
diff --git a/spec/lib/gitlab/ci/yaml_processor_spec.rb b/spec/lib/gitlab/ci/yaml_processor_spec.rb
index 80ec67e8cd5..1c81cc83cd1 100644
--- a/spec/lib/gitlab/ci/yaml_processor_spec.rb
+++ b/spec/lib/gitlab/ci/yaml_processor_spec.rb
@@ -942,6 +942,7 @@ module Gitlab
let(:variables) do
{ 'VAR1' => 'value1', 'VAR2' => 'value2' }
end
+
let(:config) do
{
variables: variables,
@@ -962,9 +963,11 @@ module Gitlab
let(:global_variables) do
{ 'VAR1' => 'global1', 'VAR3' => 'global3', 'VAR4' => 'global4' }
end
+
let(:job_variables) do
{ 'VAR1' => 'value1', 'VAR2' => 'value2' }
end
+
let(:config) do
{
before_script: ['pwd'],
@@ -2073,6 +2076,7 @@ module Gitlab
{ job: "build2" }
]
end
+
let(:dependencies) { %w(build3) }
it { expect { subject }.to raise_error(Gitlab::Ci::YamlProcessor::ValidationError, 'jobs:test1 dependencies the build3 should be part of needs') }
diff --git a/spec/lib/gitlab/cleanup/remote_uploads_spec.rb b/spec/lib/gitlab/cleanup/remote_uploads_spec.rb
index 1752608f844..c59b7f004dd 100644
--- a/spec/lib/gitlab/cleanup/remote_uploads_spec.rb
+++ b/spec/lib/gitlab/cleanup/remote_uploads_spec.rb
@@ -11,6 +11,7 @@ RSpec.describe Gitlab::Cleanup::RemoteUploads do
create(:upload, path: 'dir/file2', store: ObjectStorage::Store::LOCAL)
]
end
+
let(:remote_files) do
[
double(key: 'dir/file1'),
diff --git a/spec/lib/gitlab/cross_project_access/class_methods_spec.rb b/spec/lib/gitlab/cross_project_access/class_methods_spec.rb
index cc2c431fc07..afc45c86362 100644
--- a/spec/lib/gitlab/cross_project_access/class_methods_spec.rb
+++ b/spec/lib/gitlab/cross_project_access/class_methods_spec.rb
@@ -8,6 +8,7 @@ RSpec.describe Gitlab::CrossProjectAccess::ClassMethods do
extend Gitlab::CrossProjectAccess::ClassMethods
end
end
+
let(:dummy_proc) { lambda { false } }
describe '#requires_cross_project_access' do
diff --git a/spec/lib/gitlab/danger/commit_linter_spec.rb b/spec/lib/gitlab/danger/commit_linter_spec.rb
index 06bec6f793d..c31522c538d 100644
--- a/spec/lib/gitlab/danger/commit_linter_spec.rb
+++ b/spec/lib/gitlab/danger/commit_linter_spec.rb
@@ -16,6 +16,7 @@ RSpec.describe Gitlab::Danger::CommitLinter do
let(:commit_class) do
Struct.new(:message, :sha, :diff_parent)
end
+
let(:commit_message) { 'A commit message' }
let(:commit_sha) { 'abcd1234' }
let(:commit) { commit_class.new(commit_message, commit_sha, diff_parent) }
diff --git a/spec/lib/gitlab/danger/roulette_spec.rb b/spec/lib/gitlab/danger/roulette_spec.rb
index 9517b0a8f63..b471e17e2e7 100644
--- a/spec/lib/gitlab/danger/roulette_spec.rb
+++ b/spec/lib/gitlab/danger/roulette_spec.rb
@@ -22,6 +22,7 @@ RSpec.describe Gitlab::Danger::Roulette do
'tz_offset_hours' => backend_tz_offset_hours
)
end
+
let(:frontend_reviewer) do
Gitlab::Danger::Teammate.new(
'username' => 'frontend-reviewer',
@@ -32,6 +33,7 @@ RSpec.describe Gitlab::Danger::Roulette do
'tz_offset_hours' => 2.0
)
end
+
let(:frontend_maintainer) do
Gitlab::Danger::Teammate.new(
'username' => 'frontend-maintainer',
@@ -42,6 +44,7 @@ RSpec.describe Gitlab::Danger::Roulette do
'tz_offset_hours' => 2.0
)
end
+
let(:software_engineer_in_test) do
Gitlab::Danger::Teammate.new(
'username' => 'software-engineer-in-test',
@@ -52,6 +55,7 @@ RSpec.describe Gitlab::Danger::Roulette do
'tz_offset_hours' => 2.0
)
end
+
let(:engineering_productivity_reviewer) do
Gitlab::Danger::Teammate.new(
'username' => 'eng-prod-reviewer',
@@ -296,18 +300,21 @@ RSpec.describe Gitlab::Danger::Roulette do
'tz_offset_hours' => person_tz_offset_hours
)
end
+
let(:person2) do
Gitlab::Danger::Teammate.new(
'username' => 'user2',
'available' => true,
'tz_offset_hours' => person_tz_offset_hours)
end
+
let(:author) do
Gitlab::Danger::Teammate.new(
'username' => 'johndoe',
'available' => true,
'tz_offset_hours' => 0.0)
end
+
let(:unavailable) do
Gitlab::Danger::Teammate.new(
'username' => 'janedoe',
diff --git a/spec/lib/gitlab/danger/teammate_spec.rb b/spec/lib/gitlab/danger/teammate_spec.rb
index 82bed5073db..12819614fab 100644
--- a/spec/lib/gitlab/danger/teammate_spec.rb
+++ b/spec/lib/gitlab/danger/teammate_spec.rb
@@ -20,6 +20,7 @@ RSpec.describe Gitlab::Danger::Teammate do
'tz_offset_hours' => tz_offset_hours
}
end
+
let(:capabilities) { ['reviewer backend'] }
let(:projects) { { project => capabilities } }
let(:role) { 'Engineer, Manage' }
diff --git a/spec/lib/gitlab/database/count/tablesample_count_strategy_spec.rb b/spec/lib/gitlab/database/count/tablesample_count_strategy_spec.rb
index e488bf5ee4c..c2028f8c238 100644
--- a/spec/lib/gitlab/database/count/tablesample_count_strategy_spec.rb
+++ b/spec/lib/gitlab/database/count/tablesample_count_strategy_spec.rb
@@ -23,6 +23,7 @@ RSpec.describe Gitlab::Database::Count::TablesampleCountStrategy do
Namespace => threshold + 1
}
end
+
let(:threshold) { Gitlab::Database::Count::TablesampleCountStrategy::EXACT_COUNT_THRESHOLD }
before do
diff --git a/spec/lib/gitlab/database/custom_structure_spec.rb b/spec/lib/gitlab/database/custom_structure_spec.rb
index beda9df3684..b3bdca0acdd 100644
--- a/spec/lib/gitlab/database/custom_structure_spec.rb
+++ b/spec/lib/gitlab/database/custom_structure_spec.rb
@@ -32,6 +32,7 @@ RSpec.describe Gitlab::Database::CustomStructure do
Gitlab::Database::PartitioningMigrationHelpers::PartitionedForeignKey.create(
cascade_delete: true, from_table: 'issues', from_column: 'project_id', to_table: 'projects', to_column: 'id')
end
+
let!(:second_fk) do
Gitlab::Database::PartitioningMigrationHelpers::PartitionedForeignKey.create(
cascade_delete: false, from_table: 'issues', from_column: 'moved_to_id', to_table: 'issues', to_column: 'id')
diff --git a/spec/lib/gitlab/database/partitioning_migration_helpers/foreign_key_helpers_spec.rb b/spec/lib/gitlab/database/partitioning_migration_helpers/foreign_key_helpers_spec.rb
index efa9c83b2d2..7d88c17c9b3 100644
--- a/spec/lib/gitlab/database/partitioning_migration_helpers/foreign_key_helpers_spec.rb
+++ b/spec/lib/gitlab/database/partitioning_migration_helpers/foreign_key_helpers_spec.rb
@@ -8,6 +8,7 @@ RSpec.describe Gitlab::Database::PartitioningMigrationHelpers::ForeignKeyHelpers
let(:model) do
ActiveRecord::Migration.new.extend(described_class)
end
+
let_it_be(:connection) { ActiveRecord::Base.connection }
let(:referenced_table) { :issues }
let(:function_name) { '_test_partitioned_foreign_keys_function' }
diff --git a/spec/lib/gitlab/database/partitioning_migration_helpers/table_management_helpers_spec.rb b/spec/lib/gitlab/database/partitioning_migration_helpers/table_management_helpers_spec.rb
index 995b598e7b3..86f79b213ae 100644
--- a/spec/lib/gitlab/database/partitioning_migration_helpers/table_management_helpers_spec.rb
+++ b/spec/lib/gitlab/database/partitioning_migration_helpers/table_management_helpers_spec.rb
@@ -321,6 +321,7 @@ RSpec.describe Gitlab::Database::PartitioningMigrationHelpers::TableManagementHe
let(:expected_tables) do
%w[000000 201912 202001 202002].map { |suffix| "#{Gitlab::Database::DYNAMIC_PARTITIONS_SCHEMA}.#{partitioned_table}_#{suffix}" }.unshift(partitioned_table)
end
+
let(:migration_class) { 'Gitlab::Database::PartitioningMigrationHelpers::BackfillPartitionedTable' }
context 'when the table is not allowed' do
diff --git a/spec/lib/gitlab/database/postgresql_adapter/force_disconnectable_mixin_spec.rb b/spec/lib/gitlab/database/postgresql_adapter/force_disconnectable_mixin_spec.rb
index 8b3a0ceb804..ea8c9e2cfd7 100644
--- a/spec/lib/gitlab/database/postgresql_adapter/force_disconnectable_mixin_spec.rb
+++ b/spec/lib/gitlab/database/postgresql_adapter/force_disconnectable_mixin_spec.rb
@@ -13,6 +13,7 @@ RSpec.describe Gitlab::Database::PostgresqlAdapter::ForceDisconnectableMixin do
end
end
end
+
let(:config) { Rails.application.config_for(:database).merge(pool: 1) }
let(:pool) { model.establish_connection(config) }
diff --git a/spec/lib/gitlab/diff/file_collection/commit_spec.rb b/spec/lib/gitlab/diff/file_collection/commit_spec.rb
index 6c109e96a53..7773604a638 100644
--- a/spec/lib/gitlab/diff/file_collection/commit_spec.rb
+++ b/spec/lib/gitlab/diff/file_collection/commit_spec.rb
@@ -9,6 +9,7 @@ RSpec.describe Gitlab::Diff::FileCollection::Commit do
let(:collection_default_args) do
{ diff_options: {} }
end
+
let(:diffable) { project.commit }
let(:stub_path) { 'bar/branch-test.txt' }
end
diff --git a/spec/lib/gitlab/diff/file_collection/compare_spec.rb b/spec/lib/gitlab/diff/file_collection/compare_spec.rb
index 168d58e584e..dda4513a3a1 100644
--- a/spec/lib/gitlab/diff/file_collection/compare_spec.rb
+++ b/spec/lib/gitlab/diff/file_collection/compare_spec.rb
@@ -23,6 +23,7 @@ RSpec.describe Gitlab::Diff::FileCollection::Compare do
diff_refs: diffable.diff_refs
}
end
+
let(:diffable) { Compare.new(raw_compare, project) }
let(:stub_path) { '.gitignore' }
end
diff --git a/spec/lib/gitlab/diff/file_collection/merge_request_diff_spec.rb b/spec/lib/gitlab/diff/file_collection/merge_request_diff_spec.rb
index a5e714c90fc..429e552278d 100644
--- a/spec/lib/gitlab/diff/file_collection/merge_request_diff_spec.rb
+++ b/spec/lib/gitlab/diff/file_collection/merge_request_diff_spec.rb
@@ -42,6 +42,7 @@ RSpec.describe Gitlab::Diff::FileCollection::MergeRequestDiff do
let(:collection_default_args) do
{ diff_options: {} }
end
+
let(:diffable) { merge_request.merge_request_diff }
let(:stub_path) { '.gitignore' }
end
diff --git a/spec/lib/gitlab/diff/file_spec.rb b/spec/lib/gitlab/diff/file_spec.rb
index 94abfcf079a..78be89c449b 100644
--- a/spec/lib/gitlab/diff/file_spec.rb
+++ b/spec/lib/gitlab/diff/file_spec.rb
@@ -800,6 +800,7 @@ RSpec.describe Gitlab::Diff::File do
let(:project) do
create(:project, :custom_repo, files: {})
end
+
let(:branch_name) { 'master' }
context 'when empty file is created' do
@@ -842,6 +843,7 @@ RSpec.describe Gitlab::Diff::File do
let(:project) do
create(:project, :custom_repo, files: {})
end
+
let(:branch_name) { 'master' }
context 'when empty file is created' do
diff --git a/spec/lib/gitlab/diff/position_collection_spec.rb b/spec/lib/gitlab/diff/position_collection_spec.rb
index b1478c774f1..d2bb82983c0 100644
--- a/spec/lib/gitlab/diff/position_collection_spec.rb
+++ b/spec/lib/gitlab/diff/position_collection_spec.rb
@@ -8,9 +8,11 @@ RSpec.describe Gitlab::Diff::PositionCollection do
let(:text_position) do
build(:text_diff_position, :added, diff_refs: diff_refs)
end
+
let(:folded_text_position) do
build(:text_diff_position, diff_refs: diff_refs, old_line: 1, new_line: 1)
end
+
let(:image_position) do
build(:image_diff_position, diff_refs: diff_refs)
end
diff --git a/spec/lib/gitlab/diff/suggestion_spec.rb b/spec/lib/gitlab/diff/suggestion_spec.rb
index 5a5c5555818..40779faf917 100644
--- a/spec/lib/gitlab/diff/suggestion_spec.rb
+++ b/spec/lib/gitlab/diff/suggestion_spec.rb
@@ -31,9 +31,11 @@ RSpec.describe Gitlab::Diff::Suggestion do
new_line: 9,
diff_refs: merge_request.diff_refs)
end
+
let(:diff_file) do
position.diff_file(project.repository)
end
+
let(:text) { "# parsed suggestion content\n# with comments" }
def blob_lines_data(from_line, to_line)
diff --git a/spec/lib/gitlab/email/message/repository_push_spec.rb b/spec/lib/gitlab/email/message/repository_push_spec.rb
index 10586527239..6b1f03e0385 100644
--- a/spec/lib/gitlab/email/message/repository_push_spec.rb
+++ b/spec/lib/gitlab/email/message/repository_push_spec.rb
@@ -18,10 +18,12 @@ RSpec.describe Gitlab::Email::Message::RepositoryPush do
{ author_id: author.id, ref: 'master', action: :push, compare: compare,
send_from_committer_email: true }
end
+
let(:raw_compare) do
Gitlab::Git::Compare.new(project.repository.raw_repository,
sample_image_commit.id, sample_commit.id)
end
+
let(:compare) do
Compare.decorate(raw_compare, project)
end
diff --git a/spec/lib/gitlab/encoding_helper_spec.rb b/spec/lib/gitlab/encoding_helper_spec.rb
index 5394c04c6ba..0ea974921bc 100644
--- a/spec/lib/gitlab/encoding_helper_spec.rb
+++ b/spec/lib/gitlab/encoding_helper_spec.rb
@@ -138,6 +138,7 @@ RSpec.describe Gitlab::EncodingHelper do
let(:test_string) do
"refs/heads/FixSymbolsTitleDropdown".encode("ASCII-8BIT")
end
+
let(:expected_string) do
"refs/heads/FixSymbolsTitleDropdown".encode("UTF-8")
end
diff --git a/spec/lib/gitlab/fogbugz_import/importer_spec.rb b/spec/lib/gitlab/fogbugz_import/importer_spec.rb
index d2be3e3f6b1..eb0c4da6ce3 100644
--- a/spec/lib/gitlab/fogbugz_import/importer_spec.rb
+++ b/spec/lib/gitlab/fogbugz_import/importer_spec.rb
@@ -11,6 +11,7 @@ RSpec.describe Gitlab::FogbugzImport::Importer do
path: 'vim',
raw_data: '')
end
+
let(:import_data) { { 'repo' => repo } }
let(:credentials) do
{
diff --git a/spec/lib/gitlab/git/branch_spec.rb b/spec/lib/gitlab/git/branch_spec.rb
index bac1b4c57f9..e1bcf4aeeb1 100644
--- a/spec/lib/gitlab/git/branch_spec.rb
+++ b/spec/lib/gitlab/git/branch_spec.rb
@@ -84,6 +84,7 @@ RSpec.describe Gitlab::Git::Branch, :seed_helper do
parents: parents
}
end
+
let(:stale_sha) { Timecop.freeze(Gitlab::Git::Branch::STALE_BRANCH_THRESHOLD.ago - 5.days) { create_commit } }
let(:active_sha) { Timecop.freeze(Gitlab::Git::Branch::STALE_BRANCH_THRESHOLD.ago + 5.days) { create_commit } }
let(:future_sha) { Timecop.freeze(100.days.since) { create_commit } }
diff --git a/spec/lib/gitlab/git/commit_spec.rb b/spec/lib/gitlab/git/commit_spec.rb
index 666b49f27f7..491437856d4 100644
--- a/spec/lib/gitlab/git/commit_spec.rb
+++ b/spec/lib/gitlab/git/commit_spec.rb
@@ -9,6 +9,7 @@ RSpec.describe Gitlab::Git::Commit, :seed_helper do
let(:rugged_repo) do
Rugged::Repository.new(File.join(TestEnv.repos_path, TEST_REPO_PATH))
end
+
let(:commit) { described_class.find(repository, SeedRepo::Commit::ID) }
let(:rugged_commit) { rugged_repo.lookup(SeedRepo::Commit::ID) }
diff --git a/spec/lib/gitlab/git/conflict/parser_spec.rb b/spec/lib/gitlab/git/conflict/parser_spec.rb
index 67bd48256ce..02b00f711b4 100644
--- a/spec/lib/gitlab/git/conflict/parser_spec.rb
+++ b/spec/lib/gitlab/git/conflict/parser_spec.rb
@@ -89,12 +89,15 @@ RSpec.describe Gitlab::Git::Conflict::Parser do
let(:lines) do
described_class.parse(text, our_path: 'files/ruby/regex.rb', their_path: 'files/ruby/regex.rb')
end
+
let(:old_line_numbers) do
lines.select { |line| line[:type] != 'new' }.map { |line| line[:line_old] }
end
+
let(:new_line_numbers) do
lines.select { |line| line[:type] != 'old' }.map { |line| line[:line_new] }
end
+
let(:line_indexes) { lines.map { |line| line[:line_obj_index] } }
it 'sets our lines as new lines' do
diff --git a/spec/lib/gitlab/git/diff_spec.rb b/spec/lib/gitlab/git/diff_spec.rb
index 91688c31f5e..117c519e98d 100644
--- a/spec/lib/gitlab/git/diff_spec.rb
+++ b/spec/lib/gitlab/git/diff_spec.rb
@@ -78,6 +78,7 @@ EOT
patch: raw_patch
)
end
+
let(:diff) { described_class.new(gitaly_diff) }
context 'with a small diff' do
@@ -134,6 +135,7 @@ EOT
to_id: '8e5177d718c561d36efde08bad36b43687ee6bf0'
)
end
+
let(:diff) { described_class.new(commit_delta) }
it 'initializes the diff' do
diff --git a/spec/lib/gitlab/git/patches/collection_spec.rb b/spec/lib/gitlab/git/patches/collection_spec.rb
index eb92f4663c8..67a502242ea 100644
--- a/spec/lib/gitlab/git/patches/collection_spec.rb
+++ b/spec/lib/gitlab/git/patches/collection_spec.rb
@@ -6,6 +6,7 @@ RSpec.describe Gitlab::Git::Patches::Collection do
let(:patch_content1) do
File.read(File.join(patches_folder, "0001-This-does-not-apply-to-the-feature-branch.patch"))
end
+
let(:patch_content2) do
File.read(File.join(patches_folder, "0001-A-commit-from-a-patch.patch"))
end
diff --git a/spec/lib/gitlab/git/patches/commit_patches_spec.rb b/spec/lib/gitlab/git/patches/commit_patches_spec.rb
index cd1e03a6de0..9ab0893eb55 100644
--- a/spec/lib/gitlab/git/patches/commit_patches_spec.rb
+++ b/spec/lib/gitlab/git/patches/commit_patches_spec.rb
@@ -10,6 +10,7 @@ RSpec.describe Gitlab::Git::Patches::CommitPatches do
Gitlab::Git::Patches::Collection.new([content_1, content_2])
end
+
let(:user) { build(:user) }
let(:branch_name) { 'branch-with-patches' }
let(:repository) { create(:project, :repository).repository }
diff --git a/spec/lib/gitlab/git/patches/patch_spec.rb b/spec/lib/gitlab/git/patches/patch_spec.rb
index 629f43d3636..6588b18d0ae 100644
--- a/spec/lib/gitlab/git/patches/patch_spec.rb
+++ b/spec/lib/gitlab/git/patches/patch_spec.rb
@@ -6,6 +6,7 @@ RSpec.describe Gitlab::Git::Patches::Patch do
let(:patch_content) do
File.read(File.join(patches_folder, "0001-This-does-not-apply-to-the-feature-branch.patch"))
end
+
let(:patch) { described_class.new(patch_content) }
describe '#size' do
diff --git a/spec/lib/gitlab/git/repository_spec.rb b/spec/lib/gitlab/git/repository_spec.rb
index e7f4573c95f..73eecd3401a 100644
--- a/spec/lib/gitlab/git/repository_spec.rb
+++ b/spec/lib/gitlab/git/repository_spec.rb
@@ -579,9 +579,11 @@ RSpec.describe Gitlab::Git::Repository, :seed_helper do
let(:commit_with_old_name) do
Gitlab::Git::Commit.find(repository, @commit_with_old_name_id)
end
+
let(:commit_with_new_name) do
Gitlab::Git::Commit.find(repository, @commit_with_new_name_id)
end
+
let(:rename_commit) do
Gitlab::Git::Commit.find(repository, @rename_commit_id)
end
@@ -2178,6 +2180,7 @@ RSpec.describe Gitlab::Git::Repository, :seed_helper do
let(:new_repository) do
Gitlab::Git::Repository.new('test_second_storage', TEST_REPO_PATH, '', 'group/project')
end
+
let(:new_repository_path) { File.join(TestEnv::SECOND_STORAGE_PATH, new_repository.relative_path) }
subject { new_repository.replicate(repository) }
diff --git a/spec/lib/gitlab/gitaly_client/commit_service_spec.rb b/spec/lib/gitlab/gitaly_client/commit_service_spec.rb
index 45a25ccfc88..9581b017839 100644
--- a/spec/lib/gitlab/gitaly_client/commit_service_spec.rb
+++ b/spec/lib/gitlab/gitaly_client/commit_service_spec.rb
@@ -266,6 +266,7 @@ RSpec.describe Gitlab::GitalyClient::CommitService do
repository: repository_message, revision: revision
)
end
+
let(:response) do
Gitaly::CommitStatsResponse.new(
oid: revision,
diff --git a/spec/lib/gitlab/gitaly_client/conflicts_service_spec.rb b/spec/lib/gitlab/gitaly_client/conflicts_service_spec.rb
index b016e8bdf5a..e90cb966917 100644
--- a/spec/lib/gitlab/gitaly_client/conflicts_service_spec.rb
+++ b/spec/lib/gitlab/gitaly_client/conflicts_service_spec.rb
@@ -35,6 +35,7 @@ RSpec.describe Gitlab::GitalyClient::ConflictsService do
let(:files) do
[{ old_path: 'some/path', new_path: 'some/path', content: '' }]
end
+
let(:source_branch) { 'master' }
let(:target_branch) { 'feature' }
let(:commit_message) { 'Solving conflicts\n\nTést' }
diff --git a/spec/lib/gitlab/gitaly_client/operation_service_spec.rb b/spec/lib/gitlab/gitaly_client/operation_service_spec.rb
index 4e16f760235..b974f456914 100644
--- a/spec/lib/gitlab/gitaly_client/operation_service_spec.rb
+++ b/spec/lib/gitlab/gitaly_client/operation_service_spec.rb
@@ -20,11 +20,13 @@ RSpec.describe Gitlab::GitalyClient::OperationService do
user: gitaly_user
)
end
+
let(:gitaly_commit) { build(:gitaly_commit) }
let(:commit_id) { gitaly_commit.id }
let(:gitaly_branch) do
Gitaly::Branch.new(name: branch_name, target_commit: gitaly_commit)
end
+
let(:response) { Gitaly::UserCreateBranchResponse.new(branch: gitaly_branch) }
let(:commit) { Gitlab::Git::Commit.new(repository, gitaly_commit) }
@@ -68,6 +70,7 @@ RSpec.describe Gitlab::GitalyClient::OperationService do
user: gitaly_user
)
end
+
let(:response) { Gitaly::UserUpdateBranchResponse.new }
subject { client.user_update_branch(branch_name, user, newrev, oldrev) }
@@ -123,6 +126,7 @@ RSpec.describe Gitlab::GitalyClient::OperationService do
user: gitaly_user
)
end
+
let(:response) { Gitaly::UserDeleteBranchResponse.new }
subject { client.user_delete_branch(branch_name, user) }
@@ -162,6 +166,7 @@ RSpec.describe Gitlab::GitalyClient::OperationService do
user: gitaly_user
)
end
+
let(:branch_update) do
Gitaly::OperationBranchUpdate.new(
commit_id: source_sha,
@@ -169,6 +174,7 @@ RSpec.describe Gitlab::GitalyClient::OperationService do
branch_created: false
)
end
+
let(:response) { Gitaly::UserFFBranchResponse.new(branch_update: branch_update) }
before do
@@ -303,6 +309,7 @@ RSpec.describe Gitlab::GitalyClient::OperationService do
commit_message: commit_message
)
end
+
let(:squash_sha) { 'f00' }
let(:response) { Gitaly::UserSquashResponse.new(squash_sha: squash_sha) }
@@ -375,6 +382,7 @@ RSpec.describe Gitlab::GitalyClient::OperationService do
let(:patch_content) do
patch_names.map { |name| File.read(File.join(patches_folder, name)) }.join("\n")
end
+
let(:patch_names) { %w(0001-This-does-not-apply-to-the-feature-branch.patch) }
let(:branch_name) { 'branch-with-patches' }
diff --git a/spec/lib/gitlab/gitaly_client/wiki_service_spec.rb b/spec/lib/gitlab/gitaly_client/wiki_service_spec.rb
index a06f8459963..8a169acb69c 100644
--- a/spec/lib/gitlab/gitaly_client/wiki_service_spec.rb
+++ b/spec/lib/gitlab/gitaly_client/wiki_service_spec.rb
@@ -18,6 +18,7 @@ RSpec.describe Gitlab::GitalyClient::WikiService do
Gitaly::WikiFindPageResponse.new(page: Gitaly::WikiPage.new(raw_data: 'b'))
]
end
+
let(:wiki_page) { subject.first }
let(:wiki_page_version) { subject.last }
@@ -60,6 +61,7 @@ RSpec.describe Gitlab::GitalyClient::WikiService do
Gitaly::WikiGetAllPagesResponse.new(end_of_page: true)
]
end
+
let(:wiki_page_1) { subject[0].first }
let(:wiki_page_1_version) { subject[0].last }
let(:wiki_page_2) { subject[1].first }
diff --git a/spec/lib/gitlab/gitlab_import/project_creator_spec.rb b/spec/lib/gitlab/gitlab_import/project_creator_spec.rb
index 44bcfb93c51..53bf1db3438 100644
--- a/spec/lib/gitlab/gitlab_import/project_creator_spec.rb
+++ b/spec/lib/gitlab/gitlab_import/project_creator_spec.rb
@@ -14,6 +14,7 @@ RSpec.describe Gitlab::GitlabImport::ProjectCreator do
owner: { name: "john" }
}.with_indifferent_access
end
+
let(:namespace) { create(:group) }
let(:token) { "asdffg" }
let(:access_params) { { gitlab_access_token: token } }
diff --git a/spec/lib/gitlab/google_code_import/importer_spec.rb b/spec/lib/gitlab/google_code_import/importer_spec.rb
index f681e3c9f31..a22e80ae1c0 100644
--- a/spec/lib/gitlab/google_code_import/importer_spec.rb
+++ b/spec/lib/gitlab/google_code_import/importer_spec.rb
@@ -12,6 +12,7 @@ RSpec.describe Gitlab::GoogleCodeImport::Importer do
'user_map' => { 'thilo...' => "@#{mapped_user.username}" }
}
end
+
let(:project) { create(:project) }
subject { described_class.new(project) }
diff --git a/spec/lib/gitlab/google_code_import/project_creator_spec.rb b/spec/lib/gitlab/google_code_import/project_creator_spec.rb
index 4be2e16c116..cfebe57aed3 100644
--- a/spec/lib/gitlab/google_code_import/project_creator_spec.rb
+++ b/spec/lib/gitlab/google_code_import/project_creator_spec.rb
@@ -11,6 +11,7 @@ RSpec.describe Gitlab::GoogleCodeImport::ProjectCreator do
"repositoryUrls" => ["https://vim.googlecode.com/git/"]
)
end
+
let(:namespace) { create(:group) }
before do
diff --git a/spec/lib/gitlab/grape_logging/formatters/lograge_with_timestamp_spec.rb b/spec/lib/gitlab/grape_logging/formatters/lograge_with_timestamp_spec.rb
index e5d0adcfd5f..91299de0751 100644
--- a/spec/lib/gitlab/grape_logging/formatters/lograge_with_timestamp_spec.rb
+++ b/spec/lib/gitlab/grape_logging/formatters/lograge_with_timestamp_spec.rb
@@ -29,6 +29,7 @@ RSpec.describe Gitlab::GrapeLogging::Formatters::LogrageWithTimestamp do
correlation_id: 'WMefXn60429'
}
end
+
let(:time) { Time.now }
let(:result) { Gitlab::Json.parse(subject) }
diff --git a/spec/lib/gitlab/graphql/authorize/authorize_resource_spec.rb b/spec/lib/gitlab/graphql/authorize/authorize_resource_spec.rb
index 83873081a98..c5d7665c3b2 100644
--- a/spec/lib/gitlab/graphql/authorize/authorize_resource_spec.rb
+++ b/spec/lib/gitlab/graphql/authorize/authorize_resource_spec.rb
@@ -116,6 +116,7 @@ RSpec.describe Gitlab::Graphql::Authorize::AuthorizeResource do
end
end
end
+
let(:error) { /#{fake_class.name} has no authorizations/ }
describe '#authorized_find!' do
diff --git a/spec/lib/gitlab/graphql/find_argument_in_parent_spec.rb b/spec/lib/gitlab/graphql/find_argument_in_parent_spec.rb
index 68b24a60a99..1b9301cd1aa 100644
--- a/spec/lib/gitlab/graphql/find_argument_in_parent_spec.rb
+++ b/spec/lib/gitlab/graphql/find_argument_in_parent_spec.rb
@@ -21,6 +21,7 @@ RSpec.describe Gitlab::Graphql::FindArgumentInParent do
)
)
end
+
let(:arg_name) { :my_arg }
it 'searches parents and returns the argument' do
diff --git a/spec/lib/gitlab/graphql/pagination/keyset/connection_spec.rb b/spec/lib/gitlab/graphql/pagination/keyset/connection_spec.rb
index 65698caac34..09d7e084172 100644
--- a/spec/lib/gitlab/graphql/pagination/keyset/connection_spec.rb
+++ b/spec/lib/gitlab/graphql/pagination/keyset/connection_spec.rb
@@ -185,6 +185,7 @@ RSpec.describe Gitlab::Graphql::Pagination::Keyset::Connection do
let(:nodes) do
Project.order(Arel.sql('projects.last_repository_check_at IS NULL')).order(last_repository_check_at: :asc).order(id: :asc)
end
+
let(:ascending_nodes) { [project5, project1, project3, project2, project4] }
it_behaves_like 'nodes are in ascending order'
@@ -210,6 +211,7 @@ RSpec.describe Gitlab::Graphql::Pagination::Keyset::Connection do
let(:nodes) do
Project.order(Arel.sql('projects.last_repository_check_at IS NULL')).order(last_repository_check_at: :desc).order(id: :asc)
end
+
let(:descending_nodes) { [project3, project1, project5, project2, project4] }
it_behaves_like 'nodes are in descending order'
@@ -243,6 +245,7 @@ RSpec.describe Gitlab::Graphql::Pagination::Keyset::Connection do
let(:nodes) do
Project.order(Arel::Table.new(:projects)['name'].lower.asc).order(id: :asc)
end
+
let(:ascending_nodes) { [project1, project5, project3, project2, project4] }
it_behaves_like 'nodes are in ascending order'
@@ -252,6 +255,7 @@ RSpec.describe Gitlab::Graphql::Pagination::Keyset::Connection do
let(:nodes) do
Project.order(Arel::Table.new(:projects)['name'].lower.desc).order(id: :desc)
end
+
let(:descending_nodes) { [project4, project2, project3, project5, project1] }
it_behaves_like 'nodes are in descending order'
diff --git a/spec/lib/gitlab/hook_data/issuable_builder_spec.rb b/spec/lib/gitlab/hook_data/issuable_builder_spec.rb
index 50f3a4776be..f5ee8eba8bc 100644
--- a/spec/lib/gitlab/hook_data/issuable_builder_spec.rb
+++ b/spec/lib/gitlab/hook_data/issuable_builder_spec.rb
@@ -56,6 +56,7 @@ RSpec.describe Gitlab::HookData::IssuableBuilder do
]
}
end
+
let(:data) { builder.build(user: user, changes: changes) }
it 'populates the :changes hash' do
diff --git a/spec/lib/gitlab/import_export/base/object_builder_spec.rb b/spec/lib/gitlab/import_export/base/object_builder_spec.rb
index d560c8ea5a7..38c3b23db36 100644
--- a/spec/lib/gitlab/import_export/base/object_builder_spec.rb
+++ b/spec/lib/gitlab/import_export/base/object_builder_spec.rb
@@ -10,6 +10,7 @@ RSpec.describe Gitlab::ImportExport::Base::ObjectBuilder do
name: 'project',
path: 'project')
end
+
let(:klass) { Milestone }
let(:attributes) { { 'title' => 'Test Base::ObjectBuilder Milestone', 'project' => project } }
diff --git a/spec/lib/gitlab/import_export/json/streaming_serializer_spec.rb b/spec/lib/gitlab/import_export/json/streaming_serializer_spec.rb
index eb6b07ce02f..949cfb5a34d 100644
--- a/spec/lib/gitlab/import_export/json/streaming_serializer_spec.rb
+++ b/spec/lib/gitlab/import_export/json/streaming_serializer_spec.rb
@@ -81,6 +81,7 @@ RSpec.describe Gitlab::ImportExport::JSON::StreamingSerializer do
let(:group_options) do
{ include: [], only: [:name, :path, :description] }
end
+
let(:include) do
[{ group: group_options }]
end
diff --git a/spec/lib/gitlab/import_export/project/tree_restorer_spec.rb b/spec/lib/gitlab/import_export/project/tree_restorer_spec.rb
index 6d5604dc40f..f75494aa7c7 100644
--- a/spec/lib/gitlab/import_export/project/tree_restorer_spec.rb
+++ b/spec/lib/gitlab/import_export/project/tree_restorer_spec.rb
@@ -502,6 +502,7 @@ RSpec.describe Gitlab::ImportExport::Project::TreeRestorer do
let(:project_tree_restorer) do
described_class.new(user: user, shared: shared, project: project)
end
+
let(:restored_project_json) { project_tree_restorer.restore }
it 'does not read a symlink' do
@@ -919,6 +920,7 @@ RSpec.describe Gitlab::ImportExport::Project::TreeRestorer do
}
]
end
+
let(:tree_hash) { { 'project_members' => project_members } }
before do
diff --git a/spec/lib/gitlab/import_export/project/tree_saver_spec.rb b/spec/lib/gitlab/import_export/project/tree_saver_spec.rb
index 40c103eeda6..a2c5848f100 100644
--- a/spec/lib/gitlab/import_export/project/tree_saver_spec.rb
+++ b/spec/lib/gitlab/import_export/project/tree_saver_spec.rb
@@ -275,6 +275,7 @@ RSpec.describe Gitlab::ImportExport::Project::TreeSaver do
File.join(shared.export_path, Gitlab::ImportExport.project_filename)
end
end
+
let(:shared) { project.import_export_shared }
let(:params) { {} }
diff --git a/spec/lib/gitlab/incident_management/pager_duty/incident_issue_description_spec.rb b/spec/lib/gitlab/incident_management/pager_duty/incident_issue_description_spec.rb
index 9a55e21d031..6dc96217f09 100644
--- a/spec/lib/gitlab/incident_management/pager_duty/incident_issue_description_spec.rb
+++ b/spec/lib/gitlab/incident_management/pager_duty/incident_issue_description_spec.rb
@@ -10,9 +10,11 @@ RSpec.describe Gitlab::IncidentManagement::PagerDuty::IncidentIssueDescription d
let(:assignees) do
[{ 'summary' => 'Laura Haley', 'url' => 'https://webdemo.pagerduty.com/users/P553OPV' }]
end
+
let(:impacted_services) do
[{ 'summary' => 'Production XDB Cluster', 'url' => 'https://webdemo.pagerduty.com/services/PN49J75' }]
end
+
let(:incident_payload) do
{
'url' => 'https://webdemo.pagerduty.com/incidents/PRORDTY',
diff --git a/spec/lib/gitlab/issuable_sorter_spec.rb b/spec/lib/gitlab/issuable_sorter_spec.rb
index 60f62062f04..b8d0c7b0609 100644
--- a/spec/lib/gitlab/issuable_sorter_spec.rb
+++ b/spec/lib/gitlab/issuable_sorter_spec.rb
@@ -52,6 +52,7 @@ RSpec.describe Gitlab::IssuableSorter do
build_stubbed(:issue, iid: 1, project: project5),
build_stubbed(:issue, iid: 1, project: project6)]
end
+
let(:unsorted) do
[sorted[3], sorted[1], sorted[4], sorted[2],
sorted[6], sorted[5], sorted[0], sorted[7]]
diff --git a/spec/lib/gitlab/jira_import/issue_serializer_spec.rb b/spec/lib/gitlab/jira_import/issue_serializer_spec.rb
index 4adc4e4d22a..e57a8457e7c 100644
--- a/spec/lib/gitlab/jira_import/issue_serializer_spec.rb
+++ b/spec/lib/gitlab/jira_import/issue_serializer_spec.rb
@@ -25,6 +25,7 @@ RSpec.describe Gitlab::JiraImport::IssueSerializer do
let(:parent_field) do
{ 'key' => 'FOO-2', 'id' => '1050', 'fields' => { 'summary' => 'parent issue FOO' } }
end
+
let(:priority_field) { { 'name' => 'Medium' } }
let(:labels_field) { %w(bug dev backend frontend) }
diff --git a/spec/lib/gitlab/jira_import/metadata_collector_spec.rb b/spec/lib/gitlab/jira_import/metadata_collector_spec.rb
index 86863d67f25..51751c7b75f 100644
--- a/spec/lib/gitlab/jira_import/metadata_collector_spec.rb
+++ b/spec/lib/gitlab/jira_import/metadata_collector_spec.rb
@@ -14,6 +14,7 @@ RSpec.describe Gitlab::JiraImport::MetadataCollector do
let(:parent_field) do
{ 'key' => 'FOO-2', 'id' => '1050', 'fields' => { 'summary' => 'parent issue FOO' } }
end
+
let(:issue_type_field) { { 'name' => 'Task' } }
let(:fix_versions_field) { [{ 'name' => '1.0' }, { 'name' => '1.1' }] }
let(:priority_field) { { 'name' => 'Medium' } }
@@ -30,6 +31,7 @@ RSpec.describe Gitlab::JiraImport::MetadataCollector do
'duedate' => duedate_field
}
end
+
let(:jira_issue) do
double(
id: '1234',
diff --git a/spec/lib/gitlab/kubernetes/network_policy_spec.rb b/spec/lib/gitlab/kubernetes/network_policy_spec.rb
index a7bb12d1d06..f1730e400af 100644
--- a/spec/lib/gitlab/kubernetes/network_policy_spec.rb
+++ b/spec/lib/gitlab/kubernetes/network_policy_spec.rb
@@ -48,6 +48,7 @@ RSpec.describe Gitlab::Kubernetes::NetworkPolicy do
labels: labels
)
end
+
let(:spec) { { podSelector: selector, policyTypes: ["Ingress"], ingress: ingress, egress: nil } }
end
@@ -74,6 +75,7 @@ RSpec.describe Gitlab::Kubernetes::NetworkPolicy do
project: myproject
POLICY
end
+
let(:resource) do
::Kubeclient::Resource.new(
metadata: { name: name, namespace: namespace, labels: { app: 'foo' } },
@@ -170,6 +172,7 @@ RSpec.describe Gitlab::Kubernetes::NetworkPolicy do
spec: { podSelector: pod_selector, policyTypes: %w(Ingress), ingress: ingress, egress: nil }
)
end
+
let(:generated_resource) do
::Kubeclient::Resource.new(
metadata: { name: name, namespace: namespace, labels: { app: 'foo' } },
diff --git a/spec/lib/gitlab/language_detection_spec.rb b/spec/lib/gitlab/language_detection_spec.rb
index 04ad19a04ec..14523be8ec6 100644
--- a/spec/lib/gitlab/language_detection_spec.rb
+++ b/spec/lib/gitlab/language_detection_spec.rb
@@ -15,6 +15,7 @@ RSpec.describe Gitlab::LanguageDetection do
{ value: 1.51, label: "Go", color: "#2a4776", highlight: "#244776" },
{ value: 1.1, label: "MepmepLang", color: "#2a4776", highlight: "#244776" }]
end
+
let(:repository_languages) do
[RepositoryLanguage.new(share: 10, programming_language: ruby)]
end
diff --git a/spec/lib/gitlab/legacy_github_import/importer_spec.rb b/spec/lib/gitlab/legacy_github_import/importer_spec.rb
index c443944678f..56d708a1e11 100644
--- a/spec/lib/gitlab/legacy_github_import/importer_spec.rb
+++ b/spec/lib/gitlab/legacy_github_import/importer_spec.rb
@@ -238,6 +238,7 @@ RSpec.describe Gitlab::LegacyGithubImport::Importer do
labels: [double(name: 'Label #2')]
)
end
+
let(:closed_pull_request) do
double(
number: 1347,
diff --git a/spec/lib/gitlab/legacy_github_import/issuable_formatter_spec.rb b/spec/lib/gitlab/legacy_github_import/issuable_formatter_spec.rb
index 6a51cb6f39d..a5d2e00890b 100644
--- a/spec/lib/gitlab/legacy_github_import/issuable_formatter_spec.rb
+++ b/spec/lib/gitlab/legacy_github_import/issuable_formatter_spec.rb
@@ -6,6 +6,7 @@ RSpec.describe Gitlab::LegacyGithubImport::IssuableFormatter do
let(:raw_data) do
double(number: 42)
end
+
let(:project) { double(import_type: 'github') }
let(:issuable_formatter) { described_class.new(project, raw_data) }
diff --git a/spec/lib/gitlab/legacy_github_import/milestone_formatter_spec.rb b/spec/lib/gitlab/legacy_github_import/milestone_formatter_spec.rb
index 2ac79c4f5b8..148b59dedab 100644
--- a/spec/lib/gitlab/legacy_github_import/milestone_formatter_spec.rb
+++ b/spec/lib/gitlab/legacy_github_import/milestone_formatter_spec.rb
@@ -17,6 +17,7 @@ RSpec.describe Gitlab::LegacyGithubImport::MilestoneFormatter do
closed_at: nil
}
end
+
let(:iid_attr) { :number }
subject(:formatter) { described_class.new(project, raw_data) }
diff --git a/spec/lib/gitlab/lograge/custom_options_spec.rb b/spec/lib/gitlab/lograge/custom_options_spec.rb
index 218007c6e2a..9daedfc37e4 100644
--- a/spec/lib/gitlab/lograge/custom_options_spec.rb
+++ b/spec/lib/gitlab/lograge/custom_options_spec.rb
@@ -22,6 +22,7 @@ RSpec.describe Gitlab::Lograge::CustomOptions do
metadata: { 'meta.user' => 'jane.doe' }
}
end
+
let(:event) { ActiveSupport::Notifications::Event.new('test', 1, 2, 'transaction_id', event_payload) }
subject { described_class.call(event) }
diff --git a/spec/lib/gitlab/markdown_cache/redis/store_spec.rb b/spec/lib/gitlab/markdown_cache/redis/store_spec.rb
index 40ff9a765a6..bf40af8e62e 100644
--- a/spec/lib/gitlab/markdown_cache/redis/store_spec.rb
+++ b/spec/lib/gitlab/markdown_cache/redis/store_spec.rb
@@ -18,6 +18,7 @@ RSpec.describe Gitlab::MarkdownCache::Redis::Store, :clean_gitlab_redis_cache do
end
end
end
+
let(:storable) { storable_class.new }
let(:cache_key) { "markdown_cache:#{storable.cache_key}" }
diff --git a/spec/lib/gitlab/metrics/dashboard/finder_spec.rb b/spec/lib/gitlab/metrics/dashboard/finder_spec.rb
index a481c536f8d..730a31346d7 100644
--- a/spec/lib/gitlab/metrics/dashboard/finder_spec.rb
+++ b/spec/lib/gitlab/metrics/dashboard/finder_spec.rb
@@ -191,6 +191,7 @@ RSpec.describe Gitlab::Metrics::Dashboard::Finder, :use_clean_rails_memory_store
out_of_the_box_dashboard: true
}
end
+
let(:dashboard_path) { '.gitlab/dashboards/test.yml' }
let(:project) { project_with_dashboard(dashboard_path) }
diff --git a/spec/lib/gitlab/metrics/dashboard/processor_spec.rb b/spec/lib/gitlab/metrics/dashboard/processor_spec.rb
index e794e28a279..d5998bb2fa1 100644
--- a/spec/lib/gitlab/metrics/dashboard/processor_spec.rb
+++ b/spec/lib/gitlab/metrics/dashboard/processor_spec.rb
@@ -98,6 +98,7 @@ RSpec.describe Gitlab::Metrics::Dashboard::Processor do
Gitlab::Metrics::Dashboard::Stages::Sorter
]
end
+
let(:dashboard) { described_class.new(*process_params).process }
it 'includes only dashboard metrics' do
diff --git a/spec/lib/gitlab/phabricator_import/user_finder_spec.rb b/spec/lib/gitlab/phabricator_import/user_finder_spec.rb
index e63ad6e6626..2ec2571b7fe 100644
--- a/spec/lib/gitlab/phabricator_import/user_finder_spec.rb
+++ b/spec/lib/gitlab/phabricator_import/user_finder_spec.rb
@@ -58,6 +58,7 @@ RSpec.describe Gitlab::PhabricatorImport::UserFinder, :clean_gitlab_redis_cache
)
]
end
+
let(:client) do
client = instance_double(Gitlab::PhabricatorImport::Conduit::User)
allow(client).to receive(:users).and_return(response)
diff --git a/spec/lib/gitlab/project_search_results_spec.rb b/spec/lib/gitlab/project_search_results_spec.rb
index 75a3fe06632..6e3c60b58dc 100644
--- a/spec/lib/gitlab/project_search_results_spec.rb
+++ b/spec/lib/gitlab/project_search_results_spec.rb
@@ -430,6 +430,7 @@ RSpec.describe Gitlab::ProjectSearchResults do
private_project.add_maintainer(user)
user
end
+
let(:team_reporter) do
user = create(:user, username: 'private-project-reporter')
private_project.add_reporter(user)
diff --git a/spec/lib/gitlab/prometheus/queries/matched_metric_query_spec.rb b/spec/lib/gitlab/prometheus/queries/matched_metric_query_spec.rb
index 117ca798022..60449aeef7d 100644
--- a/spec/lib/gitlab/prometheus/queries/matched_metric_query_spec.rb
+++ b/spec/lib/gitlab/prometheus/queries/matched_metric_query_spec.rb
@@ -17,6 +17,7 @@ RSpec.describe Gitlab::Prometheus::Queries::MatchedMetricQuery do
[{ '__name__' => 'metric_a' },
{ '__name__' => 'metric_b' }]
end
+
let(:partially_empty_series_info) { [{ '__name__' => 'metric_a', 'environment' => '' }] }
let(:empty_series_info) { [] }
diff --git a/spec/lib/gitlab/prometheus_client_spec.rb b/spec/lib/gitlab/prometheus_client_spec.rb
index 242a0ced031..0774c2f3144 100644
--- a/spec/lib/gitlab/prometheus_client_spec.rb
+++ b/spec/lib/gitlab/prometheus_client_spec.rb
@@ -191,6 +191,7 @@ RSpec.describe Gitlab::PrometheusClient do
}
}
end
+
let(:query_url) { prometheus_query_with_time_url(query, Time.now.utc) }
around do |example|
diff --git a/spec/lib/gitlab/sidekiq_cluster_spec.rb b/spec/lib/gitlab/sidekiq_cluster_spec.rb
index d625a2a2185..5dd913aebb0 100644
--- a/spec/lib/gitlab/sidekiq_cluster_spec.rb
+++ b/spec/lib/gitlab/sidekiq_cluster_spec.rb
@@ -91,6 +91,7 @@ RSpec.describe Gitlab::SidekiqCluster do
let(:options) do
{ env: :production, directory: 'foo/bar', max_concurrency: 20, min_concurrency: 0, worker_id: first_worker_id, timeout: 10, dryrun: false }
end
+
let(:env) { { "ENABLE_SIDEKIQ_CLUSTER" => "1", "SIDEKIQ_WORKER_ID" => first_worker_id.to_s } }
let(:args) { ['bundle', 'exec', 'sidekiq', anything, '-eproduction', '-t10', *([anything] * 5)] }
diff --git a/spec/lib/gitlab/sidekiq_logging/structured_logger_spec.rb b/spec/lib/gitlab/sidekiq_logging/structured_logger_spec.rb
index 03ace9a01c7..ad106837c47 100644
--- a/spec/lib/gitlab/sidekiq_logging/structured_logger_spec.rb
+++ b/spec/lib/gitlab/sidekiq_logging/structured_logger_spec.rb
@@ -41,6 +41,7 @@ RSpec.describe Gitlab::SidekiqLogging::StructuredLogger do
'scheduling_latency_s' => scheduling_latency_s
)
end
+
let(:end_payload) do
start_payload.merge(
'message' => 'TestWorker JID-da883554ee4fe414012f5f42: done: 0.0 sec',
@@ -51,6 +52,7 @@ RSpec.describe Gitlab::SidekiqLogging::StructuredLogger do
'db_duration_s' => 0.0
)
end
+
let(:exception_payload) do
end_payload.merge(
'message' => 'TestWorker JID-da883554ee4fe414012f5f42: fail: 0.0 sec',
diff --git a/spec/lib/gitlab/sidekiq_middleware_spec.rb b/spec/lib/gitlab/sidekiq_middleware_spec.rb
index b4e47ac4cbb..4ee9569a0cf 100644
--- a/spec/lib/gitlab/sidekiq_middleware_spec.rb
+++ b/spec/lib/gitlab/sidekiq_middleware_spec.rb
@@ -63,6 +63,7 @@ RSpec.describe Gitlab::SidekiqMiddleware do
Gitlab::SidekiqMiddleware::DuplicateJobs::Server
]
end
+
let(:enabled_sidekiq_middlewares) { all_sidekiq_middlewares - disabled_sidekiq_middlewares }
shared_examples "a server middleware chain" do
diff --git a/spec/lib/gitlab/url_blocker_spec.rb b/spec/lib/gitlab/url_blocker_spec.rb
index 7edfde09864..b49efd6a092 100644
--- a/spec/lib/gitlab/url_blocker_spec.rb
+++ b/spec/lib/gitlab/url_blocker_spec.rb
@@ -280,6 +280,7 @@ RSpec.describe Gitlab::UrlBlocker, :stub_invalid_dns_only do
'[fc00:bf8b:e62c:abcd:abcd:aaaa:aaaa:aaaa]'
]
end
+
let(:fake_domain) { 'www.fakedomain.fake' }
shared_examples 'allows local requests' do |url_blocker_attributes|
diff --git a/spec/lib/gitlab/usage_data/topology_spec.rb b/spec/lib/gitlab/usage_data/topology_spec.rb
index bf61ddd9d83..0cea86726dc 100644
--- a/spec/lib/gitlab/usage_data/topology_spec.rb
+++ b/spec/lib/gitlab/usage_data/topology_spec.rb
@@ -177,6 +177,7 @@ RSpec.describe Gitlab::UsageData::Topology do
}
]
end
+
let(:node_uname_info_response) do
[
{
@@ -195,6 +196,7 @@ RSpec.describe Gitlab::UsageData::Topology do
]
end
# The services in this response should all be mapped to localhost i.e. the same node
+
let(:service_memory_response) do
[
{
diff --git a/spec/lib/json_web_token/rsa_token_spec.rb b/spec/lib/json_web_token/rsa_token_spec.rb
index f19471917c2..8f0d62d8f0c 100644
--- a/spec/lib/json_web_token/rsa_token_spec.rb
+++ b/spec/lib/json_web_token/rsa_token_spec.rb
@@ -14,6 +14,7 @@ RSpec.describe JSONWebToken::RSAToken do
-----END RSA PRIVATE KEY-----
eos
end
+
let(:rsa_token) { described_class.new(nil) }
let(:rsa_encoded) { rsa_token.encoded }
diff --git a/spec/lib/mattermost/session_spec.rb b/spec/lib/mattermost/session_spec.rb
index 5110d3cdfa3..93422b01ca7 100644
--- a/spec/lib/mattermost/session_spec.rb
+++ b/spec/lib/mattermost/session_spec.rb
@@ -61,6 +61,7 @@ RSpec.describe Mattermost::Session, type: :request do
redirect_uri: "#{mattermost_url}/signup/gitlab/complete",
state: state }
end
+
let(:location) do
"#{gitlab_url}/oauth/authorize?#{URI.encode_www_form(params)}"
end
diff --git a/spec/lib/omni_auth/strategies/jwt_spec.rb b/spec/lib/omni_auth/strategies/jwt_spec.rb
index 0f4528d4fbe..b29e48b0de5 100644
--- a/spec/lib/omni_auth/strategies/jwt_spec.rb
+++ b/spec/lib/omni_auth/strategies/jwt_spec.rb
@@ -19,6 +19,7 @@ RSpec.describe OmniAuth::Strategies::Jwt do
iat: timestamp
}
end
+
let(:algorithm) { 'HS256' }
let(:secret) { jwt_config.strategy.secret }
let(:private_key) { secret }
@@ -61,6 +62,7 @@ RSpec.describe OmniAuth::Strategies::Jwt do
private_key_class.new(jwt_config.strategy.secret)
end
end
+
let(:private_key) { private_key_class ? private_key_class.new(secret) : secret }
it 'decodes the user information' do
diff --git a/spec/lib/rspec_flaky/example_spec.rb b/spec/lib/rspec_flaky/example_spec.rb
index aaf5ddc6f74..4b45a15c463 100644
--- a/spec/lib/rspec_flaky/example_spec.rb
+++ b/spec/lib/rspec_flaky/example_spec.rb
@@ -15,6 +15,7 @@ RSpec.describe RspecFlaky::Example do
attempts: 1
}
end
+
let(:rspec_example) { double(example_attrs) }
describe '#initialize' do
diff --git a/spec/lib/rspec_flaky/flaky_example_spec.rb b/spec/lib/rspec_flaky/flaky_example_spec.rb
index 8ac323475d6..b1647d5830a 100644
--- a/spec/lib/rspec_flaky/flaky_example_spec.rb
+++ b/spec/lib/rspec_flaky/flaky_example_spec.rb
@@ -16,6 +16,7 @@ RSpec.describe RspecFlaky::FlakyExample, :aggregate_failures do
flaky_reports: 1
}
end
+
let(:example_attrs) do
{
uid: 'abc123',
@@ -28,6 +29,7 @@ RSpec.describe RspecFlaky::FlakyExample, :aggregate_failures do
attempts: flaky_example_attrs[:last_attempts_count]
}
end
+
let(:example) { double(example_attrs) }
before do
diff --git a/spec/lib/rspec_flaky/flaky_examples_collection_spec.rb b/spec/lib/rspec_flaky/flaky_examples_collection_spec.rb
index 5718d8211af..b2fd1d3733a 100644
--- a/spec/lib/rspec_flaky/flaky_examples_collection_spec.rb
+++ b/spec/lib/rspec_flaky/flaky_examples_collection_spec.rb
@@ -9,6 +9,7 @@ RSpec.describe RspecFlaky::FlakyExamplesCollection, :aggregate_failures do
b: { example_id: 'spec/foo/baz_spec.rb:3' }
}
end
+
let(:collection_report) do
{
a: {
diff --git a/spec/lib/rspec_flaky/listener_spec.rb b/spec/lib/rspec_flaky/listener_spec.rb
index 2438ae171d3..10ed724d4de 100644
--- a/spec/lib/rspec_flaky/listener_spec.rb
+++ b/spec/lib/rspec_flaky/listener_spec.rb
@@ -19,6 +19,7 @@ RSpec.describe RspecFlaky::Listener, :aggregate_failures do
}
}
end
+
let(:already_flaky_example_attrs) do
{
id: 'spec/foo/bar_spec.rb:2',
@@ -30,6 +31,7 @@ RSpec.describe RspecFlaky::Listener, :aggregate_failures do
execution_result: double(status: 'passed', exception: nil)
}
end
+
let(:already_flaky_example) { RspecFlaky::FlakyExample.new(suite_flaky_example_report[already_flaky_example_uid]) }
let(:new_example_attrs) do
{
diff --git a/spec/lib/rspec_flaky/report_spec.rb b/spec/lib/rspec_flaky/report_spec.rb
index e735329a8a3..5cacfdb82fb 100644
--- a/spec/lib/rspec_flaky/report_spec.rb
+++ b/spec/lib/rspec_flaky/report_spec.rb
@@ -10,6 +10,7 @@ RSpec.describe RspecFlaky::Report, :aggregate_failures do
b: { example_id: 'spec/foo/baz_spec.rb:3', first_flaky_at: (Time.now - thirty_one_days).to_s, last_flaky_at: (Time.now - thirty_one_days).to_s }
}
end
+
let(:suite_flaky_example_report) do
{
'6e869794f4cfd2badd93eb68719371d1': {
@@ -25,6 +26,7 @@ RSpec.describe RspecFlaky::Report, :aggregate_failures do
}
}
end
+
let(:flaky_examples) { RspecFlaky::FlakyExamplesCollection.new(collection_hash) }
let(:report) { described_class.new(flaky_examples) }
diff --git a/spec/lib/sentry/client/event_spec.rb b/spec/lib/sentry/client/event_spec.rb
index af1e28d09bb..07ed331c44c 100644
--- a/spec/lib/sentry/client/event_spec.rb
+++ b/spec/lib/sentry/client/event_spec.rb
@@ -13,6 +13,7 @@ RSpec.describe Sentry::Client do
headers: { "Authorization" => "Bearer test-token" }
}
end
+
let(:client) { described_class.new(sentry_url, token) }
describe '#issue_latest_event' do
@@ -21,6 +22,7 @@ RSpec.describe Sentry::Client do
Gitlab::Json.parse(fixture_file('sentry/issue_latest_event_sample_response.json'))
)
end
+
let(:issue_id) { '1234' }
let(:sentry_api_response) { sample_response }
let(:sentry_url) { 'https://sentrytest.gitlab.com/api/0' }
diff --git a/spec/lib/sentry/client/issue_spec.rb b/spec/lib/sentry/client/issue_spec.rb
index a6279aeadd2..dedef905c95 100644
--- a/spec/lib/sentry/client/issue_spec.rb
+++ b/spec/lib/sentry/client/issue_spec.rb
@@ -65,6 +65,7 @@ RSpec.describe Sentry::Client::Issue do
link: '<https://sentrytest.gitlab.com>; rel="previous"; results="true"; cursor="1573556671000:0:1", <https://sentrytest.gitlab.com>; rel="next"; results="true"; cursor="1572959139000:0:0"'
}
end
+
let!(:sentry_api_request) { stub_sentry_request(sentry_request_url, body: sentry_api_response, headers: headers) }
it 'parses the pagination' do
@@ -114,6 +115,7 @@ RSpec.describe Sentry::Client::Issue do
'https://sentrytest.gitlab.com/api/0/projects/sentry-org/sentry-project/' \
'issues/?limit=20&query=is:unresolved&sort=freq'
end
+
let!(:sentry_api_request) { stub_sentry_request(sentry_request_url, body: sentry_api_response) }
subject { client.list_issues(issue_status: issue_status, limit: limit, sort: 'frequency') }
diff --git a/spec/mailers/notify_spec.rb b/spec/mailers/notify_spec.rb
index 9dde80f58d5..7bd1fae8f91 100644
--- a/spec/mailers/notify_spec.rb
+++ b/spec/mailers/notify_spec.rb
@@ -1373,6 +1373,7 @@ RSpec.describe Notify do
group.request_access(user)
group.requesters.find_by(user_id: user.id)
end
+
let(:recipient) { user }
subject { described_class.member_access_denied_email('group', group.id, user.id) }
diff --git a/spec/migrations/20190924152703_migrate_issue_trackers_data_spec.rb b/spec/migrations/20190924152703_migrate_issue_trackers_data_spec.rb
index 750d3d1fa30..6c957ee1428 100644
--- a/spec/migrations/20190924152703_migrate_issue_trackers_data_spec.rb
+++ b/spec/migrations/20190924152703_migrate_issue_trackers_data_spec.rb
@@ -13,27 +13,35 @@ RSpec.describe MigrateIssueTrackersData do
'url' => 'http://example.com'
}
end
+
let!(:jira_service) do
services.create(type: 'JiraService', properties: properties, category: 'issue_tracker')
end
+
let!(:jira_service_nil) do
services.create(type: 'JiraService', properties: nil, category: 'issue_tracker')
end
+
let!(:bugzilla_service) do
services.create(type: 'BugzillaService', properties: properties, category: 'issue_tracker')
end
+
let!(:youtrack_service) do
services.create(type: 'YoutrackService', properties: properties, category: 'issue_tracker')
end
+
let!(:youtrack_service_empty) do
services.create(type: 'YoutrackService', properties: '', category: 'issue_tracker')
end
+
let!(:gitlab_service) do
services.create(type: 'GitlabIssueTrackerService', properties: properties, category: 'issue_tracker')
end
+
let!(:gitlab_service_empty) do
services.create(type: 'GitlabIssueTrackerService', properties: {}, category: 'issue_tracker')
end
+
let!(:other_service) do
services.create(type: 'OtherService', properties: properties, category: 'other_category')
end
diff --git a/spec/migrations/20200123155929_remove_invalid_jira_data_spec.rb b/spec/migrations/20200123155929_remove_invalid_jira_data_spec.rb
index cae8e858af9..e69a30752db 100644
--- a/spec/migrations/20200123155929_remove_invalid_jira_data_spec.rb
+++ b/spec/migrations/20200123155929_remove_invalid_jira_data_spec.rb
@@ -28,32 +28,39 @@ RSpec.describe RemoveInvalidJiraData do
data[:encrypted_api_url_iv] = nil
jira_tracker_data.create(data)
end
+
let!(:missing_api_url) do
data[:encrypted_api_url] = ''
data[:encrypted_api_url_iv] = nil
jira_tracker_data.create(data)
end
+
let!(:invalid_url) do
data[:encrypted_url_iv] = nil
jira_tracker_data.create(data)
end
+
let!(:missing_url) do
data[:encrypted_url] = ''
jira_tracker_data.create(data)
end
+
let!(:invalid_username) do
data[:encrypted_username_iv] = nil
jira_tracker_data.create(data)
end
+
let!(:missing_username) do
data[:encrypted_username] = nil
data[:encrypted_username_iv] = nil
jira_tracker_data.create(data)
end
+
let!(:invalid_password) do
data[:encrypted_password_iv] = nil
jira_tracker_data.create(data)
end
+
let!(:missing_password) do
data[:encrypted_password] = nil
data[:encrypted_username_iv] = nil
diff --git a/spec/migrations/20200127090233_remove_invalid_issue_tracker_data_spec.rb b/spec/migrations/20200127090233_remove_invalid_issue_tracker_data_spec.rb
index a86b5d83a0b..e7917cf5d72 100644
--- a/spec/migrations/20200127090233_remove_invalid_issue_tracker_data_spec.rb
+++ b/spec/migrations/20200127090233_remove_invalid_issue_tracker_data_spec.rb
@@ -26,23 +26,28 @@ RSpec.describe RemoveInvalidIssueTrackerData do
data[:encrypted_issues_url_iv] = nil
issue_tracker_data.create(data)
end
+
let!(:missing_issues_url) do
data[:encrypted_issues_url] = ''
data[:encrypted_issues_url_iv] = nil
issue_tracker_data.create(data)
end
+
let!(:invalid_new_isue_url) do
data[:encrypted_new_issue_url_iv] = nil
issue_tracker_data.create(data)
end
+
let!(:missing_new_issue_url) do
data[:encrypted_new_issue_url] = ''
issue_tracker_data.create(data)
end
+
let!(:invalid_project_url) do
data[:encrypted_project_url_iv] = nil
issue_tracker_data.create(data)
end
+
let!(:missing_project_url) do
data[:encrypted_project_url] = nil
data[:encrypted_project_url_iv] = nil
diff --git a/spec/migrations/20200130145430_reschedule_migrate_issue_trackers_data_spec.rb b/spec/migrations/20200130145430_reschedule_migrate_issue_trackers_data_spec.rb
index 146302ba650..d5208976928 100644
--- a/spec/migrations/20200130145430_reschedule_migrate_issue_trackers_data_spec.rb
+++ b/spec/migrations/20200130145430_reschedule_migrate_issue_trackers_data_spec.rb
@@ -13,27 +13,35 @@ RSpec.describe RescheduleMigrateIssueTrackersData do
'url' => 'http://example.com'
}
end
+
let!(:jira_service) do
services.create(id: 10, type: 'JiraService', properties: properties, category: 'issue_tracker')
end
+
let!(:jira_service_nil) do
services.create(id: 11, type: 'JiraService', properties: nil, category: 'issue_tracker')
end
+
let!(:bugzilla_service) do
services.create(id: 12, type: 'BugzillaService', properties: properties, category: 'issue_tracker')
end
+
let!(:youtrack_service) do
services.create(id: 13, type: 'YoutrackService', properties: properties, category: 'issue_tracker')
end
+
let!(:youtrack_service_empty) do
services.create(id: 14, type: 'YoutrackService', properties: '', category: 'issue_tracker')
end
+
let!(:gitlab_service) do
services.create(id: 15, type: 'GitlabIssueTrackerService', properties: properties, category: 'issue_tracker')
end
+
let!(:gitlab_service_empty) do
services.create(id: 16, type: 'GitlabIssueTrackerService', properties: {}, category: 'issue_tracker')
end
+
let!(:other_service) do
services.create(id: 17, type: 'OtherService', properties: properties, category: 'other_category')
end
@@ -67,6 +75,7 @@ RSpec.describe RescheduleMigrateIssueTrackersData do
encrypted_issues_url_iv: 'somevalue'
)
end
+
let!(:invalid_issue_tracker_data) do
issue_tracker_data.create(
service_id: bugzilla_service.id,
@@ -74,6 +83,7 @@ RSpec.describe RescheduleMigrateIssueTrackersData do
encrypted_issues_url_iv: nil
)
end
+
let!(:valid_jira_tracker_data) do
jira_tracker_data.create(
service_id: bugzilla_service.id,
@@ -81,6 +91,7 @@ RSpec.describe RescheduleMigrateIssueTrackersData do
encrypted_url_iv: 'somevalue'
)
end
+
let!(:invalid_jira_tracker_data) do
jira_tracker_data.create(
service_id: bugzilla_service.id,
diff --git a/spec/migrations/migrate_k8s_service_integration_spec.rb b/spec/migrations/migrate_k8s_service_integration_spec.rb
index a1b2f2ae841..66e30b29f61 100644
--- a/spec/migrations/migrate_k8s_service_integration_spec.rb
+++ b/spec/migrations/migrate_k8s_service_integration_spec.rb
@@ -125,6 +125,7 @@ RSpec.describe MigrateK8sServiceIntegration do
platform_type: :kubernetes
)
end
+
let(:new_cluster) { MigrateK8sServiceIntegration::Cluster.instance_type.last! }
let(:platform) { new_cluster.platform_kubernetes }
diff --git a/spec/migrations/remove_duplicate_labels_from_project_spec.rb b/spec/migrations/remove_duplicate_labels_from_project_spec.rb
index 5e287eaa4ed..5eb8ba96aae 100644
--- a/spec/migrations/remove_duplicate_labels_from_project_spec.rb
+++ b/spec/migrations/remove_duplicate_labels_from_project_spec.rb
@@ -27,6 +27,7 @@ RSpec.describe RemoveDuplicateLabelsFromProject do
projects_table.create!(id: 1, name: 'project', path: 'project',
visibility_level: 0, namespace_id: group_one.id)
end
+
let(:label_title) { 'bug' }
let(:label_color) { 'red' }
let(:label_description) { 'nice label' }
diff --git a/spec/migrations/remove_orphaned_invited_members_spec.rb b/spec/migrations/remove_orphaned_invited_members_spec.rb
index 0474b5362be..10da63518c2 100644
--- a/spec/migrations/remove_orphaned_invited_members_spec.rb
+++ b/spec/migrations/remove_orphaned_invited_members_spec.rb
@@ -22,6 +22,7 @@ RSpec.describe RemoveOrphanedInvitedMembers do
invite_token: SecureRandom.hex, invite_accepted_at: Time.now,
access_level: 20)
end
+
let!(:invited_member2) do
create_member(user_id: nil, source_type: 'Group', source_id: group.id,
invite_token: SecureRandom.hex, invite_accepted_at: Time.now,
@@ -32,6 +33,7 @@ RSpec.describe RemoveOrphanedInvitedMembers do
create_member(user_id: nil, source_type: 'Project', source_id: project.id,
invite_accepted_at: Time.now, access_level: 30)
end
+
let!(:orphaned_member2) do
create_member(user_id: nil, source_type: 'Group', source_id: group.id,
invite_accepted_at: Time.now, access_level: 20)
diff --git a/spec/models/ability_spec.rb b/spec/models/ability_spec.rb
index 9206f14fd37..3418d7d39ad 100644
--- a/spec/models/ability_spec.rb
+++ b/spec/models/ability_spec.rb
@@ -194,6 +194,7 @@ RSpec.describe Ability do
let(:cross_project_merge_request) do
create(:merge_request, source_project: create(:project, :public))
end
+
let(:other_merge_request) { create(:merge_request) }
let(:all_merge_requests) do
[merge_request, cross_project_merge_request, other_merge_request]
diff --git a/spec/models/alert_management/alert_spec.rb b/spec/models/alert_management/alert_spec.rb
index bf338a9f4ee..7c22af54c71 100644
--- a/spec/models/alert_management/alert_spec.rb
+++ b/spec/models/alert_management/alert_spec.rb
@@ -335,6 +335,7 @@ RSpec.describe AlertManagement::Alert do
}
}
end
+
let(:alert) { build(:alert_management_alert, project: project, title: 'Details title', payload: payload) }
subject { alert.details }
diff --git a/spec/models/blob_viewer/composer_json_spec.rb b/spec/models/blob_viewer/composer_json_spec.rb
index 8d66e9e951f..5af58f3d6c7 100644
--- a/spec/models/blob_viewer/composer_json_spec.rb
+++ b/spec/models/blob_viewer/composer_json_spec.rb
@@ -14,6 +14,7 @@ RSpec.describe BlobViewer::ComposerJson do
}
SPEC
end
+
let(:blob) { fake_blob(path: 'composer.json', data: data) }
subject { described_class.new(blob) }
diff --git a/spec/models/blob_viewer/gemspec_spec.rb b/spec/models/blob_viewer/gemspec_spec.rb
index b6f3e059c7e..43c63050c90 100644
--- a/spec/models/blob_viewer/gemspec_spec.rb
+++ b/spec/models/blob_viewer/gemspec_spec.rb
@@ -14,6 +14,7 @@ RSpec.describe BlobViewer::Gemspec do
end
SPEC
end
+
let(:blob) { fake_blob(path: 'activerecord.gemspec', data: data) }
subject { described_class.new(blob) }
diff --git a/spec/models/blob_viewer/go_mod_spec.rb b/spec/models/blob_viewer/go_mod_spec.rb
index 21e84d39a54..3249e86fb03 100644
--- a/spec/models/blob_viewer/go_mod_spec.rb
+++ b/spec/models/blob_viewer/go_mod_spec.rb
@@ -11,6 +11,7 @@ RSpec.describe BlobViewer::GoMod do
module #{Settings.build_gitlab_go_url}/#{project.full_path}
SPEC
end
+
let(:blob) { fake_blob(path: 'go.mod', data: data) }
subject { described_class.new(blob) }
diff --git a/spec/models/blob_viewer/package_json_spec.rb b/spec/models/blob_viewer/package_json_spec.rb
index d2e8ab6575f..8a394a7334f 100644
--- a/spec/models/blob_viewer/package_json_spec.rb
+++ b/spec/models/blob_viewer/package_json_spec.rb
@@ -14,6 +14,7 @@ RSpec.describe BlobViewer::PackageJson do
}
SPEC
end
+
let(:blob) { fake_blob(path: 'package.json', data: data) }
subject { described_class.new(blob) }
@@ -54,6 +55,7 @@ RSpec.describe BlobViewer::PackageJson do
}
SPEC
end
+
let(:blob) { fake_blob(path: 'package.json', data: data) }
subject { described_class.new(blob) }
diff --git a/spec/models/blob_viewer/podspec_json_spec.rb b/spec/models/blob_viewer/podspec_json_spec.rb
index 61d2602c413..cdeea4e8744 100644
--- a/spec/models/blob_viewer/podspec_json_spec.rb
+++ b/spec/models/blob_viewer/podspec_json_spec.rb
@@ -14,6 +14,7 @@ RSpec.describe BlobViewer::PodspecJson do
}
SPEC
end
+
let(:blob) { fake_blob(path: 'AFNetworking.podspec.json', data: data) }
subject { described_class.new(blob) }
diff --git a/spec/models/blob_viewer/podspec_spec.rb b/spec/models/blob_viewer/podspec_spec.rb
index 0a0fbcaebd4..c2828067f22 100644
--- a/spec/models/blob_viewer/podspec_spec.rb
+++ b/spec/models/blob_viewer/podspec_spec.rb
@@ -14,6 +14,7 @@ RSpec.describe BlobViewer::Podspec do
end
SPEC
end
+
let(:blob) { fake_blob(path: 'Reachability.podspec', data: data) }
subject { described_class.new(blob) }
diff --git a/spec/models/blob_viewer/route_map_spec.rb b/spec/models/blob_viewer/route_map_spec.rb
index bb0284d7868..c412afaac4e 100644
--- a/spec/models/blob_viewer/route_map_spec.rb
+++ b/spec/models/blob_viewer/route_map_spec.rb
@@ -13,6 +13,7 @@ RSpec.describe BlobViewer::RouteMap do
public: 'team/'
MAP
end
+
let(:blob) { fake_blob(path: '.gitlab/route-map.yml', data: data) }
subject { described_class.new(blob) }
diff --git a/spec/models/ci/build_spec.rb b/spec/models/ci/build_spec.rb
index f8043798a99..0f410a15901 100644
--- a/spec/models/ci/build_spec.rb
+++ b/spec/models/ci/build_spec.rb
@@ -2797,6 +2797,7 @@ RSpec.describe Ci::Build do
let(:ci_registry) do
{ key: 'CI_REGISTRY', value: 'registry.example.com', public: true, masked: false }
end
+
let(:ci_registry_image) do
{ key: 'CI_REGISTRY_IMAGE', value: project.container_registry_url, public: true, masked: false }
end
diff --git a/spec/models/ci/daily_build_group_report_result_spec.rb b/spec/models/ci/daily_build_group_report_result_spec.rb
index 059a5b76b9a..326366666cb 100644
--- a/spec/models/ci/daily_build_group_report_result_spec.rb
+++ b/spec/models/ci/daily_build_group_report_result_spec.rb
@@ -36,6 +36,7 @@ RSpec.describe Ci::DailyBuildGroupReportResult do
data: { coverage: 71.2 }
)
end
+
let!(:new_pipeline) { create(:ci_pipeline) }
it 'creates or updates matching report results' do
diff --git a/spec/models/ci/pipeline_spec.rb b/spec/models/ci/pipeline_spec.rb
index bb3d02eb69f..836cbf90829 100644
--- a/spec/models/ci/pipeline_spec.rb
+++ b/spec/models/ci/pipeline_spec.rb
@@ -1935,6 +1935,7 @@ RSpec.describe Ci::Pipeline, :mailer do
project: project
)
end
+
let!(:commit_123_ref_develop) do
create(
:ci_empty_pipeline,
@@ -1944,6 +1945,7 @@ RSpec.describe Ci::Pipeline, :mailer do
project: project
)
end
+
let!(:commit_456_ref_test) do
create(
:ci_empty_pipeline,
diff --git a/spec/models/clusters/platforms/kubernetes_spec.rb b/spec/models/clusters/platforms/kubernetes_spec.rb
index adccc72d13d..c6a2b67a008 100644
--- a/spec/models/clusters/platforms/kubernetes_spec.rb
+++ b/spec/models/clusters/platforms/kubernetes_spec.rb
@@ -410,6 +410,7 @@ RSpec.describe Clusters::Platforms::Kubernetes do
let(:expected_pod_cached_data) do
kube_pod.tap { |kp| kp['metadata'].delete('namespace') }
end
+
let(:namespace) { "project-namespace" }
let(:environment) { instance_double(Environment, deployment_namespace: namespace) }
diff --git a/spec/models/commit_with_pipeline_spec.rb b/spec/models/commit_with_pipeline_spec.rb
index ff451527929..c4b6deebae0 100644
--- a/spec/models/commit_with_pipeline_spec.rb
+++ b/spec/models/commit_with_pipeline_spec.rb
@@ -13,6 +13,7 @@ RSpec.describe CommitWithPipeline do
sha: commit.sha,
status: 'success')
end
+
let!(:second_pipeline) do
create(:ci_empty_pipeline,
project: project,
diff --git a/spec/models/concerns/featurable_spec.rb b/spec/models/concerns/featurable_spec.rb
index cc01820cc97..31186b5fc77 100644
--- a/spec/models/concerns/featurable_spec.rb
+++ b/spec/models/concerns/featurable_spec.rb
@@ -42,6 +42,7 @@ RSpec.describe Featurable do
end
end
end
+
let!(:instance) { klass.new }
it { expect(klass.available_features).to eq [:feature1, :feature2] }
diff --git a/spec/models/concerns/issuable_spec.rb b/spec/models/concerns/issuable_spec.rb
index 96d3e2b7b1b..c943dd57f05 100644
--- a/spec/models/concerns/issuable_spec.rb
+++ b/spec/models/concerns/issuable_spec.rb
@@ -149,6 +149,7 @@ RSpec.describe Issuable do
let!(:searchable_issue) do
create(:issue, title: "Searchable awesome issue", description: 'Many cute kittens')
end
+
let!(:searchable_issue2) { create(:issue, title: "Aw", description: "Cu") }
it 'returns issues with a matching title' do
diff --git a/spec/models/design_management/design_at_version_spec.rb b/spec/models/design_management/design_at_version_spec.rb
index 2c640ee5c2c..3c1ff45c53f 100644
--- a/spec/models/design_management/design_at_version_spec.rb
+++ b/spec/models/design_management/design_at_version_spec.rb
@@ -78,18 +78,23 @@ RSpec.describe DesignManagement::DesignAtVersion do
let!(:version_a) do
create(:design_version, designs: [design_a])
end
+
let!(:version_b) do
create(:design_version, designs: [design_b])
end
+
let!(:version_mod) do
create(:design_version, modified_designs: [design_a, design_b])
end
+
let!(:version_c) do
create(:design_version, deleted_designs: [design_a])
end
+
let!(:version_d) do
create(:design_version, deleted_designs: [design_b])
end
+
let!(:version_e) do
create(:design_version, designs: [design_a])
end
@@ -296,9 +301,11 @@ RSpec.describe DesignManagement::DesignAtVersion do
let!(:version_a) do
create(:design_version, designs: create_list(:design, 3, issue: issue))
end
+
let!(:version_b) do
create(:design_version, designs: create_list(:design, 1, issue: issue))
end
+
let!(:version_c) do
create(:design_version, designs: create_list(:design, 1, issue: issue_b))
end
@@ -346,10 +353,12 @@ RSpec.describe DesignManagement::DesignAtVersion do
let!(:version_a) do
create(:design_version, designs: create_list(:design, 3, issue: issue))
end
+
let!(:version_b) do
create(:design_version, designs: create_list(:design, 2, issue: issue))
end
# 1 version, with 3 designs on issue B, so 1*3 = 3
+
let!(:version_c) do
create(:design_version, designs: create_list(:design, 3, issue: issue_b))
end
diff --git a/spec/models/merge_request_diff_commit_spec.rb b/spec/models/merge_request_diff_commit_spec.rb
index 5ea0145e60f..84fdfae1ed1 100644
--- a/spec/models/merge_request_diff_commit_spec.rb
+++ b/spec/models/merge_request_diff_commit_spec.rb
@@ -30,6 +30,7 @@ RSpec.describe MergeRequestDiffCommit do
project.commit('570e7b2abdd848b95f2f578043fc23bd6f6fd24d')
]
end
+
let(:rows) do
[
{
@@ -73,6 +74,7 @@ RSpec.describe MergeRequestDiffCommit do
# This commit's date is "Sun Aug 17 07:12:55 292278994 +0000"
[project.commit('ba3343bc4fa403a8dfbfcab7fc1a8c29ee34bd69')]
end
+
let(:timestamp) { Time.zone.at((1 << 31) - 1) }
let(:rows) do
[{
diff --git a/spec/models/merge_request_spec.rb b/spec/models/merge_request_spec.rb
index f123a819224..6edef54b153 100644
--- a/spec/models/merge_request_spec.rb
+++ b/spec/models/merge_request_spec.rb
@@ -63,6 +63,7 @@ RSpec.describe MergeRequest do
subject.source_project.repository.path
end
end
+
let(:squash_path) { File.join(repo_path, "gitlab-worktree", "squash-#{subject.id}") }
before do
@@ -742,6 +743,7 @@ RSpec.describe MergeRequest do
let!(:diff_note) do
create(:diff_note_on_merge_request, project: project, noteable: merge_request)
end
+
let!(:draft_note) do
create(:draft_note_on_text_diff, author: user, merge_request: merge_request)
end
@@ -3713,6 +3715,7 @@ RSpec.describe MergeRequest do
source_branch: 'fixes',
target_project: target_project)
end
+
let(:user) { create(:user) }
before do
diff --git a/spec/models/namespace_spec.rb b/spec/models/namespace_spec.rb
index ad4c8448745..4ef2ddd218a 100644
--- a/spec/models/namespace_spec.rb
+++ b/spec/models/namespace_spec.rb
@@ -507,6 +507,7 @@ RSpec.describe Namespace do
Gitlab.config.repositories.storages.default.legacy_disk_path
end
end
+
let(:path_in_dir) { File.join(repository_storage_path, namespace.full_path) }
let(:deleted_path) { namespace.full_path.gsub(namespace.path, "#{namespace.full_path}+#{namespace.id}+deleted") }
let(:deleted_path_in_dir) { File.join(repository_storage_path, deleted_path) }
diff --git a/spec/models/note_spec.rb b/spec/models/note_spec.rb
index e6e6a8c35cf..864f7221181 100644
--- a/spec/models/note_spec.rb
+++ b/spec/models/note_spec.rb
@@ -471,6 +471,7 @@ RSpec.describe Note do
note: "added label #{private_label.to_reference(ext_proj)}",
system: true
end
+
let!(:system_note_metadata) { create(:system_note_metadata, note: note, action: :label) }
it_behaves_like "checks references"
diff --git a/spec/models/pages_domain_spec.rb b/spec/models/pages_domain_spec.rb
index d283389e29e..1fc4f098661 100644
--- a/spec/models/pages_domain_spec.rb
+++ b/spec/models/pages_domain_spec.rb
@@ -611,6 +611,7 @@ RSpec.describe PagesDomain do
let!(:domain_with_expired_user_provided_certificate) do
create(:pages_domain, :with_expired_certificate)
end
+
let!(:domain_with_user_provided_certificate_and_auto_ssl) do
create(:pages_domain, auto_ssl_enabled: true)
end
diff --git a/spec/models/project_services/jira_service_spec.rb b/spec/models/project_services/jira_service_spec.rb
index cfc2c920cd2..28bba893be4 100644
--- a/spec/models/project_services/jira_service_spec.rb
+++ b/spec/models/project_services/jira_service_spec.rb
@@ -121,6 +121,7 @@ RSpec.describe JiraService do
{ url: url, api_url: api_url, username: username, password: password,
jira_issue_transition_id: transition_id }
end
+
let(:data_params) do
{
url: url, api_url: api_url,
@@ -562,6 +563,7 @@ RSpec.describe JiraService do
password: password
)
end
+
let(:jira_issue) { ExternalIssue.new('JIRA-123', project) }
subject { jira_service.create_cross_reference_note(jira_issue, resource, user) }
diff --git a/spec/models/project_services/microsoft_teams_service_spec.rb b/spec/models/project_services/microsoft_teams_service_spec.rb
index 610feb52827..53ab63ef030 100644
--- a/spec/models/project_services/microsoft_teams_service_spec.rb
+++ b/spec/models/project_services/microsoft_teams_service_spec.rb
@@ -121,6 +121,7 @@ RSpec.describe MicrosoftTeamsService do
message: "user created page: Awesome wiki_page"
}
end
+
let(:wiki_page) { create(:wiki_page, wiki: project.wiki, **opts) }
let(:wiki_page_sample_data) { Gitlab::DataBuilder::WikiPage.build(wiki_page, user, 'create') }
diff --git a/spec/models/project_spec.rb b/spec/models/project_spec.rb
index 9dada39a7a0..0caaa5394fa 100644
--- a/spec/models/project_spec.rb
+++ b/spec/models/project_spec.rb
@@ -401,6 +401,7 @@ RSpec.describe Project do
create(:project,
pending_delete: true)
end
+
let(:new_project) do
build(:project,
name: project_pending_deletion.name,
@@ -2262,6 +2263,7 @@ RSpec.describe Project do
create(:ci_empty_pipeline, project: project, sha: project.commit.id,
ref: project.default_branch)
end
+
let!(:pipeline_for_second_branch) do
create(:ci_empty_pipeline, project: project, sha: second_branch.target,
ref: second_branch.name)
@@ -3529,6 +3531,7 @@ RSpec.describe Project do
public: '\\1'
MAP
end
+
let(:sha) { project.commit.id }
context 'when there is a route map' do
@@ -5145,6 +5148,7 @@ RSpec.describe Project do
allow_collaboration: true
)
end
+
let!(:merge_request) do
create(
:merge_request,
diff --git a/spec/models/repository_spec.rb b/spec/models/repository_spec.rb
index 17a66ef4f44..07b32aa69ef 100644
--- a/spec/models/repository_spec.rb
+++ b/spec/models/repository_spec.rb
@@ -2700,6 +2700,7 @@ RSpec.describe Repository do
build(:commit, author: author_c),
build(:commit, author: author_c)]
end
+
let(:order_by) { nil }
let(:sort) { nil }
diff --git a/spec/models/snippet_repository_spec.rb b/spec/models/snippet_repository_spec.rb
index 8c25d713c0a..0f5e0bfc75c 100644
--- a/spec/models/snippet_repository_spec.rb
+++ b/spec/models/snippet_repository_spec.rb
@@ -102,6 +102,7 @@ RSpec.describe SnippetRepository do
{ action: :move }.merge(move_file),
{ action: :update }.merge(update_file)]
end
+
let(:repo) { double }
before do
diff --git a/spec/models/wiki_page_spec.rb b/spec/models/wiki_page_spec.rb
index 7e2babe62c2..aa8b9ce58b9 100644
--- a/spec/models/wiki_page_spec.rb
+++ b/spec/models/wiki_page_spec.rb
@@ -49,9 +49,11 @@ RSpec.describe WikiPage do
let(:dir_1) do
WikiDirectory.new('dir_1', [wiki.find_page('dir_1/page_2')])
end
+
let(:dir_1_1) do
WikiDirectory.new('dir_1/dir_1_1', [wiki.find_page('dir_1/dir_1_1/page_3')])
end
+
let(:dir_2) do
pages = [wiki.find_page('dir_2/page_5'),
wiki.find_page('dir_2/page_4')]
diff --git a/spec/policies/project_policy_spec.rb b/spec/policies/project_policy_spec.rb
index 7371fe5c3f7..a7bafd64167 100644
--- a/spec/policies/project_policy_spec.rb
+++ b/spec/policies/project_policy_spec.rb
@@ -325,6 +325,7 @@ RSpec.describe ProjectPolicy do
allow_collaboration: true
)
end
+
let(:maintainer_abilities) do
%w(create_build create_pipeline)
end
diff --git a/spec/presenters/blob_presenter_spec.rb b/spec/presenters/blob_presenter_spec.rb
index 8bc6b048823..47402fea2b5 100644
--- a/spec/presenters/blob_presenter_spec.rb
+++ b/spec/presenters/blob_presenter_spec.rb
@@ -12,6 +12,7 @@ RSpec.describe BlobPresenter, :seed_helper do
'files/ruby/regex.rb'
)
end
+
let(:blob) { Blob.new(git_blob) }
describe '.web_url' do
diff --git a/spec/requests/api/commits_spec.rb b/spec/requests/api/commits_spec.rb
index bacfbcf93da..21ff0a94db9 100644
--- a/spec/requests/api/commits_spec.rb
+++ b/spec/requests/api/commits_spec.rb
@@ -329,6 +329,7 @@ RSpec.describe API::Commits do
]
}
end
+
let(:valid_c_params) do
{
branch: 'master',
@@ -342,6 +343,7 @@ RSpec.describe API::Commits do
]
}
end
+
let(:valid_utf8_c_params) do
{
branch: 'master',
@@ -621,6 +623,7 @@ RSpec.describe API::Commits do
]
}
end
+
let(:valid_d_params) do
{
branch: 'markdown',
@@ -664,6 +667,7 @@ RSpec.describe API::Commits do
]
}
end
+
let(:valid_m_params) do
{
branch: 'feature',
@@ -708,6 +712,7 @@ RSpec.describe API::Commits do
]
}
end
+
let(:valid_u_params) do
{
branch: 'master',
@@ -819,6 +824,7 @@ RSpec.describe API::Commits do
]
}
end
+
let(:valid_mo_params) do
{
branch: 'master',
diff --git a/spec/requests/api/deploy_keys_spec.rb b/spec/requests/api/deploy_keys_spec.rb
index 81cef653770..591d994fec9 100644
--- a/spec/requests/api/deploy_keys_spec.rb
+++ b/spec/requests/api/deploy_keys_spec.rb
@@ -165,6 +165,7 @@ RSpec.describe API::DeployKeys do
let(:deploy_keys_project) do
create(:deploy_keys_project, project: project, deploy_key: deploy_key)
end
+
let(:extra_params) { { title: 'new title', can_push: true } }
it 'updates the title of the deploy key' do
diff --git a/spec/requests/api/files_spec.rb b/spec/requests/api/files_spec.rb
index 4441a9114a6..d7571ad4bff 100644
--- a/spec/requests/api/files_spec.rb
+++ b/spec/requests/api/files_spec.rb
@@ -17,6 +17,7 @@ RSpec.describe API::Files do
ref: 'master'
}
end
+
let(:author_email) { 'user@example.org' }
let(:author_name) { 'John Doe' }
@@ -773,6 +774,7 @@ RSpec.describe API::Files do
Gitlab::Git::Commit
.last_for_path(project.repository, 'master', URI.unescape(file_path))
end
+
let(:params_with_correct_id) { params.merge(last_commit_id: last_commit.id) }
subject { put api(route(absolute_path), user), params: params_with_correct_id }
@@ -868,6 +870,7 @@ RSpec.describe API::Files do
encoding: 'base64'
}
end
+
let(:get_params) do
{
ref: 'master'
diff --git a/spec/requests/api/go_proxy_spec.rb b/spec/requests/api/go_proxy_spec.rb
index 91e455dac19..faffb6bd192 100644
--- a/spec/requests/api/go_proxy_spec.rb
+++ b/spec/requests/api/go_proxy_spec.rb
@@ -108,6 +108,7 @@ RSpec.describe API::GoProxy do
project.repository.commit_by(oid: sha)
end
+
let(:resource) { "#{version}.info" }
it_behaves_like 'an unavailable resource'
diff --git a/spec/requests/api/graphql/mutations/container_expiration_policy/update_spec.rb b/spec/requests/api/graphql/mutations/container_expiration_policy/update_spec.rb
index bc1b42d68e6..7bef812bfec 100644
--- a/spec/requests/api/graphql/mutations/container_expiration_policy/update_spec.rb
+++ b/spec/requests/api/graphql/mutations/container_expiration_policy/update_spec.rb
@@ -18,6 +18,7 @@ RSpec.describe 'Updating the container expiration policy' do
older_than: 'FOURTEEN_DAYS'
}
end
+
let(:mutation) do
graphql_mutation(:update_container_expiration_policy, params,
<<~QL
@@ -32,6 +33,7 @@ RSpec.describe 'Updating the container expiration policy' do
QL
)
end
+
let(:mutation_response) { graphql_mutation_response(:update_container_expiration_policy) }
let(:container_expiration_policy_response) { mutation_response['containerExpirationPolicy'] }
diff --git a/spec/requests/api/graphql/mutations/design_management/move_spec.rb b/spec/requests/api/graphql/mutations/design_management/move_spec.rb
new file mode 100644
index 00000000000..dd121ec733e
--- /dev/null
+++ b/spec/requests/api/graphql/mutations/design_management/move_spec.rb
@@ -0,0 +1,122 @@
+# frozen_string_literal: true
+require "spec_helper"
+
+RSpec.describe "moving designs" do
+ include GraphqlHelpers
+ include DesignManagementTestHelpers
+
+ let_it_be(:issue) { create(:issue) }
+ let_it_be(:designs) { create_list(:design, 3, :with_versions, :with_relative_position, issue: issue) }
+ let_it_be(:developer) { create(:user, developer_projects: [issue.project]) }
+
+ let(:user) { developer }
+
+ let(:current_design) { designs.first }
+ let(:previous_design) { designs.second }
+ let(:next_design) { designs.third }
+ let(:mutation_name) { :design_management_move }
+
+ let(:mutation) do
+ input = {
+ id: current_design.to_global_id.to_s,
+ previous: previous_design&.to_global_id&.to_s,
+ next: next_design&.to_global_id&.to_s
+ }.compact
+
+ graphql_mutation(mutation_name, input, <<~FIELDS)
+ errors
+ designCollection {
+ designs {
+ nodes {
+ filename
+ }
+ }
+ }
+ FIELDS
+ end
+
+ let(:move_designs) { post_graphql_mutation(mutation, current_user: user) }
+ let(:mutation_response) { graphql_mutation_response(mutation_name) }
+
+ before do
+ enable_design_management
+ designs.each(&:reset)
+ issue.reset
+ end
+
+ shared_examples 'a successful move' do
+ it 'does not error, and reports the current order' do
+ move_designs
+
+ expect(graphql_errors).not_to be_present
+
+ expect(mutation_response).to eq(
+ 'errors' => [],
+ 'designCollection' => {
+ 'designs' => {
+ 'nodes' => new_order.map { |d| { 'filename' => d.filename } }
+ }
+ }
+ )
+ end
+ end
+
+ context 'the user is not allowed to move designs' do
+ let(:user) { create(:user) }
+
+ it 'returns an error' do
+ move_designs
+
+ expect(graphql_errors).to be_present
+ end
+ end
+
+ context 'the neighbors do not have positions' do
+ let!(:previous_design) { create(:design, :with_versions, issue: issue) }
+ let!(:next_design) { create(:design, :with_versions, issue: issue) }
+
+ let(:new_order) do
+ [
+ designs.second,
+ designs.third,
+ previous_design, current_design, next_design
+ ]
+ end
+
+ it_behaves_like 'a successful move'
+
+ it 'maintains the correct order in the presence of other unpositioned designs' do
+ other_design = create(:design, :with_versions, issue: issue)
+
+ move_designs
+ moved_designs = mutation_response.dig('designCollection', 'designs', 'nodes')
+
+ expect(moved_designs.map { |d| d['filename'] })
+ .to eq([*new_order.map(&:filename), other_design.filename])
+ end
+ end
+
+ context 'moving a design between two others' do
+ let(:new_order) { [designs.second, designs.first, designs.third] }
+
+ it_behaves_like 'a successful move'
+ end
+
+ context 'moving a design to the start' do
+ let(:current_design) { designs.last }
+ let(:next_design) { designs.first }
+ let(:previous_design) { nil }
+ let(:new_order) { [designs.last, designs.first, designs.second] }
+
+ it_behaves_like 'a successful move'
+ end
+
+ context 'moving a design to the end' do
+ let(:current_design) { designs.first }
+ let(:next_design) { nil }
+ let(:previous_design) { designs.last }
+ let(:new_order) { [designs.second, designs.third, designs.first] }
+
+ it_behaves_like 'a successful move'
+ end
+end
diff --git a/spec/requests/api/graphql/mutations/discussions/toggle_resolve_spec.rb b/spec/requests/api/graphql/mutations/discussions/toggle_resolve_spec.rb
index e83da830935..457c37e900b 100644
--- a/spec/requests/api/graphql/mutations/discussions/toggle_resolve_spec.rb
+++ b/spec/requests/api/graphql/mutations/discussions/toggle_resolve_spec.rb
@@ -10,9 +10,11 @@ RSpec.describe 'Toggling the resolve status of a discussion' do
let(:discussion) do
create(:diff_note_on_merge_request, noteable: noteable, project: project).to_discussion
end
+
let(:mutation) do
graphql_mutation(:discussion_toggle_resolve, { id: discussion.to_global_id.to_s, resolve: true })
end
+
let(:mutation_response) { graphql_mutation_response(:discussion_toggle_resolve) }
context 'when the user does not have permission' do
diff --git a/spec/requests/api/graphql/mutations/merge_requests/create_spec.rb b/spec/requests/api/graphql/mutations/merge_requests/create_spec.rb
index d4ac639e226..9297ca054c7 100644
--- a/spec/requests/api/graphql/mutations/merge_requests/create_spec.rb
+++ b/spec/requests/api/graphql/mutations/merge_requests/create_spec.rb
@@ -15,6 +15,7 @@ RSpec.describe 'Creation of a new merge request' do
target_branch: target_branch
}
end
+
let(:title) { 'MergeRequest' }
let(:source_branch) { 'new_branch' }
let(:target_branch) { 'master' }
diff --git a/spec/requests/api/graphql/mutations/notes/update/image_diff_note_spec.rb b/spec/requests/api/graphql/mutations/notes/update/image_diff_note_spec.rb
index f7be671e5f3..463a872d95d 100644
--- a/spec/requests/api/graphql/mutations/notes/update/image_diff_note_spec.rb
+++ b/spec/requests/api/graphql/mutations/notes/update/image_diff_note_spec.rb
@@ -33,6 +33,7 @@ RSpec.describe 'Updating an image DiffNote' do
y: updated_y
}
end
+
let!(:diff_note) do
create(:image_diff_note_on_merge_request,
noteable: noteable,
@@ -40,6 +41,7 @@ RSpec.describe 'Updating an image DiffNote' do
note: original_body,
position: original_position)
end
+
let(:mutation) do
variables = {
id: GitlabSchema.id_from_object(diff_note).to_s,
diff --git a/spec/requests/api/graphql/mutations/snippets/update_spec.rb b/spec/requests/api/graphql/mutations/snippets/update_spec.rb
index 9101acdafbb..3f39c0ab851 100644
--- a/spec/requests/api/graphql/mutations/snippets/update_spec.rb
+++ b/spec/requests/api/graphql/mutations/snippets/update_spec.rb
@@ -26,6 +26,7 @@ RSpec.describe 'Updating a Snippet' do
title: updated_title
}
end
+
let(:mutation) do
graphql_mutation(:update_snippet, mutation_vars)
end
diff --git a/spec/requests/api/graphql/project/container_expiration_policy_spec.rb b/spec/requests/api/graphql/project/container_expiration_policy_spec.rb
index b064e4d43e9..dc16847a669 100644
--- a/spec/requests/api/graphql/project/container_expiration_policy_spec.rb
+++ b/spec/requests/api/graphql/project/container_expiration_policy_spec.rb
@@ -13,6 +13,7 @@ RSpec.describe 'getting a repository in a project' do
#{all_graphql_fields_for('container_expiration_policy'.classify)}
QUERY
end
+
let(:query) do
graphql_query_for(
'project',
diff --git a/spec/requests/api/graphql/project/issue/designs/designs_spec.rb b/spec/requests/api/graphql/project/issue/designs/designs_spec.rb
index e47c025f8b2..decab900a43 100644
--- a/spec/requests/api/graphql/project/issue/designs/designs_spec.rb
+++ b/spec/requests/api/graphql/project/issue/designs/designs_spec.rb
@@ -24,12 +24,14 @@ RSpec.describe 'Getting designs related to an issue' do
}
NODE
end
+
let(:issue) { design.issue }
let(:project) { issue.project }
let(:query) { make_query }
let(:design_collection) do
graphql_data_at(:project, :issue, :design_collection)
end
+
let(:design_response) do
design_collection.dig('designs', 'edges').first['node']
end
@@ -185,6 +187,7 @@ RSpec.describe 'Getting designs related to an issue' do
}
NODE
end
+
let(:design_response) do
design_collection['designs']['edges']
end
diff --git a/spec/requests/api/graphql/project/issues_spec.rb b/spec/requests/api/graphql/project/issues_spec.rb
index cdfff2f50d4..06e613a09bc 100644
--- a/spec/requests/api/graphql/project/issues_spec.rb
+++ b/spec/requests/api/graphql/project/issues_spec.rb
@@ -12,6 +12,7 @@ RSpec.describe 'getting an issue list for a project' do
[create(:issue, project: project, discussion_locked: true),
create(:issue, project: project)]
end
+
let(:fields) do
<<~QUERY
edges {
diff --git a/spec/requests/api/graphql/project/jira_import_spec.rb b/spec/requests/api/graphql/project/jira_import_spec.rb
index 814965262b6..59d24835ae5 100644
--- a/spec/requests/api/graphql/project/jira_import_spec.rb
+++ b/spec/requests/api/graphql/project/jira_import_spec.rb
@@ -53,6 +53,7 @@ RSpec.describe 'query Jira import data' do
}
)
end
+
let(:jira_imports) { graphql_data.dig('project', 'jiraImports', 'nodes')}
let(:jira_import_status) { graphql_data.dig('project', 'jiraImportStatus')}
diff --git a/spec/requests/api/graphql/project/repository_spec.rb b/spec/requests/api/graphql/project/repository_spec.rb
index bd719a69647..a4984688557 100644
--- a/spec/requests/api/graphql/project/repository_spec.rb
+++ b/spec/requests/api/graphql/project/repository_spec.rb
@@ -11,6 +11,7 @@ RSpec.describe 'getting a repository in a project' do
#{all_graphql_fields_for('repository'.classify)}
QUERY
end
+
let(:query) do
graphql_query_for(
'project',
diff --git a/spec/requests/api/graphql/project/tree/tree_spec.rb b/spec/requests/api/graphql/project/tree/tree_spec.rb
index bce63d57c38..f4cd316da96 100644
--- a/spec/requests/api/graphql/project/tree/tree_spec.rb
+++ b/spec/requests/api/graphql/project/tree/tree_spec.rb
@@ -15,6 +15,7 @@ RSpec.describe 'getting a tree in a project' do
}
QUERY
end
+
let(:query) do
graphql_query_for(
'project',
diff --git a/spec/requests/api/graphql/user_query_spec.rb b/spec/requests/api/graphql/user_query_spec.rb
index 7ba1788a9ef..d8a2f96f5d8 100644
--- a/spec/requests/api/graphql/user_query_spec.rb
+++ b/spec/requests/api/graphql/user_query_spec.rb
@@ -83,6 +83,7 @@ RSpec.describe 'getting user information' do
let(:user_fields) do
query_graphql_field(:assigned_merge_requests, mr_args, 'nodes { id }')
end
+
let(:mr_args) { nil }
it_behaves_like 'a working graphql query'
@@ -145,6 +146,7 @@ RSpec.describe 'getting user information' do
let(:user_fields) do
query_graphql_field(:authored_merge_requests, mr_args, 'nodes { id }')
end
+
let(:mr_args) { nil }
it_behaves_like 'a working graphql query'
diff --git a/spec/requests/api/group_import_spec.rb b/spec/requests/api/group_import_spec.rb
index ad67f737725..cb63206fcb8 100644
--- a/spec/requests/api/group_import_spec.rb
+++ b/spec/requests/api/group_import_spec.rb
@@ -217,12 +217,14 @@ RSpec.describe API::GroupImport do
let!(:fog_connection) do
stub_uploads_object_storage(ImportExportUploader, direct_upload: true)
end
+
let(:tmp_object) do
fog_connection.directories.new(key: 'uploads').files.create(
key: "tmp/uploads/#{file_name}",
body: file_upload
)
end
+
let(:fog_file) { fog_to_uploaded_file(tmp_object) }
let(:params) do
{
diff --git a/spec/requests/api/groups_spec.rb b/spec/requests/api/groups_spec.rb
index a0f475a7b77..da423e986c3 100644
--- a/spec/requests/api/groups_spec.rb
+++ b/spec/requests/api/groups_spec.rb
@@ -1072,6 +1072,7 @@ RSpec.describe API::Groups do
let!(:project4) do
create(:project, namespace: group2, path: 'test_project', visibility_level: Gitlab::VisibilityLevel::PRIVATE)
end
+
let(:path) { "/groups/#{group1.id}/projects/shared" }
before do
diff --git a/spec/requests/api/helpers_spec.rb b/spec/requests/api/helpers_spec.rb
index 12cd5ace84e..fefa7105327 100644
--- a/spec/requests/api/helpers_spec.rb
+++ b/spec/requests/api/helpers_spec.rb
@@ -24,6 +24,7 @@ RSpec.describe API::Helpers do
'CONTENT_TYPE' => 'text/plain;charset=utf-8'
}
end
+
let(:header) { }
let(:request) { Grape::Request.new(env)}
let(:params) { request.params }
diff --git a/spec/requests/api/internal/base_spec.rb b/spec/requests/api/internal/base_spec.rb
index f410d82fed1..873189af397 100644
--- a/spec/requests/api/internal/base_spec.rb
+++ b/spec/requests/api/internal/base_spec.rb
@@ -683,6 +683,7 @@ RSpec.describe API::Internal::Base do
}
}
end
+
let(:console_messages) { ['informational message'] }
let(:custom_action_result) { Gitlab::GitAccessResult::CustomAction.new(payload, console_messages) }
diff --git a/spec/requests/api/internal/pages_spec.rb b/spec/requests/api/internal/pages_spec.rb
index 48fc95b6574..e58eba02132 100644
--- a/spec/requests/api/internal/pages_spec.rb
+++ b/spec/requests/api/internal/pages_spec.rb
@@ -7,6 +7,7 @@ RSpec.describe API::Internal::Pages do
jwt_token = JWT.encode({ 'iss' => 'gitlab-pages' }, Gitlab::Pages.secret, 'HS256')
{ Gitlab::Pages::INTERNAL_API_REQUEST_HEADER => jwt_token }
end
+
let(:pages_secret) { SecureRandom.random_bytes(Gitlab::Pages::SECRET_LENGTH) }
before do
diff --git a/spec/requests/api/issues/get_group_issues_spec.rb b/spec/requests/api/issues/get_group_issues_spec.rb
index b53fac3679d..b0fbf3bf66d 100644
--- a/spec/requests/api/issues/get_group_issues_spec.rb
+++ b/spec/requests/api/issues/get_group_issues_spec.rb
@@ -36,6 +36,7 @@ RSpec.describe API::Issues do
updated_at: 3.hours.ago,
created_at: 1.day.ago
end
+
let!(:group_confidential_issue) do
create :issue,
:confidential,
@@ -45,6 +46,7 @@ RSpec.describe API::Issues do
updated_at: 2.hours.ago,
created_at: 2.days.ago
end
+
let!(:group_issue) do
create :issue,
author: user,
@@ -56,14 +58,17 @@ RSpec.describe API::Issues do
description: issue_description,
created_at: 5.days.ago
end
+
let!(:group_label) do
create(:label, title: 'group_lbl', color: '#FFAABB', project: group_project)
end
+
let!(:group_label_link) { create(:label_link, label: group_label, target: group_issue) }
let!(:group_milestone) { create(:milestone, title: '3.0.0', project: group_project) }
let!(:group_empty_milestone) do
create(:milestone, title: '4.0.0', project: group_project)
end
+
let!(:group_note) { create(:note_on_issue, author: user, project: group_project, noteable: group_issue) }
let(:base_url) { "/groups/#{group.id}/issues" }
@@ -246,6 +251,7 @@ RSpec.describe API::Issues do
target_project: private_mrs_project,
description: "closes #{group_issue.to_reference(private_mrs_project)}")
end
+
let!(:merge_request2) do
create(:merge_request,
:simple,
diff --git a/spec/requests/api/issues/get_project_issues_spec.rb b/spec/requests/api/issues/get_project_issues_spec.rb
index 43bb1e10d21..4228ca2d5fd 100644
--- a/spec/requests/api/issues/get_project_issues_spec.rb
+++ b/spec/requests/api/issues/get_project_issues_spec.rb
@@ -28,6 +28,7 @@ RSpec.describe API::Issues do
updated_at: 3.hours.ago,
closed_at: 1.hour.ago
end
+
let!(:confidential_issue) do
create :issue,
:confidential,
@@ -37,6 +38,7 @@ RSpec.describe API::Issues do
created_at: generate(:past_time),
updated_at: 2.hours.ago
end
+
let!(:issue) do
create :issue,
author: user,
@@ -48,6 +50,7 @@ RSpec.describe API::Issues do
title: issue_title,
description: issue_description
end
+
let_it_be(:label) do
create(:label, title: 'label', color: '#FFAABB', project: project)
end
@@ -69,6 +72,7 @@ RSpec.describe API::Issues do
target_project: project,
description: "closes #{issue.to_reference}")
end
+
let!(:merge_request2) do
create(:merge_request,
:simple,
diff --git a/spec/requests/api/issues/issues_spec.rb b/spec/requests/api/issues/issues_spec.rb
index 519bea22501..a7a1b242f1f 100644
--- a/spec/requests/api/issues/issues_spec.rb
+++ b/spec/requests/api/issues/issues_spec.rb
@@ -28,6 +28,7 @@ RSpec.describe API::Issues do
updated_at: 3.hours.ago,
closed_at: 1.hour.ago
end
+
let!(:confidential_issue) do
create :issue,
:confidential,
@@ -37,6 +38,7 @@ RSpec.describe API::Issues do
created_at: generate(:past_time),
updated_at: 2.hours.ago
end
+
let!(:issue) do
create :issue,
author: user,
@@ -48,6 +50,7 @@ RSpec.describe API::Issues do
title: issue_title,
description: issue_description
end
+
let_it_be(:label) do
create(:label, title: 'label', color: '#FFAABB', project: project)
end
@@ -807,6 +810,7 @@ RSpec.describe API::Issues do
target_project: private_mrs_project,
description: "closes #{issue.to_reference(private_mrs_project)}")
end
+
let!(:merge_request2) do
create(:merge_request,
:simple,
diff --git a/spec/requests/api/issues/post_projects_issues_spec.rb b/spec/requests/api/issues/post_projects_issues_spec.rb
index e2f1bb2cd1a..a7fe4d4509a 100644
--- a/spec/requests/api/issues/post_projects_issues_spec.rb
+++ b/spec/requests/api/issues/post_projects_issues_spec.rb
@@ -27,6 +27,7 @@ RSpec.describe API::Issues do
updated_at: 3.hours.ago,
closed_at: 1.hour.ago
end
+
let!(:confidential_issue) do
create :issue,
:confidential,
@@ -36,6 +37,7 @@ RSpec.describe API::Issues do
created_at: generate(:past_time),
updated_at: 2.hours.ago
end
+
let!(:issue) do
create :issue,
author: user,
@@ -47,6 +49,7 @@ RSpec.describe API::Issues do
title: issue_title,
description: issue_description
end
+
let_it_be(:label) do
create(:label, title: 'label', color: '#FFAABB', project: project)
end
diff --git a/spec/requests/api/notes_spec.rb b/spec/requests/api/notes_spec.rb
index 1510d31a1a6..ca4ebd3689f 100644
--- a/spec/requests/api/notes_spec.rb
+++ b/spec/requests/api/notes_spec.rb
@@ -55,6 +55,7 @@ RSpec.describe API::Notes do
create(:project, namespace: private_user.namespace)
.tap { |p| p.add_maintainer(private_user) }
end
+
let(:private_issue) { create(:issue, project: private_project) }
let(:ext_proj) { create(:project, :public) }
diff --git a/spec/requests/api/pages_domains_spec.rb b/spec/requests/api/pages_domains_spec.rb
index b6838a39257..75183156c9d 100644
--- a/spec/requests/api/pages_domains_spec.rb
+++ b/spec/requests/api/pages_domains_spec.rb
@@ -17,6 +17,7 @@ RSpec.describe API::PagesDomains do
build(:pages_domain, :without_key, :without_certificate, domain: 'www.other-domain.test', auto_ssl_enabled: true)
.slice(:domain, :auto_ssl_enabled)
end
+
let(:pages_domain_secure_params) { build(:pages_domain, domain: 'ssl.other-domain.test', project: project).slice(:domain, :certificate, :key) }
let(:pages_domain_secure_key_missmatch_params) {build(:pages_domain, :with_trusted_chain, project: project).slice(:domain, :certificate, :key) }
let(:pages_domain_secure_missing_chain_params) {build(:pages_domain, :with_missing_chain, project: project).slice(:certificate) }
diff --git a/spec/requests/api/projects_spec.rb b/spec/requests/api/projects_spec.rb
index 1f2280a1ab5..46340f86f69 100644
--- a/spec/requests/api/projects_spec.rb
+++ b/spec/requests/api/projects_spec.rb
@@ -70,12 +70,14 @@ RSpec.describe API::Projects do
builds_enabled: false,
snippets_enabled: false)
end
+
let(:project_member2) do
create(:project_member,
user: user4,
project: project3,
access_level: ProjectMember::MAINTAINER)
end
+
let(:project4) do
create(:project,
name: 'third_project',
diff --git a/spec/requests/api/snippets_spec.rb b/spec/requests/api/snippets_spec.rb
index 57131ed8c5b..4e2f6e108eb 100644
--- a/spec/requests/api/snippets_spec.rb
+++ b/spec/requests/api/snippets_spec.rb
@@ -233,6 +233,7 @@ RSpec.describe API::Snippets do
visibility: 'public'
}
end
+
let(:file_path) { 'file_1.rb' }
let(:file_content) { 'puts "hello world"' }
diff --git a/spec/requests/groups/milestones_controller_spec.rb b/spec/requests/groups/milestones_controller_spec.rb
index 2c4d97ec4c3..4afdde8be04 100644
--- a/spec/requests/groups/milestones_controller_spec.rb
+++ b/spec/requests/groups/milestones_controller_spec.rb
@@ -10,6 +10,7 @@ RSpec.describe Groups::MilestonesController do
let!(:public_project_with_private_issues_and_mrs) do
create(:project, :public, :issues_private, :merge_requests_private, group: public_group)
end
+
let!(:private_milestone) { create(:milestone, project: public_project_with_private_issues_and_mrs, title: 'project milestone') }
describe 'GET #index' do
diff --git a/spec/requests/lfs_http_spec.rb b/spec/requests/lfs_http_spec.rb
index 0ae3feba4ba..7a06fe21e60 100644
--- a/spec/requests/lfs_http_spec.rb
+++ b/spec/requests/lfs_http_spec.rb
@@ -17,6 +17,7 @@ RSpec.describe 'Git LFS API and storage' do
'X-Sendfile-Type' => sendfile
}.compact
end
+
let(:include_workhorse_jwt_header) { true }
let(:authorization) { }
let(:sendfile) { }
diff --git a/spec/requests/rack_attack_global_spec.rb b/spec/requests/rack_attack_global_spec.rb
index 106515a6b13..444ee478cbb 100644
--- a/spec/requests/rack_attack_global_spec.rb
+++ b/spec/requests/rack_attack_global_spec.rb
@@ -227,6 +227,7 @@ RSpec.describe 'Rack Attack global throttles' do
let(:protected_path_that_does_not_require_authentication) do
'/users/sign_in'
end
+
let(:post_params) { { user: { login: 'username', password: 'password' } } }
before do
diff --git a/spec/rubocop/cop/gitlab/finder_with_find_by_spec.rb b/spec/rubocop/cop/gitlab/finder_with_find_by_spec.rb
index 30ee422f420..a47625d5dc1 100644
--- a/spec/rubocop/cop/gitlab/finder_with_find_by_spec.rb
+++ b/spec/rubocop/cop/gitlab/finder_with_find_by_spec.rb
@@ -20,6 +20,7 @@ RSpec.describe RuboCop::Cop::Gitlab::FinderWithFindBy, type: :rubocop do
.find_by!(1)
SRC
end
+
let(:corrected_source) do
<<~SRC
DummyFinder.new(some_args)
diff --git a/spec/rubocop/cop/rspec/any_instance_of_spec.rb b/spec/rubocop/cop/rspec/any_instance_of_spec.rb
index 11c0f109850..971e28853a3 100644
--- a/spec/rubocop/cop/rspec/any_instance_of_spec.rb
+++ b/spec/rubocop/cop/rspec/any_instance_of_spec.rb
@@ -15,6 +15,7 @@ RSpec.describe RuboCop::Cop::RSpec::AnyInstanceOf, type: :rubocop do
allow_any_instance_of(User).to receive(:invalidate_issue_cache_counts)
SRC
end
+
let(:corrected_source) do
<<~SRC
allow_next_instance_of(User) do |instance|
@@ -40,6 +41,7 @@ RSpec.describe RuboCop::Cop::RSpec::AnyInstanceOf, type: :rubocop do
expect_any_instance_of(User).to receive(:invalidate_issue_cache_counts).with(args).and_return(double)
SRC
end
+
let(:corrected_source) do
<<~SRC
expect_next_instance_of(User) do |instance|
diff --git a/spec/serializers/accessibility_reports_comparer_entity_spec.rb b/spec/serializers/accessibility_reports_comparer_entity_spec.rb
index 3024974710e..c576dfa4dd1 100644
--- a/spec/serializers/accessibility_reports_comparer_entity_spec.rb
+++ b/spec/serializers/accessibility_reports_comparer_entity_spec.rb
@@ -22,6 +22,7 @@ RSpec.describe AccessibilityReportsComparerEntity do
}
]
end
+
let(:different_error) do
[
{
diff --git a/spec/serializers/accessibility_reports_comparer_serializer_spec.rb b/spec/serializers/accessibility_reports_comparer_serializer_spec.rb
index ef56f5b6b6b..94d2a2a4065 100644
--- a/spec/serializers/accessibility_reports_comparer_serializer_spec.rb
+++ b/spec/serializers/accessibility_reports_comparer_serializer_spec.rb
@@ -23,6 +23,7 @@ RSpec.describe AccessibilityReportsComparerSerializer do
}
]
end
+
let(:different_error) do
[
{
diff --git a/spec/serializers/ci/daily_build_group_report_result_serializer_spec.rb b/spec/serializers/ci/daily_build_group_report_result_serializer_spec.rb
index 69bf599c0dd..ddeeb367afe 100644
--- a/spec/serializers/ci/daily_build_group_report_result_serializer_spec.rb
+++ b/spec/serializers/ci/daily_build_group_report_result_serializer_spec.rb
@@ -11,6 +11,7 @@ RSpec.describe Ci::DailyBuildGroupReportResultSerializer do
double(date: '2020-05-19', group_name: 'karma', data: { 'coverage' => 89.1 })
]
end
+
let(:serializer) { described_class.new.represent(report_result, param_type: 'coverage') }
describe '#to_json' do
diff --git a/spec/serializers/commit_entity_spec.rb b/spec/serializers/commit_entity_spec.rb
index e2ea63893a4..6b4346faf5b 100644
--- a/spec/serializers/commit_entity_spec.rb
+++ b/spec/serializers/commit_entity_spec.rb
@@ -8,6 +8,7 @@ RSpec.describe CommitEntity do
let(:entity) do
described_class.new(commit, request: request)
end
+
let(:request) { double('request') }
let(:project) { create(:project, :repository) }
let(:commit) { project.commit }
diff --git a/spec/serializers/diff_file_base_entity_spec.rb b/spec/serializers/diff_file_base_entity_spec.rb
index 153f854aa58..bf69a50a072 100644
--- a/spec/serializers/diff_file_base_entity_spec.rb
+++ b/spec/serializers/diff_file_base_entity_spec.rb
@@ -11,6 +11,7 @@ RSpec.describe DiffFileBaseEntity do
let(:commit_sha_with_changed_submodule) do
"cfe32cf61b73a0d5e9f13e774abde7ff789b1660"
end
+
let(:commit) { project.commit(commit_sha_with_changed_submodule) }
let(:options) { { request: {}, submodule_links: Gitlab::SubmoduleLinks.new(repository) } }
let(:diff_file) { commit.diffs.diff_files.to_a.last }
diff --git a/spec/serializers/environment_serializer_spec.rb b/spec/serializers/environment_serializer_spec.rb
index 1e3980b7720..1eba9ae4e5e 100644
--- a/spec/serializers/environment_serializer_spec.rb
+++ b/spec/serializers/environment_serializer_spec.rb
@@ -26,6 +26,7 @@ RSpec.describe EnvironmentSerializer do
project: project,
sha: project.commit.id)
end
+
let(:resource) { deployment.environment }
before do
diff --git a/spec/serializers/import/bitbucket_provider_repo_entity_spec.rb b/spec/serializers/import/bitbucket_provider_repo_entity_spec.rb
index 2a0386b779f..d59a476961e 100644
--- a/spec/serializers/import/bitbucket_provider_repo_entity_spec.rb
+++ b/spec/serializers/import/bitbucket_provider_repo_entity_spec.rb
@@ -17,6 +17,7 @@ RSpec.describe Import::BitbucketProviderRepoEntity do
}
}
end
+
let(:repo) { Bitbucket::Representation::Repo.new(repo_data) }
subject { described_class.new(repo).as_json }
diff --git a/spec/serializers/import/bitbucket_server_provider_repo_entity_spec.rb b/spec/serializers/import/bitbucket_server_provider_repo_entity_spec.rb
index 6e00d608d9a..8fe9fa16904 100644
--- a/spec/serializers/import/bitbucket_server_provider_repo_entity_spec.rb
+++ b/spec/serializers/import/bitbucket_server_provider_repo_entity_spec.rb
@@ -19,6 +19,7 @@ RSpec.describe Import::BitbucketServerProviderRepoEntity do
}
}
end
+
let(:repo) { BitbucketServer::Representation::Repo.new(repo_data) }
subject { described_class.new(repo).as_json }
diff --git a/spec/serializers/import/fogbugz_provider_repo_entity_spec.rb b/spec/serializers/import/fogbugz_provider_repo_entity_spec.rb
index 748ddd2a108..62bb0addb87 100644
--- a/spec/serializers/import/fogbugz_provider_repo_entity_spec.rb
+++ b/spec/serializers/import/fogbugz_provider_repo_entity_spec.rb
@@ -10,6 +10,7 @@ RSpec.describe Import::FogbugzProviderRepoEntity do
'sProject' => 'demo'
}
end
+
let(:repo) { Gitlab::FogbugzImport::Repository.new(repo_data) }
subject { described_class.represent(repo, { provider_url: provider_url }).as_json }
diff --git a/spec/serializers/paginated_diff_entity_spec.rb b/spec/serializers/paginated_diff_entity_spec.rb
index 30360b00537..a2c58baed55 100644
--- a/spec/serializers/paginated_diff_entity_spec.rb
+++ b/spec/serializers/paginated_diff_entity_spec.rb
@@ -14,6 +14,7 @@ RSpec.describe PaginatedDiffEntity do
pagination_data: diff_batch.pagination_data
}
end
+
let(:entity) { described_class.new(diff_batch, options) }
subject { entity.as_json }
diff --git a/spec/services/ci/create_pipeline_service_spec.rb b/spec/services/ci/create_pipeline_service_spec.rb
index f6082ab08b1..251020828e3 100644
--- a/spec/services/ci/create_pipeline_service_spec.rb
+++ b/spec/services/ci/create_pipeline_service_spec.rb
@@ -93,6 +93,7 @@ RSpec.describe Ci::CreatePipelineService do
let(:merge_request_1) do
create(:merge_request, source_branch: 'feature', target_branch: "master", source_project: project)
end
+
let(:merge_request_2) do
create(:merge_request, source_branch: 'feature', target_branch: "v1.1.0", source_project: project)
end
diff --git a/spec/services/ci/daily_build_group_report_result_service_spec.rb b/spec/services/ci/daily_build_group_report_result_service_spec.rb
index 7d181a5c2ba..f196afb05e8 100644
--- a/spec/services/ci/daily_build_group_report_result_service_spec.rb
+++ b/spec/services/ci/daily_build_group_report_result_service_spec.rb
@@ -65,6 +65,7 @@ RSpec.describe Ci::DailyBuildGroupReportResultService, '#execute' do
created_at: '2020-02-06 00:02:20'
)
end
+
let!(:new_rspec_job) { create(:ci_build, pipeline: new_pipeline, name: '4/4 rspec', coverage: 84) }
let!(:new_karma_job) { create(:ci_build, pipeline: new_pipeline, name: '3/3 karma', coverage: 92) }
@@ -104,6 +105,7 @@ RSpec.describe Ci::DailyBuildGroupReportResultService, '#execute' do
created_at: '2020-02-06 00:02:20'
)
end
+
let!(:new_rspec_job) { create(:ci_build, pipeline: new_pipeline, name: '4/4 rspec', coverage: 84) }
let!(:new_karma_job) { create(:ci_build, pipeline: new_pipeline, name: '3/3 karma', coverage: 92) }
@@ -149,6 +151,7 @@ RSpec.describe Ci::DailyBuildGroupReportResultService, '#execute' do
created_at: '2020-02-06 00:02:20'
)
end
+
let!(:some_job) { create(:ci_build, pipeline: new_pipeline, name: 'foo') }
it 'does nothing' do
diff --git a/spec/services/clusters/cleanup/project_namespace_service_spec.rb b/spec/services/clusters/cleanup/project_namespace_service_spec.rb
index 761ad8dd8c8..605aaea17e4 100644
--- a/spec/services/clusters/cleanup/project_namespace_service_spec.rb
+++ b/spec/services/clusters/cleanup/project_namespace_service_spec.rb
@@ -16,6 +16,7 @@ RSpec.describe Clusters::Cleanup::ProjectNamespaceService do
execution_count: 0
}
end
+
let(:kubeclient_instance_double) do
instance_double(Gitlab::Kubernetes::KubeClient, delete_namespace: nil, delete_service_account: nil)
end
diff --git a/spec/services/clusters/cleanup/service_account_service_spec.rb b/spec/services/clusters/cleanup/service_account_service_spec.rb
index 6fe3d0c286e..f256df1b2fc 100644
--- a/spec/services/clusters/cleanup/service_account_service_spec.rb
+++ b/spec/services/clusters/cleanup/service_account_service_spec.rb
@@ -16,6 +16,7 @@ RSpec.describe Clusters::Cleanup::ServiceAccountService do
execution_count: 0
}
end
+
let(:kubeclient_instance_double) do
instance_double(Gitlab::Kubernetes::KubeClient, delete_namespace: nil, delete_service_account: nil)
end
diff --git a/spec/services/commits/commit_patch_service_spec.rb b/spec/services/commits/commit_patch_service_spec.rb
index c8c0cbe23b2..55cbd0e5d66 100644
--- a/spec/services/commits/commit_patch_service_spec.rb
+++ b/spec/services/commits/commit_patch_service_spec.rb
@@ -10,6 +10,7 @@ RSpec.describe Commits::CommitPatchService do
[content_1, content_2]
end
+
let(:user) { project.creator }
let(:branch_name) { 'branch-with-patches' }
let(:project) { create(:project, :repository) }
diff --git a/spec/services/git/base_hooks_service_spec.rb b/spec/services/git/base_hooks_service_spec.rb
index 661c77b56bb..4ab27c7ab05 100644
--- a/spec/services/git/base_hooks_service_spec.rb
+++ b/spec/services/git/base_hooks_service_spec.rb
@@ -171,6 +171,7 @@ RSpec.describe Git::BaseHooksService do
}
}
end
+
let(:variables_attributes) { [] }
before do
@@ -192,6 +193,7 @@ RSpec.describe Git::BaseHooksService do
}
}
end
+
let(:variables_attributes) do
[
{ "key" => "FOO", "variable_type" => "env_var", "secret_value" => "123" },
@@ -219,6 +221,7 @@ RSpec.describe Git::BaseHooksService do
}
}
end
+
let(:variables_attributes) do
[
{ "key" => "FOO", "variable_type" => "env_var", "secret_value" => "123" }
diff --git a/spec/services/git/process_ref_changes_service_spec.rb b/spec/services/git/process_ref_changes_service_spec.rb
index d2d5ac5a7e8..fc313bf6eb9 100644
--- a/spec/services/git/process_ref_changes_service_spec.rb
+++ b/spec/services/git/process_ref_changes_service_spec.rb
@@ -167,6 +167,7 @@ RSpec.describe Git::ProcessRefChangesService do
{ index: 0, oldrev: Gitlab::Git::BLANK_SHA, newrev: '789012', ref: "refs/tags/v10.0.0" }
]
end
+
let(:branch_changes) do
[
{ index: 0, oldrev: Gitlab::Git::BLANK_SHA, newrev: '789012', ref: "#{ref_prefix}/create1" },
@@ -174,6 +175,7 @@ RSpec.describe Git::ProcessRefChangesService do
{ index: 2, oldrev: Gitlab::Git::BLANK_SHA, newrev: '789014', ref: "#{ref_prefix}/create3" }
]
end
+
let(:git_changes) { double(branch_changes: branch_changes, tag_changes: tag_changes) }
it 'schedules job for existing merge requests' do
diff --git a/spec/services/groups/group_links/create_service_spec.rb b/spec/services/groups/group_links/create_service_spec.rb
index bca03863d1e..fb88433d8f6 100644
--- a/spec/services/groups/group_links/create_service_spec.rb
+++ b/spec/services/groups/group_links/create_service_spec.rb
@@ -25,6 +25,7 @@ RSpec.describe Groups::GroupLinks::CreateService, '#execute' do
expires_at: nil
}
end
+
let(:user) { group_user }
subject { described_class.new(group, user, opts) }
diff --git a/spec/services/issuable/clone/content_rewriter_spec.rb b/spec/services/issuable/clone/content_rewriter_spec.rb
index f39439b7c2f..b1cef0789b3 100644
--- a/spec/services/issuable/clone/content_rewriter_spec.rb
+++ b/spec/services/issuable/clone/content_rewriter_spec.rb
@@ -93,6 +93,7 @@ RSpec.describe Issuable::Clone::ContentRewriter do
create(:note, system: true, noteable: original_issue, project: project1)
]
end
+
let!(:system_note_metadata) { create(:system_note_metadata, note: notes.last) }
let!(:award_emoji) { create(:award_emoji, awardable: notes.first, name: 'thumbsup')}
@@ -136,6 +137,7 @@ RSpec.describe Issuable::Clone::ContentRewriter do
let(:text) do
"See ##{other_issue.iid} and #{merge_request.project.full_path}!#{merge_request.iid}"
end
+
let!(:note) { create(:note, noteable: original_issue, note: text, project: project1) }
it 'rewrites the references correctly' do
diff --git a/spec/services/merge_requests/conflicts/resolve_service_spec.rb b/spec/services/merge_requests/conflicts/resolve_service_spec.rb
index c4d50124ca9..0abc70f71b0 100644
--- a/spec/services/merge_requests/conflicts/resolve_service_spec.rb
+++ b/spec/services/merge_requests/conflicts/resolve_service_spec.rb
@@ -205,6 +205,7 @@ RSpec.describe MergeRequests::Conflicts::ResolveService do
let(:resolver) do
MergeRequests::Conflicts::ListService.new(merge_request).conflicts.resolver
end
+
let(:regex_conflict) do
resolver.conflict_for_path(resolver.conflicts, 'files/ruby/regex.rb', 'files/ruby/regex.rb')
end
diff --git a/spec/services/merge_requests/create_service_spec.rb b/spec/services/merge_requests/create_service_spec.rb
index a8661f027e8..bb62e594e7a 100644
--- a/spec/services/merge_requests/create_service_spec.rb
+++ b/spec/services/merge_requests/create_service_spec.rb
@@ -347,6 +347,7 @@ RSpec.describe MergeRequests::CreateService, :clean_gitlab_redis_shared_state do
target_branch: 'master'
}
end
+
let(:issuable) { described_class.new(project, user, params).execute }
end
diff --git a/spec/services/merge_requests/ff_merge_service_spec.rb b/spec/services/merge_requests/ff_merge_service_spec.rb
index b4e3516eb9d..55856deeaca 100644
--- a/spec/services/merge_requests/ff_merge_service_spec.rb
+++ b/spec/services/merge_requests/ff_merge_service_spec.rb
@@ -12,6 +12,7 @@ RSpec.describe MergeRequests::FfMergeService do
assignees: [user2],
author: create(:user))
end
+
let(:project) { merge_request.project }
let(:valid_merge_params) { { sha: merge_request.diff_head_sha } }
diff --git a/spec/services/merge_requests/rebase_service_spec.rb b/spec/services/merge_requests/rebase_service_spec.rb
index 2e525f2ed01..653fcf12a76 100644
--- a/spec/services/merge_requests/rebase_service_spec.rb
+++ b/spec/services/merge_requests/rebase_service_spec.rb
@@ -13,6 +13,7 @@ RSpec.describe MergeRequests::RebaseService do
target_branch: 'master',
rebase_jid: rebase_jid
end
+
let(:project) { merge_request.project }
let(:repository) { project.repository.raw }
let(:skip_ci) { false }
diff --git a/spec/services/merge_requests/refresh_service_spec.rb b/spec/services/merge_requests/refresh_service_spec.rb
index 18c4cef7087..0696e8a247f 100644
--- a/spec/services/merge_requests/refresh_service_spec.rb
+++ b/spec/services/merge_requests/refresh_service_spec.rb
@@ -555,11 +555,13 @@ RSpec.describe MergeRequests::RefreshService do
message: 'Test commit',
branch_name: 'master')
end
+
let!(:second_commit) do
@fork_project.repository.create_file(@user, 'test2.txt', 'More test data',
message: 'Second test commit',
branch_name: 'master')
end
+
let!(:forked_master_mr) do
create(:merge_request,
source_project: @fork_project,
@@ -567,6 +569,7 @@ RSpec.describe MergeRequests::RefreshService do
target_branch: 'master',
target_project: @project)
end
+
let(:force_push_commit) { @project.commit('feature').id }
it 'reloads a new diff for a push to the forked project' do
diff --git a/spec/services/merge_requests/squash_service_spec.rb b/spec/services/merge_requests/squash_service_spec.rb
index 1ec1dc0f6eb..acbd0a42fcd 100644
--- a/spec/services/merge_requests/squash_service_spec.rb
+++ b/spec/services/merge_requests/squash_service_spec.rb
@@ -13,6 +13,7 @@ RSpec.describe MergeRequests::SquashService do
let(:squash_dir_path) do
File.join(Gitlab.config.shared.path, 'tmp/squash', repository.gl_repository, merge_request.id.to_s)
end
+
let(:merge_request_with_one_commit) do
create(:merge_request,
source_branch: 'feature', source_project: project,
diff --git a/spec/services/metrics/dashboard/cluster_metrics_embed_service_spec.rb b/spec/services/metrics/dashboard/cluster_metrics_embed_service_spec.rb
index e80911d6265..dbb89af45d0 100644
--- a/spec/services/metrics/dashboard/cluster_metrics_embed_service_spec.rb
+++ b/spec/services/metrics/dashboard/cluster_metrics_embed_service_spec.rb
@@ -52,6 +52,7 @@ RSpec.describe Metrics::Dashboard::ClusterMetricsEmbedService, :use_clean_rails_
}
]
end
+
let(:service_call) { described_class.new(*service_params).get_dashboard }
let(:panel_groups) { service_call[:dashboard][:panel_groups] }
let(:panel) { panel_groups.first[:panels].first }
diff --git a/spec/services/notes/create_service_spec.rb b/spec/services/notes/create_service_spec.rb
index fd824621db7..15defd7e22f 100644
--- a/spec/services/notes/create_service_spec.rb
+++ b/spec/services/notes/create_service_spec.rb
@@ -117,6 +117,7 @@ RSpec.describe Notes::CreateService do
source_project: project_with_repo,
target_project: project_with_repo)
end
+
let(:line_number) { 14 }
let(:position) do
Gitlab::Diff::Position.new(old_path: "files/ruby/popen.rb",
@@ -125,6 +126,7 @@ RSpec.describe Notes::CreateService do
new_line: line_number,
diff_refs: merge_request.diff_refs)
end
+
let(:previous_note) do
create(:diff_note_on_merge_request, noteable: merge_request, project: project_with_repo)
end
diff --git a/spec/services/packages/create_dependency_service_spec.rb b/spec/services/packages/create_dependency_service_spec.rb
index 00e5e5c6d96..3ad59b31b2c 100644
--- a/spec/services/packages/create_dependency_service_spec.rb
+++ b/spec/services/packages/create_dependency_service_spec.rb
@@ -15,6 +15,7 @@ RSpec.describe Packages::CreateDependencyService do
.gsub('1.0.1', version))
.with_indifferent_access
end
+
let(:package_version) { params[:versions].each_key.first }
let(:dependencies) { params[:versions][package_version] }
let(:package) { create(:npm_package) }
diff --git a/spec/services/packages/npm/create_package_service_spec.rb b/spec/services/packages/npm/create_package_service_spec.rb
index 25bbbf82bec..c1391746f52 100644
--- a/spec/services/packages/npm/create_package_service_spec.rb
+++ b/spec/services/packages/npm/create_package_service_spec.rb
@@ -13,6 +13,7 @@ RSpec.describe Packages::Npm::CreatePackageService do
.gsub('1.0.1', version)).with_indifferent_access
.merge!(override)
end
+
let(:override) { {} }
let(:package_name) { "@#{namespace.path}/my-app".freeze }
diff --git a/spec/services/pod_logs/elasticsearch_service_spec.rb b/spec/services/pod_logs/elasticsearch_service_spec.rb
index 9431e47c6f2..e233abcd96a 100644
--- a/spec/services/pod_logs/elasticsearch_service_spec.rb
+++ b/spec/services/pod_logs/elasticsearch_service_spec.rb
@@ -243,6 +243,7 @@ RSpec.describe ::PodLogs::ElasticsearchService do
cursor: cursor
}
end
+
let(:expected_cursor) { '9999934,1572449784442' }
before do
diff --git a/spec/services/preview_markdown_service_spec.rb b/spec/services/preview_markdown_service_spec.rb
index 2509d1300b3..53f8f5b7253 100644
--- a/spec/services/preview_markdown_service_spec.rb
+++ b/spec/services/preview_markdown_service_spec.rb
@@ -25,12 +25,14 @@ RSpec.describe PreviewMarkdownService do
let(:merge_request) do
create(:merge_request, target_project: project, source_project: project)
end
+
let(:text) { "```suggestion\nfoo\n```" }
let(:params) do
suggestion_params.merge(text: text,
target_type: 'MergeRequest',
target_id: merge_request.iid)
end
+
let(:service) { described_class.new(project, user, params) }
context 'when preview markdown param is present' do
@@ -106,6 +108,7 @@ RSpec.describe PreviewMarkdownService do
target_id: issue.id
}
end
+
let(:service) { described_class.new(project, user, params) }
it 'removes quick actions from text' do
@@ -128,6 +131,7 @@ RSpec.describe PreviewMarkdownService do
target_type: 'MergeRequest'
}
end
+
let(:service) { described_class.new(project, user, params) }
it 'removes quick actions from text' do
@@ -153,6 +157,7 @@ RSpec.describe PreviewMarkdownService do
target_id: commit.id
}
end
+
let(:service) { described_class.new(project, user, params) }
it 'removes quick actions from text' do
diff --git a/spec/services/projects/alerting/notify_service_spec.rb b/spec/services/projects/alerting/notify_service_spec.rb
index 3398fe26b55..3e74a15c3c0 100644
--- a/spec/services/projects/alerting/notify_service_spec.rb
+++ b/spec/services/projects/alerting/notify_service_spec.rb
@@ -66,6 +66,7 @@ RSpec.describe Projects::Alerting::NotifyService do
fingerprint: fingerprint
}.with_indifferent_access
end
+
let(:payload) { ActionController::Parameters.new(payload_raw).permit! }
subject { service.execute(token) }
diff --git a/spec/services/projects/fork_service_spec.rb b/spec/services/projects/fork_service_spec.rb
index 1e4038fab79..925c2ff5d88 100644
--- a/spec/services/projects/fork_service_spec.rb
+++ b/spec/services/projects/fork_service_spec.rb
@@ -105,6 +105,7 @@ RSpec.describe Projects::ForkService do
group.add_owner(@to_user)
group
end
+
let(:to_project) { fork_project(from_forked_project, @to_user, namespace: other_namespace) }
it 'sets the root of the network to the root project' do
diff --git a/spec/services/projects/operations/update_service_spec.rb b/spec/services/projects/operations/update_service_spec.rb
index 3cfc9844d65..8a538bc67ed 100644
--- a/spec/services/projects/operations/update_service_spec.rb
+++ b/spec/services/projects/operations/update_service_spec.rb
@@ -384,6 +384,7 @@ RSpec.describe Projects::Operations::UpdateService do
manual_configuration: "0"
})
end
+
let(:params) do
{
prometheus_integration_attributes: {
diff --git a/spec/services/releases/create_service_spec.rb b/spec/services/releases/create_service_spec.rb
index 3c0698aa203..ad4696b0074 100644
--- a/spec/services/releases/create_service_spec.rb
+++ b/spec/services/releases/create_service_spec.rb
@@ -198,6 +198,7 @@ RSpec.describe Releases::CreateService do
released_at: released_at
}.compact
end
+
let(:last_release) { project.releases.last }
around do |example|
diff --git a/spec/services/snippets/create_service_spec.rb b/spec/services/snippets/create_service_spec.rb
index 62eef00b67f..2106a9c2045 100644
--- a/spec/services/snippets/create_service_spec.rb
+++ b/spec/services/snippets/create_service_spec.rb
@@ -15,6 +15,7 @@ RSpec.describe Snippets::CreateService do
visibility_level: Gitlab::VisibilityLevel::PRIVATE
}
end
+
let(:extra_opts) { {} }
let(:creator) { admin }
diff --git a/spec/services/snippets/update_service_spec.rb b/spec/services/snippets/update_service_spec.rb
index 66dddcc49de..638fe1948fd 100644
--- a/spec/services/snippets/update_service_spec.rb
+++ b/spec/services/snippets/update_service_spec.rb
@@ -15,6 +15,7 @@ RSpec.describe Snippets::UpdateService do
visibility_level: visibility_level
}
end
+
let(:extra_opts) { {} }
let(:options) { base_opts.merge(extra_opts) }
let(:updater) { user }
diff --git a/spec/services/spam/spam_action_service_spec.rb b/spec/services/spam/spam_action_service_spec.rb
index abb8e49ec52..8edd9406bce 100644
--- a/spec/services/spam/spam_action_service_spec.rb
+++ b/spec/services/spam/spam_action_service_spec.rb
@@ -13,6 +13,7 @@ RSpec.describe Spam::SpamActionService do
'HTTP_USER_AGENT' => fake_user_agent,
'HTTP_REFERRER' => fake_referrer }
end
+
let(:request) { double(:request, env: env) }
let_it_be(:project) { create(:project, :public) }
diff --git a/spec/services/spam/spam_verdict_service_spec.rb b/spec/services/spam/spam_verdict_service_spec.rb
index d775e1bdfb5..14b788e3a86 100644
--- a/spec/services/spam/spam_verdict_service_spec.rb
+++ b/spec/services/spam/spam_verdict_service_spec.rb
@@ -13,6 +13,7 @@ RSpec.describe Spam::SpamVerdictService do
'HTTP_USER_AGENT' => fake_user_agent,
'HTTP_REFERRER' => fake_referrer }
end
+
let(:request) { double(:request, env: env) }
let(:check_for_spam) { true }
diff --git a/spec/services/suggestions/create_service_spec.rb b/spec/services/suggestions/create_service_spec.rb
index 54e7c5cc127..80823364fe8 100644
--- a/spec/services/suggestions/create_service_spec.rb
+++ b/spec/services/suggestions/create_service_spec.rb
@@ -159,6 +159,7 @@ RSpec.describe Suggestions::CreateService do
```
MARKDOWN
end
+
let(:position) { build_position(new_line: 13) }
it 'creates an appliable suggestion' do
diff --git a/spec/services/system_notes/design_management_service_spec.rb b/spec/services/system_notes/design_management_service_spec.rb
index 6267ad2aaad..19e1f338eb8 100644
--- a/spec/services/system_notes/design_management_service_spec.rb
+++ b/spec/services/system_notes/design_management_service_spec.rb
@@ -134,6 +134,7 @@ RSpec.describe SystemNotes::DesignManagementService do
let(:discussion_note) do
create(:diff_note_on_design, noteable: design, author: author)
end
+
let(:action) { 'designs_discussion_added' }
it_behaves_like 'a system note' do
diff --git a/spec/services/users/create_service_spec.rb b/spec/services/users/create_service_spec.rb
index 69d2d6ca9ff..9040966215c 100644
--- a/spec/services/users/create_service_spec.rb
+++ b/spec/services/users/create_service_spec.rb
@@ -154,6 +154,7 @@ RSpec.describe Users::CreateService do
let(:params) do
{ name: 'John Doe', username: 'jduser', email: 'jd@example.com', password: 'mydummypass', skip_confirmation: true }
end
+
let(:service) { described_class.new(nil, params) }
it 'persists the given attributes' do
diff --git a/spec/services/web_hook_service_spec.rb b/spec/services/web_hook_service_spec.rb
index 2be481c5b62..02d36ed5aba 100644
--- a/spec/services/web_hook_service_spec.rb
+++ b/spec/services/web_hook_service_spec.rb
@@ -13,9 +13,11 @@ RSpec.describe WebHookService do
'X-Gitlab-Event' => 'Push Hook'
}
end
+
let(:data) do
{ before: 'oldrev', after: 'newrev', ref: 'ref' }
end
+
let(:service_instance) { described_class.new(project_hook, data, :push_hooks) }
describe '#initialize' do
diff --git a/spec/services/wikis/create_attachment_service_spec.rb b/spec/services/wikis/create_attachment_service_spec.rb
index 50cb9ac111c..22e34e1f373 100644
--- a/spec/services/wikis/create_attachment_service_spec.rb
+++ b/spec/services/wikis/create_attachment_service_spec.rb
@@ -13,6 +13,7 @@ RSpec.describe Wikis::CreateAttachmentService do
file_content: 'Content of attachment'
}
end
+
let(:opts) { file_opts }
subject(:service) { described_class.new(container: container, current_user: user, params: opts) }
diff --git a/spec/support/shared_contexts/finders/merge_requests_finder_shared_contexts.rb b/spec/support/shared_contexts/finders/merge_requests_finder_shared_contexts.rb
index 07b6b98222f..010c445d8df 100644
--- a/spec/support/shared_contexts/finders/merge_requests_finder_shared_contexts.rb
+++ b/spec/support/shared_contexts/finders/merge_requests_finder_shared_contexts.rb
@@ -28,6 +28,7 @@ RSpec.shared_context 'MergeRequestsFinder multiple projects with merge requests
fork_project(project1, user)
end
end
+
let!(:project3) do
allow_gitaly_n_plus_1 do
fork_project(project1, user).tap do |project|
@@ -35,6 +36,7 @@ RSpec.shared_context 'MergeRequestsFinder multiple projects with merge requests
end
end
end
+
let_it_be(:project4, reload: true) do
allow_gitaly_n_plus_1 { create(:project, :repository, group: subgroup) }
end
@@ -53,22 +55,26 @@ RSpec.shared_context 'MergeRequestsFinder multiple projects with merge requests
source_project: project2, target_project: project1,
target_branch: 'merged-target')
end
+
let!(:merge_request2) do
create(:merge_request, :conflict, assignees: [user], author: user,
source_project: project2, target_project: project1,
state: 'closed')
end
+
let!(:merge_request3) do
create(:merge_request, :simple, author: user, assignees: [user2],
source_project: project2, target_project: project2,
state: 'locked',
title: 'thing WIP thing')
end
+
let!(:merge_request4) do
create(:merge_request, :simple, author: user,
source_project: project3, target_project: project3,
title: 'WIP thing')
end
+
let_it_be(:merge_request5) do
create(:merge_request, :simple, author: user,
source_project: project4, target_project: project4,
diff --git a/spec/support/shared_contexts/policies/group_policy_shared_context.rb b/spec/support/shared_contexts/policies/group_policy_shared_context.rb
index 4b0c7afab6d..af46e5474b0 100644
--- a/spec/support/shared_contexts/policies/group_policy_shared_context.rb
+++ b/spec/support/shared_contexts/policies/group_policy_shared_context.rb
@@ -17,6 +17,7 @@ RSpec.shared_context 'GroupPolicy context' do
read_group_merge_requests
]
end
+
let(:read_group_permissions) { %i[read_label read_list read_milestone read_board] }
let(:reporter_permissions) { %i[admin_label read_container_image read_metrics_dashboard_annotation read_prometheus] }
let(:developer_permissions) { %i[admin_milestone create_metrics_dashboard_annotation delete_metrics_dashboard_annotation update_metrics_dashboard_annotation] }
@@ -26,6 +27,7 @@ RSpec.shared_context 'GroupPolicy context' do
read_cluster create_cluster update_cluster admin_cluster add_cluster
]
end
+
let(:owner_permissions) do
[
:admin_group,
@@ -38,6 +40,7 @@ RSpec.shared_context 'GroupPolicy context' do
:update_default_branch_protection
].compact
end
+
let(:admin_permissions) { %i[read_confidential_issues] }
before_all do
diff --git a/spec/support/shared_examples/controllers/metrics/dashboard/prometheus_api_proxy_shared_examples.rb b/spec/support/shared_examples/controllers/metrics/dashboard/prometheus_api_proxy_shared_examples.rb
index 94cd6971f7c..19b1cee44ee 100644
--- a/spec/support/shared_examples/controllers/metrics/dashboard/prometheus_api_proxy_shared_examples.rb
+++ b/spec/support/shared_examples/controllers/metrics/dashboard/prometheus_api_proxy_shared_examples.rb
@@ -9,6 +9,7 @@ RSpec.shared_examples_for 'metrics dashboard prometheus api proxy' do
id: proxyable.id.to_s
}
end
+
let(:expected_params) do
ActionController::Parameters.new(
prometheus_proxy_params(
diff --git a/spec/support/shared_examples/controllers/variables_shared_examples.rb b/spec/support/shared_examples/controllers/variables_shared_examples.rb
index 9ff0bc3d217..34632993cf0 100644
--- a/spec/support/shared_examples/controllers/variables_shared_examples.rb
+++ b/spec/support/shared_examples/controllers/variables_shared_examples.rb
@@ -21,6 +21,7 @@ RSpec.shared_examples 'PATCH #update updates variables' do
secret_value: variable.value,
protected: variable.protected?.to_s }
end
+
let(:new_variable_attributes) do
{ key: 'new_key',
secret_value: 'dummy_value',
diff --git a/spec/support/shared_examples/graphql/design_fields_shared_examples.rb b/spec/support/shared_examples/graphql/design_fields_shared_examples.rb
index 029d7e677da..ef7086234c4 100644
--- a/spec/support/shared_examples/graphql/design_fields_shared_examples.rb
+++ b/spec/support/shared_examples/graphql/design_fields_shared_examples.rb
@@ -35,6 +35,7 @@ RSpec.shared_examples 'a GraphQL type with design fields' do
object = GitlabSchema.sync_lazy(GitlabSchema.object_from_id(object_id))
object_type.authorized_new(object, query.context)
end
+
let(:instance_b) do
object_b = GitlabSchema.sync_lazy(GitlabSchema.object_from_id(object_id_b))
object_type.authorized_new(object_b, query.context)
diff --git a/spec/support/shared_examples/graphql/notes_on_noteables_shared_examples.rb b/spec/support/shared_examples/graphql/notes_on_noteables_shared_examples.rb
index e1dd98814f1..41b7da07d2d 100644
--- a/spec/support/shared_examples/graphql/notes_on_noteables_shared_examples.rb
+++ b/spec/support/shared_examples/graphql/notes_on_noteables_shared_examples.rb
@@ -8,6 +8,7 @@ RSpec.shared_context 'exposing regular notes on a noteable in GraphQL' do
noteable: noteable,
project: (noteable.project if noteable.respond_to?(:project)))
end
+
let(:user) { note.author }
context 'for regular notes' do
diff --git a/spec/support/shared_examples/models/chat_service_shared_examples.rb b/spec/support/shared_examples/models/chat_service_shared_examples.rb
index 0a1c27b32db..ad237ad9f49 100644
--- a/spec/support/shared_examples/models/chat_service_shared_examples.rb
+++ b/spec/support/shared_examples/models/chat_service_shared_examples.rb
@@ -198,6 +198,7 @@ RSpec.shared_examples "chat service" do |service_name|
message: "user created page: Awesome wiki_page"
}
end
+
let(:wiki_page) { create(:wiki_page, wiki: project.wiki, **opts) }
let(:sample_data) { Gitlab::DataBuilder::WikiPage.build(wiki_page, user, "create") }
@@ -250,6 +251,7 @@ RSpec.shared_examples "chat service" do |service_name|
project: project, status: status,
sha: project.commit.sha, ref: project.default_branch)
end
+
let(:sample_data) { Gitlab::DataBuilder::Pipeline.build(pipeline) }
context "with failed pipeline" do
diff --git a/spec/support/shared_examples/models/issuable_hook_data_shared_examples.rb b/spec/support/shared_examples/models/issuable_hook_data_shared_examples.rb
index 21ab9b06c33..13ffc1b7f87 100644
--- a/spec/support/shared_examples/models/issuable_hook_data_shared_examples.rb
+++ b/spec/support/shared_examples/models/issuable_hook_data_shared_examples.rb
@@ -38,6 +38,7 @@ RSpec.shared_examples 'issuable hook data' do |kind|
title_html: %w[foo bar]
}
end
+
let(:data) { builder.build(user: user, changes: changes) }
it 'populates the :changes hash' do
diff --git a/spec/support/shared_examples/requests/api/milestones_shared_examples.rb b/spec/support/shared_examples/requests/api/milestones_shared_examples.rb
index 77b49b7caef..249a7b7cdac 100644
--- a/spec/support/shared_examples/requests/api/milestones_shared_examples.rb
+++ b/spec/support/shared_examples/requests/api/milestones_shared_examples.rb
@@ -266,6 +266,7 @@ RSpec.shared_examples 'group and project milestones' do |route_definition|
let!(:milestone) do
context_group ? create(:milestone, group: context_group) : create(:milestone, project: public_project)
end
+
let!(:issue) { create(:issue, project: public_project) }
let!(:confidential_issue) { create(:issue, confidential: true, project: public_project) }
let!(:issues_route) do
diff --git a/spec/support/shared_examples/requests/api/nuget_packages_shared_examples.rb b/spec/support/shared_examples/requests/api/nuget_packages_shared_examples.rb
index 8d8483cae72..dab0ed82883 100644
--- a/spec/support/shared_examples/requests/api/nuget_packages_shared_examples.rb
+++ b/spec/support/shared_examples/requests/api/nuget_packages_shared_examples.rb
@@ -180,6 +180,7 @@ RSpec.shared_examples 'process nuget upload' do |user_type, status, add_member =
body: 'content'
)
end
+
let(:fog_file) { fog_to_uploaded_file(tmp_object) }
let(:params) { { package: fog_file, 'package.remote_id' => file_name } }
diff --git a/spec/support/shared_examples/requests/api/pypi_packages_shared_examples.rb b/spec/support/shared_examples/requests/api/pypi_packages_shared_examples.rb
index 0dfa21c891f..67666b6cf34 100644
--- a/spec/support/shared_examples/requests/api/pypi_packages_shared_examples.rb
+++ b/spec/support/shared_examples/requests/api/pypi_packages_shared_examples.rb
@@ -63,6 +63,7 @@ RSpec.shared_examples 'PyPi package creation' do |user_type, status, add_member
body: 'content'
)
end
+
let(:fog_file) { fog_to_uploaded_file(tmp_object) }
let(:params) { base_params.merge(content: fog_file, 'content.remote_id' => file_name) }
diff --git a/spec/support/shared_examples/services/wikis/create_attachment_service_shared_examples.rb b/spec/support/shared_examples/services/wikis/create_attachment_service_shared_examples.rb
index 541e332e3a1..555a6d5eed0 100644
--- a/spec/support/shared_examples/services/wikis/create_attachment_service_shared_examples.rb
+++ b/spec/support/shared_examples/services/wikis/create_attachment_service_shared_examples.rb
@@ -14,6 +14,7 @@ RSpec.shared_examples 'Wikis::CreateAttachmentService#execute' do |container_typ
file_content: 'Content of attachment'
}
end
+
let(:opts) { file_opts }
let(:service) { Wikis::CreateAttachmentService.new(container: container, current_user: user, params: opts) }
diff --git a/spec/tasks/gitlab/backup_rake_spec.rb b/spec/tasks/gitlab/backup_rake_spec.rb
index 661ce8e74d2..0ab407a0a7b 100644
--- a/spec/tasks/gitlab/backup_rake_spec.rb
+++ b/spec/tasks/gitlab/backup_rake_spec.rb
@@ -286,6 +286,7 @@ RSpec.describe 'gitlab:app namespace rake task', :delete do
let(:test_second_storage) do
Gitlab::GitalyClient::StorageSettings.new(@default_storage_hash.merge('path' => 'tmp/tests/custom_storage'))
end
+
let(:storages) do
{
'default' => Gitlab.config.repositories.storages.default,
diff --git a/spec/tooling/lib/tooling/helm3_client_spec.rb b/spec/tooling/lib/tooling/helm3_client_spec.rb
index f12bae051f0..41c51ec5754 100644
--- a/spec/tooling/lib/tooling/helm3_client_spec.rb
+++ b/spec/tooling/lib/tooling/helm3_client_spec.rb
@@ -15,6 +15,7 @@ RSpec.describe Tooling::Helm3Client do
]
OUTPUT
end
+
let(:raw_helm_list_page2) do
<<~OUTPUT
[
@@ -22,6 +23,7 @@ RSpec.describe Tooling::Helm3Client do
]
OUTPUT
end
+
let(:raw_helm_list_empty) do
<<~OUTPUT
[]
diff --git a/spec/uploaders/file_mover_spec.rb b/spec/uploaders/file_mover_spec.rb
index 0f7496f17d5..3b8c6f6f881 100644
--- a/spec/uploaders/file_mover_spec.rb
+++ b/spec/uploaders/file_mover_spec.rb
@@ -14,6 +14,7 @@ RSpec.describe FileMover do
"test ![banana_sample](/#{temp_file_path}) "\
"same ![banana_sample](/#{temp_file_path}) "
end
+
let(:file_path) { File.join('uploads/-/system/personal_snippet', snippet.id.to_s, secret, filename) }
let(:snippet) { create(:personal_snippet, description: temp_description) }
diff --git a/spec/validators/qualified_domain_array_validator_spec.rb b/spec/validators/qualified_domain_array_validator_spec.rb
index 788e007970a..865ecffe05a 100644
--- a/spec/validators/qualified_domain_array_validator_spec.rb
+++ b/spec/validators/qualified_domain_array_validator_spec.rb
@@ -14,6 +14,7 @@ RSpec.describe QualifiedDomainArrayValidator do
end
end
end
+
let!(:record) do
qualified_domain_array_validator_test_class.new(['gitlab.com'])
end
diff --git a/spec/workers/pages_domain_ssl_renewal_cron_worker_spec.rb b/spec/workers/pages_domain_ssl_renewal_cron_worker_spec.rb
index 7c745e51df5..dac8c529984 100644
--- a/spec/workers/pages_domain_ssl_renewal_cron_worker_spec.rb
+++ b/spec/workers/pages_domain_ssl_renewal_cron_worker_spec.rb
@@ -18,9 +18,11 @@ RSpec.describe PagesDomainSslRenewalCronWorker do
let!(:domain_with_obtained_letsencrypt) do
create(:pages_domain, :letsencrypt, project: project, auto_ssl_enabled: true)
end
+
let!(:domain_without_auto_certificate) do
create(:pages_domain, :without_certificate, :without_key, project: project, auto_ssl_enabled: true)
end
+
let!(:domain_with_failed_auto_ssl) do
create(:pages_domain, :without_certificate, :without_key, project: project,
auto_ssl_enabled: true, auto_ssl_failed: true)
diff --git a/spec/workers/remove_unreferenced_lfs_objects_worker_spec.rb b/spec/workers/remove_unreferenced_lfs_objects_worker_spec.rb
index d6a093a6b51..f14c2b67f2c 100644
--- a/spec/workers/remove_unreferenced_lfs_objects_worker_spec.rb
+++ b/spec/workers/remove_unreferenced_lfs_objects_worker_spec.rb
@@ -18,12 +18,14 @@ RSpec.describe RemoveUnreferencedLfsObjectsWorker do
lfs_object: referenced_lfs_object1
)
end
+
let!(:lfs_objects_project2_1) do
create(:lfs_objects_project,
project: project2,
lfs_object: referenced_lfs_object1
)
end
+
let!(:lfs_objects_project1_2) do
create(:lfs_objects_project,
project: project1,
diff --git a/spec/workers/update_highest_role_worker_spec.rb b/spec/workers/update_highest_role_worker_spec.rb
index 19512fb0cfc..0c8ee53da9a 100644
--- a/spec/workers/update_highest_role_worker_spec.rb
+++ b/spec/workers/update_highest_role_worker_spec.rb
@@ -21,6 +21,7 @@ RSpec.describe UpdateHighestRoleWorker, :clean_gitlab_redis_shared_state do
user_type: nil
}
end
+
let(:user) { create(:user, active_attributes) }
subject { worker.perform(user.id) }