diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2022-01-24 12:10:54 +0000 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2022-01-24 12:10:54 +0000 |
commit | 4d3bbc4990ead10831a087cece3ccdd25dc4f0b4 (patch) | |
tree | d6daa91eaae8318b7b26bc1b9bfbbb8f7a295da0 /spec | |
parent | 94df43c8c19e64afb29e8491b92c3d258f6814ea (diff) | |
download | gitlab-ce-4d3bbc4990ead10831a087cece3ccdd25dc4f0b4.tar.gz |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'spec')
69 files changed, 173 insertions, 197 deletions
diff --git a/spec/factories/labels.rb b/spec/factories/labels.rb index f0cef41db69..250c92c0038 100644 --- a/spec/factories/labels.rb +++ b/spec/factories/labels.rb @@ -18,13 +18,6 @@ FactoryBot.define do title { "#{prefix}::#{generate(:label_title)}" } end - trait :incident do - properties = IncidentManagement::CreateIncidentLabelService::LABEL_PROPERTIES - title { properties.fetch(:title) } - description { properties.fetch(:description) } - color { properties.fetch(:color) } - end - factory :label, traits: [:base_label], class: 'ProjectLabel' do project diff --git a/spec/factories/usage_data.rb b/spec/factories/usage_data.rb index f00d1f8b808..86799af1719 100644 --- a/spec/factories/usage_data.rb +++ b/spec/factories/usage_data.rb @@ -58,14 +58,6 @@ FactoryBot.define do # Tracing create(:project_tracing_setting, project: projects[0]) - # Incident Labeled Issues - incident_label = create(:label, :incident, project: projects[0]) - create(:labeled_issue, project: projects[0], labels: [incident_label]) - incident_label_scoped_to_project = create(:label, :incident, project: projects[1]) - incident_label_scoped_to_group = create(:group_label, :incident, group: group) - create(:labeled_issue, project: projects[1], labels: [incident_label_scoped_to_project]) - create(:labeled_issue, project: projects[1], labels: [incident_label_scoped_to_group]) - # Alert Issues create(:alert_management_alert, issue: issues[0], project: projects[0]) create(:alert_management_alert, issue: alert_bot_issues[0], project: projects[0]) diff --git a/spec/frontend/boards/components/board_new_item_spec.js b/spec/frontend/boards/components/board_new_item_spec.js index 0151d9c1c14..ef83fc925bd 100644 --- a/spec/frontend/boards/components/board_new_item_spec.js +++ b/spec/frontend/boards/components/board_new_item_spec.js @@ -39,6 +39,27 @@ describe('BoardNewItem', () => { }); describe('template', () => { + describe('when the user provides a valid input', () => { + it('finds an enabled create button', async () => { + expect(wrapper.findByTestId('create-button').props('disabled')).toBe(true); + + wrapper.find(GlFormInput).vm.$emit('input', 'hello'); + await wrapper.vm.$nextTick(); + + expect(wrapper.findByTestId('create-button').props('disabled')).toBe(false); + }); + }); + + describe('when the user types in a string with only spaces', () => { + it('disables the Create Issue button', async () => { + wrapper.find(GlFormInput).vm.$emit('input', ' '); + + await wrapper.vm.$nextTick(); + + expect(wrapper.findByTestId('create-button').props('disabled')).toBe(true); + }); + }); + it('renders gl-form component', () => { expect(wrapper.findComponent(GlForm).exists()).toBe(true); }); @@ -80,6 +101,19 @@ describe('BoardNewItem', () => { ]); }); + it('emits `form-submit` event with trimmed title', async () => { + titleInput().setValue(' Foo '); + + await glForm().trigger('submit'); + + expect(wrapper.emitted('form-submit')[0]).toEqual([ + { + title: 'Foo', + list: mockList, + }, + ]); + }); + it('emits `scroll-board-list-` event with list.id on eventHub when `submit` is triggered on gl-form', async () => { jest.spyOn(eventHub, '$emit').mockImplementation(); await glForm().trigger('submit'); diff --git a/spec/frontend/editor/source_editor_yaml_ext_spec.js b/spec/frontend/editor/source_editor_yaml_ext_spec.js index a861d9c7a45..b603b0e3a98 100644 --- a/spec/frontend/editor/source_editor_yaml_ext_spec.js +++ b/spec/frontend/editor/source_editor_yaml_ext_spec.js @@ -353,58 +353,78 @@ foo: }); describe('highlight', () => { - const highlightPathOnSetup = 'abc'; const value = `foo: bar: - baz - boo - abc: def +abc: def `; let instance; let highlightLinesSpy; let removeHighlightsSpy; - beforeEach(() => { - instance = getEditorInstanceWithExtension({ highlightPath: highlightPathOnSetup }, { value }); - highlightLinesSpy = jest.fn(); - removeHighlightsSpy = jest.fn(); - spyOnApi(baseExtension, { - highlightLines: highlightLinesSpy, - removeHighlights: removeHighlightsSpy, - }); - }); - afterEach(() => { jest.clearAllMocks(); }); - it('saves the highlighted path in highlightPath', () => { - const path = 'foo.bar'; - instance.highlight(path); - expect(yamlExtension.obj.highlightPath).toEqual(path); - }); - - it('calls highlightLines with a number of lines', () => { - const path = 'foo.bar'; - instance.highlight(path); - expect(highlightLinesSpy).toHaveBeenCalledWith(instance, [2, 4]); - }); - - it('calls removeHighlights if path is null', () => { - instance.highlight(null); - expect(removeHighlightsSpy).toHaveBeenCalledWith(instance); - expect(highlightLinesSpy).not.toHaveBeenCalled(); - expect(yamlExtension.obj.highlightPath).toBeNull(); - }); - - it('throws an error if path is invalid and does not change the highlighted path', () => { - expect(() => instance.highlight('invalidPath[0]')).toThrow( - 'The node invalidPath[0] could not be found inside the document.', - ); - expect(yamlExtension.obj.highlightPath).toEqual(highlightPathOnSetup); - expect(highlightLinesSpy).not.toHaveBeenCalled(); - expect(removeHighlightsSpy).not.toHaveBeenCalled(); - }); + it.each` + highlightPathOnSetup | path | keepOnNotFound | expectHighlightLinesToBeCalled | withLines | expectRemoveHighlightsToBeCalled | storedHighlightPath + ${null} | ${undefined} | ${false} | ${false} | ${undefined} | ${true} | ${null} + ${'abc'} | ${'abc'} | ${undefined} | ${false} | ${undefined} | ${false} | ${'abc'} + ${null} | ${null} | ${false} | ${false} | ${undefined} | ${false} | ${null} + ${null} | ${''} | ${false} | ${false} | ${undefined} | ${true} | ${null} + ${null} | ${''} | ${true} | ${false} | ${undefined} | ${true} | ${null} + ${'abc'} | ${''} | ${false} | ${false} | ${undefined} | ${true} | ${null} + ${'abc'} | ${'foo.bar'} | ${false} | ${true} | ${[2, 4]} | ${false} | ${'foo.bar'} + ${'abc'} | ${['foo', 'bar']} | ${false} | ${true} | ${[2, 4]} | ${false} | ${['foo', 'bar']} + ${'abc'} | ${'invalid'} | ${true} | ${false} | ${undefined} | ${false} | ${'abc'} + ${'abc'} | ${'invalid'} | ${false} | ${false} | ${undefined} | ${true} | ${null} + ${'abc'} | ${'invalid'} | ${undefined} | ${false} | ${undefined} | ${true} | ${null} + ${'abc'} | ${['invalid']} | ${undefined} | ${false} | ${undefined} | ${true} | ${null} + ${'abc'} | ${['invalid']} | ${true} | ${false} | ${undefined} | ${false} | ${'abc'} + ${'abc'} | ${[]} | ${true} | ${false} | ${undefined} | ${true} | ${null} + ${'abc'} | ${[]} | ${false} | ${false} | ${undefined} | ${true} | ${null} + `( + 'returns correct result for highlightPathOnSetup=$highlightPathOnSetup, path=$path' + + ' and keepOnNotFound=$keepOnNotFound', + ({ + highlightPathOnSetup, + path, + keepOnNotFound, + expectHighlightLinesToBeCalled, + withLines, + expectRemoveHighlightsToBeCalled, + storedHighlightPath, + }) => { + instance = getEditorInstanceWithExtension( + { highlightPath: highlightPathOnSetup }, + { value }, + ); + + highlightLinesSpy = jest.fn(); + removeHighlightsSpy = jest.fn(); + spyOnApi(baseExtension, { + highlightLines: highlightLinesSpy, + removeHighlights: removeHighlightsSpy, + }); + + instance.highlight(path, keepOnNotFound); + + if (expectHighlightLinesToBeCalled) { + expect(highlightLinesSpy).toHaveBeenCalledWith(instance, withLines); + } else { + expect(highlightLinesSpy).not.toHaveBeenCalled(); + } + + if (expectRemoveHighlightsToBeCalled) { + expect(removeHighlightsSpy).toHaveBeenCalled(); + } else { + expect(removeHighlightsSpy).not.toHaveBeenCalled(); + } + + expect(yamlExtension.obj.highlightPath).toEqual(storedHighlightPath); + }, + ); }); describe('locate', () => { @@ -446,10 +466,10 @@ foo: expect(instance.locate(path)).toEqual(expected); }); - it('throws an error if a path cannot be found inside the yaml', () => { + it('returns [null, null] if a path cannot be found inside the yaml', () => { const path = 'baz[8]'; const instance = getEditorInstanceWithExtension(options); - expect(() => instance.locate(path)).toThrow(); + expect(instance.locate(path)).toEqual([null, null]); }); it('returns the expected line numbers for a path to an array entry inside the yaml', () => { diff --git a/spec/helpers/issuables_helper_spec.rb b/spec/helpers/issuables_helper_spec.rb index fa19395ebc7..ed50a4daae8 100644 --- a/spec/helpers/issuables_helper_spec.rb +++ b/spec/helpers/issuables_helper_spec.rb @@ -133,13 +133,13 @@ RSpec.describe IssuablesHelper do it 'returns navigation with badges' do expect(helper.issuables_state_counter_text(:issues, :opened, true)) - .to eq('<span>Open</span> <span class="badge badge-muted badge-pill gl-badge gl-tab-counter-badge sm gl-display-none gl-sm-display-inline-flex">42</span>') + .to eq('<span>Open</span> <span class="gl-badge badge badge-pill badge-muted sm gl-tab-counter-badge gl-display-none gl-sm-display-inline-flex">42</span>') expect(helper.issuables_state_counter_text(:issues, :closed, true)) - .to eq('<span>Closed</span> <span class="badge badge-muted badge-pill gl-badge gl-tab-counter-badge sm gl-display-none gl-sm-display-inline-flex">42</span>') + .to eq('<span>Closed</span> <span class="gl-badge badge badge-pill badge-muted sm gl-tab-counter-badge gl-display-none gl-sm-display-inline-flex">42</span>') expect(helper.issuables_state_counter_text(:merge_requests, :merged, true)) - .to eq('<span>Merged</span> <span class="badge badge-muted badge-pill gl-badge gl-tab-counter-badge sm gl-display-none gl-sm-display-inline-flex">42</span>') + .to eq('<span>Merged</span> <span class="gl-badge badge badge-pill badge-muted sm gl-tab-counter-badge gl-display-none gl-sm-display-inline-flex">42</span>') expect(helper.issuables_state_counter_text(:merge_requests, :all, true)) - .to eq('<span>All</span> <span class="badge badge-muted badge-pill gl-badge gl-tab-counter-badge sm gl-display-none gl-sm-display-inline-flex">42</span>') + .to eq('<span>All</span> <span class="gl-badge badge badge-pill badge-muted sm gl-tab-counter-badge gl-display-none gl-sm-display-inline-flex">42</span>') end end @@ -171,7 +171,7 @@ RSpec.describe IssuablesHelper do it 'returns truncated count' do expect(helper.issuables_state_counter_text(:issues, :opened, true)) - .to eq('<span>Open</span> <span class="badge badge-muted badge-pill gl-badge gl-tab-counter-badge sm gl-display-none gl-sm-display-inline-flex">1.1k</span>') + .to eq('<span>Open</span> <span class="gl-badge badge badge-pill badge-muted sm gl-tab-counter-badge gl-display-none gl-sm-display-inline-flex">1.1k</span>') end end end diff --git a/spec/lib/api/entities/basic_project_details_spec.rb b/spec/lib/api/entities/basic_project_details_spec.rb index dc7c4fdce4e..8419eb0a932 100644 --- a/spec/lib/api/entities/basic_project_details_spec.rb +++ b/spec/lib/api/entities/basic_project_details_spec.rb @@ -5,7 +5,7 @@ require 'spec_helper' RSpec.describe API::Entities::BasicProjectDetails do let_it_be(:project) { create(:project) } - let(:current_user) { project.owner } + let(:current_user) { project.first_owner } subject(:output) { described_class.new(project, current_user: current_user).as_json } diff --git a/spec/lib/api/helpers_spec.rb b/spec/lib/api/helpers_spec.rb index 2277bd78e86..d81f39f3a55 100644 --- a/spec/lib/api/helpers_spec.rb +++ b/spec/lib/api/helpers_spec.rb @@ -160,7 +160,7 @@ RSpec.describe API::Helpers do describe '#find_project!' do let_it_be(:project) { create(:project) } - let(:user) { project.owner} + let(:user) { project.first_owner} before do allow(subject).to receive(:current_user).and_return(user) diff --git a/spec/lib/backup/gitaly_backup_spec.rb b/spec/lib/backup/gitaly_backup_spec.rb index cd0d984fbdb..6bf4f833c1f 100644 --- a/spec/lib/backup/gitaly_backup_spec.rb +++ b/spec/lib/backup/gitaly_backup_spec.rb @@ -38,7 +38,7 @@ RSpec.describe Backup::GitalyBackup do create(:wiki_page, container: project) create(:design, :with_file, issue: create(:issue, project: project)) project_snippet = create(:project_snippet, :repository, project: project) - personal_snippet = create(:personal_snippet, :repository, author: project.owner) + personal_snippet = create(:personal_snippet, :repository, author: project.first_owner) expect(Open3).to receive(:popen2).with(expected_env, anything, 'create', '-path', anything).and_call_original @@ -122,8 +122,8 @@ RSpec.describe Backup::GitalyBackup do context 'restore' do let_it_be(:project) { create(:project, :repository) } - let_it_be(:personal_snippet) { create(:personal_snippet, author: project.owner) } - let_it_be(:project_snippet) { create(:project_snippet, project: project, author: project.owner) } + let_it_be(:personal_snippet) { create(:personal_snippet, author: project.first_owner) } + let_it_be(:project_snippet) { create(:project_snippet, project: project, author: project.first_owner) } def copy_bundle_to_backup_path(bundle_name, destination) FileUtils.mkdir_p(File.join(Gitlab.config.backup.path, 'repositories', File.dirname(destination))) diff --git a/spec/lib/backup/gitaly_rpc_backup_spec.rb b/spec/lib/backup/gitaly_rpc_backup_spec.rb index 14f9d27ca6e..4829d51ac9d 100644 --- a/spec/lib/backup/gitaly_rpc_backup_spec.rb +++ b/spec/lib/backup/gitaly_rpc_backup_spec.rb @@ -25,7 +25,7 @@ RSpec.describe Backup::GitalyRpcBackup do create(:wiki_page, container: project) create(:design, :with_file, issue: create(:issue, project: project)) project_snippet = create(:project_snippet, :repository, project: project) - personal_snippet = create(:personal_snippet, :repository, author: project.owner) + personal_snippet = create(:personal_snippet, :repository, author: project.first_owner) subject.start(:create) subject.enqueue(project, Gitlab::GlRepository::PROJECT) @@ -75,8 +75,8 @@ RSpec.describe Backup::GitalyRpcBackup do context 'restore' do let_it_be(:project) { create(:project, :repository) } - let_it_be(:personal_snippet) { create(:personal_snippet, author: project.owner) } - let_it_be(:project_snippet) { create(:project_snippet, project: project, author: project.owner) } + let_it_be(:personal_snippet) { create(:personal_snippet, author: project.first_owner) } + let_it_be(:project_snippet) { create(:project_snippet, project: project, author: project.first_owner) } def copy_bundle_to_backup_path(bundle_name, destination) FileUtils.mkdir_p(File.join(Gitlab.config.backup.path, 'repositories', File.dirname(destination))) diff --git a/spec/lib/backup/repositories_spec.rb b/spec/lib/backup/repositories_spec.rb index f3830da344b..b06f2237211 100644 --- a/spec/lib/backup/repositories_spec.rb +++ b/spec/lib/backup/repositories_spec.rb @@ -15,7 +15,7 @@ RSpec.describe Backup::Repositories do RSpec.shared_examples 'creates repository bundles' do it 'calls enqueue for each repository type', :aggregate_failures do project_snippet = create(:project_snippet, :repository, project: project) - personal_snippet = create(:personal_snippet, :repository, author: project.owner) + personal_snippet = create(:personal_snippet, :repository, author: project.first_owner) subject.dump(max_concurrency: 1, max_storage_concurrency: 1) @@ -172,8 +172,8 @@ RSpec.describe Backup::Repositories do describe '#restore' do let_it_be(:project) { create(:project) } - let_it_be(:personal_snippet) { create(:personal_snippet, author: project.owner) } - let_it_be(:project_snippet) { create(:project_snippet, project: project, author: project.owner) } + let_it_be(:personal_snippet) { create(:personal_snippet, author: project.first_owner) } + let_it_be(:project_snippet) { create(:project_snippet, project: project, author: project.first_owner) } it 'calls enqueue for each repository type', :aggregate_failures do subject.restore diff --git a/spec/lib/banzai/filter/references/issue_reference_filter_spec.rb b/spec/lib/banzai/filter/references/issue_reference_filter_spec.rb index b3523a25116..c493cb77c98 100644 --- a/spec/lib/banzai/filter/references/issue_reference_filter_spec.rb +++ b/spec/lib/banzai/filter/references/issue_reference_filter_spec.rb @@ -515,7 +515,7 @@ RSpec.describe Banzai::Filter::References::IssueReferenceFilter do enable_design_management(enabled) end - let(:current_user) { project.owner } + let(:current_user) { project.first_owner } let(:enabled) { true } let(:matches) { Issue.link_reference_pattern.match(input_text) } let(:extras) { subject.object_link_text_extras(issue, matches) } diff --git a/spec/lib/banzai/object_renderer_spec.rb b/spec/lib/banzai/object_renderer_spec.rb index e64ab5dfce3..8f69480c65f 100644 --- a/spec/lib/banzai/object_renderer_spec.rb +++ b/spec/lib/banzai/object_renderer_spec.rb @@ -4,7 +4,7 @@ require 'spec_helper' RSpec.describe Banzai::ObjectRenderer do let(:project) { create(:project, :repository) } - let(:user) { project.owner } + let(:user) { project.first_owner } let(:renderer) do described_class.new( default_project: project, diff --git a/spec/lib/feature_spec.rb b/spec/lib/feature_spec.rb index 8c546390201..5080d21d564 100644 --- a/spec/lib/feature_spec.rb +++ b/spec/lib/feature_spec.rb @@ -728,13 +728,13 @@ RSpec.describe Feature, stub_feature_flags: false do describe '#targets' do let(:project) { create(:project) } let(:group) { create(:group) } - let(:user_name) { project.owner.username } + let(:user_name) { project.first_owner.username } subject { described_class.new(user: user_name, project: project.full_path, group: group.full_path) } it 'returns all found targets' do expect(subject.targets).to be_an(Array) - expect(subject.targets).to eq([project.owner, project, group]) + expect(subject.targets).to eq([project.first_owner, project, group]) end end end diff --git a/spec/lib/gitlab/ci/config/external/rules_spec.rb b/spec/lib/gitlab/ci/config/external/rules_spec.rb index 091bd3b07e6..e2bb55f3854 100644 --- a/spec/lib/gitlab/ci/config/external/rules_spec.rb +++ b/spec/lib/gitlab/ci/config/external/rules_spec.rb @@ -45,7 +45,7 @@ RSpec.describe Gitlab::Ci::Config::External::Rules do let(:context) { double(project: project, sha: project.repository.tree.sha, top_level_worktree_paths: ['Dockerfile']) } before do - project.repository.create_file(project.owner, 'Dockerfile', "commit", message: 'test', branch_name: "master") + project.repository.create_file(project.first_owner, 'Dockerfile', "commit", message: 'test', branch_name: "master") end it { is_expected.to eq(true) } diff --git a/spec/lib/gitlab/ci/templates/5_minute_production_app_ci_yaml_spec.rb b/spec/lib/gitlab/ci/templates/5_minute_production_app_ci_yaml_spec.rb index f8df2266689..8204b104832 100644 --- a/spec/lib/gitlab/ci/templates/5_minute_production_app_ci_yaml_spec.rb +++ b/spec/lib/gitlab/ci/templates/5_minute_production_app_ci_yaml_spec.rb @@ -8,7 +8,7 @@ RSpec.describe '5-Minute-Production-App.gitlab-ci.yml' do describe 'the created pipeline' do let_it_be(:project) { create(:project, :auto_devops, :custom_repo, files: { 'README.md' => '' }) } - let(:user) { project.owner } + let(:user) { project.first_owner } let(:default_branch) { 'master' } let(:pipeline_branch) { default_branch } let(:service) { Ci::CreatePipelineService.new(project, user, ref: pipeline_branch ) } diff --git a/spec/lib/gitlab/ci/templates/AWS/deploy_ecs_gitlab_ci_yaml_spec.rb b/spec/lib/gitlab/ci/templates/AWS/deploy_ecs_gitlab_ci_yaml_spec.rb index ca6f6872f89..27de8324206 100644 --- a/spec/lib/gitlab/ci/templates/AWS/deploy_ecs_gitlab_ci_yaml_spec.rb +++ b/spec/lib/gitlab/ci/templates/AWS/deploy_ecs_gitlab_ci_yaml_spec.rb @@ -9,7 +9,7 @@ RSpec.describe 'Deploy-ECS.gitlab-ci.yml' do let(:default_branch) { project.default_branch_or_main } let(:pipeline_branch) { default_branch } let(:project) { create(:project, :auto_devops, :custom_repo, files: { 'README.md' => '' }) } - let(:user) { project.owner } + let(:user) { project.first_owner } let(:service) { Ci::CreatePipelineService.new(project, user, ref: pipeline_branch ) } let(:pipeline) { service.execute!(:push).payload } let(:build_names) { pipeline.builds.pluck(:name) } diff --git a/spec/lib/gitlab/ci/templates/Jobs/build_gitlab_ci_yaml_spec.rb b/spec/lib/gitlab/ci/templates/Jobs/build_gitlab_ci_yaml_spec.rb index bd701aec8fc..21052f03cb8 100644 --- a/spec/lib/gitlab/ci/templates/Jobs/build_gitlab_ci_yaml_spec.rb +++ b/spec/lib/gitlab/ci/templates/Jobs/build_gitlab_ci_yaml_spec.rb @@ -7,7 +7,7 @@ RSpec.describe 'Jobs/Build.gitlab-ci.yml' do describe 'the created pipeline' do let_it_be(:project) { create(:project, :repository) } - let_it_be(:user) { project.owner } + let_it_be(:user) { project.first_owner } let(:default_branch) { 'master' } let(:pipeline_ref) { default_branch } diff --git a/spec/lib/gitlab/ci/templates/Jobs/code_quality_gitlab_ci_yaml_spec.rb b/spec/lib/gitlab/ci/templates/Jobs/code_quality_gitlab_ci_yaml_spec.rb index 64243f2d205..d88d9782021 100644 --- a/spec/lib/gitlab/ci/templates/Jobs/code_quality_gitlab_ci_yaml_spec.rb +++ b/spec/lib/gitlab/ci/templates/Jobs/code_quality_gitlab_ci_yaml_spec.rb @@ -7,7 +7,7 @@ RSpec.describe 'Jobs/Code-Quality.gitlab-ci.yml' do describe 'the created pipeline' do let_it_be(:project) { create(:project, :repository) } - let_it_be(:user) { project.owner } + let_it_be(:user) { project.first_owner } let(:default_branch) { 'master' } let(:pipeline_ref) { default_branch } diff --git a/spec/lib/gitlab/ci/templates/Jobs/deploy_gitlab_ci_yaml_spec.rb b/spec/lib/gitlab/ci/templates/Jobs/deploy_gitlab_ci_yaml_spec.rb index 789f694b4b4..bcc99b78805 100644 --- a/spec/lib/gitlab/ci/templates/Jobs/deploy_gitlab_ci_yaml_spec.rb +++ b/spec/lib/gitlab/ci/templates/Jobs/deploy_gitlab_ci_yaml_spec.rb @@ -29,7 +29,7 @@ RSpec.describe 'Jobs/Deploy.gitlab-ci.yml' do describe 'the created pipeline' do let_it_be(:project, refind: true) { create(:project, :repository) } - let(:user) { project.owner } + let(:user) { project.first_owner } let(:default_branch) { 'master' } let(:pipeline_ref) { default_branch } let(:service) { Ci::CreatePipelineService.new(project, user, ref: pipeline_ref) } diff --git a/spec/lib/gitlab/ci/templates/Jobs/sast_iac_gitlab_ci_yaml_spec.rb b/spec/lib/gitlab/ci/templates/Jobs/sast_iac_gitlab_ci_yaml_spec.rb index b9256ece78b..0f97bc06a4e 100644 --- a/spec/lib/gitlab/ci/templates/Jobs/sast_iac_gitlab_ci_yaml_spec.rb +++ b/spec/lib/gitlab/ci/templates/Jobs/sast_iac_gitlab_ci_yaml_spec.rb @@ -7,7 +7,7 @@ RSpec.describe 'Jobs/SAST-IaC.latest.gitlab-ci.yml' do describe 'the created pipeline' do let_it_be(:project) { create(:project, :repository) } - let_it_be(:user) { project.owner } + let_it_be(:user) { project.first_owner } let(:default_branch) { 'main' } let(:pipeline_ref) { default_branch } diff --git a/spec/lib/gitlab/ci/templates/Jobs/test_gitlab_ci_yaml_spec.rb b/spec/lib/gitlab/ci/templates/Jobs/test_gitlab_ci_yaml_spec.rb index db9d7496251..a92a8397e96 100644 --- a/spec/lib/gitlab/ci/templates/Jobs/test_gitlab_ci_yaml_spec.rb +++ b/spec/lib/gitlab/ci/templates/Jobs/test_gitlab_ci_yaml_spec.rb @@ -7,7 +7,7 @@ RSpec.describe 'Jobs/Test.gitlab-ci.yml' do describe 'the created pipeline' do let_it_be(:project) { create(:project, :repository) } - let_it_be(:user) { project.owner } + let_it_be(:user) { project.first_owner } let(:default_branch) { 'master' } let(:pipeline_ref) { default_branch } diff --git a/spec/lib/gitlab/ci/templates/Terraform/base_gitlab_ci_yaml_spec.rb b/spec/lib/gitlab/ci/templates/Terraform/base_gitlab_ci_yaml_spec.rb index 4685d843ce0..5e9224cebd9 100644 --- a/spec/lib/gitlab/ci/templates/Terraform/base_gitlab_ci_yaml_spec.rb +++ b/spec/lib/gitlab/ci/templates/Terraform/base_gitlab_ci_yaml_spec.rb @@ -9,7 +9,7 @@ RSpec.describe 'Terraform/Base.gitlab-ci.yml' do let(:default_branch) { 'master' } let(:pipeline_branch) { default_branch } let(:project) { create(:project, :custom_repo, files: { 'README.md' => '' }) } - let(:user) { project.owner } + let(:user) { project.first_owner } let(:service) { Ci::CreatePipelineService.new(project, user, ref: pipeline_branch ) } let(:pipeline) { service.execute!(:push).payload } let(:build_names) { pipeline.builds.pluck(:name) } diff --git a/spec/lib/gitlab/ci/templates/Terraform/base_latest_gitlab_ci_yaml_spec.rb b/spec/lib/gitlab/ci/templates/Terraform/base_latest_gitlab_ci_yaml_spec.rb index e35f2eabe8e..0ab81f97f20 100644 --- a/spec/lib/gitlab/ci/templates/Terraform/base_latest_gitlab_ci_yaml_spec.rb +++ b/spec/lib/gitlab/ci/templates/Terraform/base_latest_gitlab_ci_yaml_spec.rb @@ -9,7 +9,7 @@ RSpec.describe 'Terraform/Base.latest.gitlab-ci.yml' do let(:default_branch) { 'master' } let(:pipeline_branch) { default_branch } let(:project) { create(:project, :custom_repo, files: { 'README.md' => '' }) } - let(:user) { project.owner } + let(:user) { project.first_owner } let(:service) { Ci::CreatePipelineService.new(project, user, ref: pipeline_branch ) } let(:pipeline) { service.execute!(:push).payload } let(:build_names) { pipeline.builds.pluck(:name) } diff --git a/spec/lib/gitlab/ci/templates/Verify/load_performance_testing_gitlab_ci_yaml_spec.rb b/spec/lib/gitlab/ci/templates/Verify/load_performance_testing_gitlab_ci_yaml_spec.rb index 004261bc617..d6c7cd32f79 100644 --- a/spec/lib/gitlab/ci/templates/Verify/load_performance_testing_gitlab_ci_yaml_spec.rb +++ b/spec/lib/gitlab/ci/templates/Verify/load_performance_testing_gitlab_ci_yaml_spec.rb @@ -20,7 +20,7 @@ RSpec.describe 'Verify/Load-Performance-Testing.gitlab-ci.yml' do describe 'the created pipeline' do let(:project) { create(:project, :repository) } - let(:user) { project.owner } + let(:user) { project.first_owner } let(:default_branch) { 'master' } let(:pipeline_ref) { default_branch } diff --git a/spec/lib/gitlab/ci/templates/auto_devops_gitlab_ci_yaml_spec.rb b/spec/lib/gitlab/ci/templates/auto_devops_gitlab_ci_yaml_spec.rb index 64ef6ecd7f8..6a4be1fa072 100644 --- a/spec/lib/gitlab/ci/templates/auto_devops_gitlab_ci_yaml_spec.rb +++ b/spec/lib/gitlab/ci/templates/auto_devops_gitlab_ci_yaml_spec.rb @@ -15,7 +15,7 @@ RSpec.describe 'Auto-DevOps.gitlab-ci.yml' do describe 'the created pipeline' do let(:pipeline_branch) { default_branch } let(:project) { create(:project, :auto_devops, :custom_repo, files: { 'README.md' => '' }) } - let(:user) { project.owner } + let(:user) { project.first_owner } let(:service) { Ci::CreatePipelineService.new(project, user, ref: pipeline_branch ) } let(:pipeline) { service.execute!(:push).payload } let(:build_names) { pipeline.builds.pluck(:name) } @@ -276,7 +276,7 @@ RSpec.describe 'Auto-DevOps.gitlab-ci.yml' do with_them do let(:project) { create(:project, :custom_repo, files: files) } - let(:user) { project.owner } + let(:user) { project.first_owner } let(:service) { Ci::CreatePipelineService.new(project, user, ref: default_branch ) } let(:pipeline) { service.execute(:push).payload } let(:build_names) { pipeline.builds.pluck(:name) } diff --git a/spec/lib/gitlab/ci/templates/flutter_gitlab_ci_yaml_spec.rb b/spec/lib/gitlab/ci/templates/flutter_gitlab_ci_yaml_spec.rb index 3d97b47473d..de94eec09fe 100644 --- a/spec/lib/gitlab/ci/templates/flutter_gitlab_ci_yaml_spec.rb +++ b/spec/lib/gitlab/ci/templates/flutter_gitlab_ci_yaml_spec.rb @@ -8,7 +8,7 @@ RSpec.describe 'Flutter.gitlab-ci.yml' do describe 'the created pipeline' do let(:pipeline_branch) { 'master' } let(:project) { create(:project, :custom_repo, files: { 'README.md' => '' }) } - let(:user) { project.owner } + let(:user) { project.first_owner } let(:service) { Ci::CreatePipelineService.new(project, user, ref: pipeline_branch ) } let(:pipeline) { service.execute!(:push).payload } let(:build_names) { pipeline.builds.pluck(:name) } diff --git a/spec/lib/gitlab/ci/templates/kaniko_gitlab_ci_yaml_spec.rb b/spec/lib/gitlab/ci/templates/kaniko_gitlab_ci_yaml_spec.rb index c7dbbea4622..ebf52e6d65a 100644 --- a/spec/lib/gitlab/ci/templates/kaniko_gitlab_ci_yaml_spec.rb +++ b/spec/lib/gitlab/ci/templates/kaniko_gitlab_ci_yaml_spec.rb @@ -8,7 +8,7 @@ RSpec.describe 'Kaniko.gitlab-ci.yml' do describe 'the created pipeline' do let(:pipeline_branch) { 'master' } let(:project) { create(:project, :custom_repo, files: { 'Dockerfile' => 'FROM alpine:latest' }) } - let(:user) { project.owner } + let(:user) { project.first_owner } let(:service) { Ci::CreatePipelineService.new(project, user, ref: pipeline_branch ) } let(:pipeline) { service.execute!(:push).payload } let(:build_names) { pipeline.builds.pluck(:name) } diff --git a/spec/lib/gitlab/ci/templates/npm_spec.rb b/spec/lib/gitlab/ci/templates/npm_spec.rb index ea954690133..d86a3a67823 100644 --- a/spec/lib/gitlab/ci/templates/npm_spec.rb +++ b/spec/lib/gitlab/ci/templates/npm_spec.rb @@ -9,7 +9,7 @@ RSpec.describe 'npm.gitlab-ci.yml' do let(:repo_files) { { 'package.json' => '{}', 'README.md' => '' } } let(:modified_files) { %w[package.json] } let(:project) { create(:project, :custom_repo, files: repo_files) } - let(:user) { project.owner } + let(:user) { project.first_owner } let(:pipeline_branch) { project.default_branch } let(:pipeline_tag) { 'v1.2.1' } let(:pipeline_ref) { pipeline_branch } diff --git a/spec/lib/gitlab/ci/templates/terraform_gitlab_ci_yaml_spec.rb b/spec/lib/gitlab/ci/templates/terraform_gitlab_ci_yaml_spec.rb index 936cd6ac8aa..346ab9f7af7 100644 --- a/spec/lib/gitlab/ci/templates/terraform_gitlab_ci_yaml_spec.rb +++ b/spec/lib/gitlab/ci/templates/terraform_gitlab_ci_yaml_spec.rb @@ -13,7 +13,7 @@ RSpec.describe 'Terraform.gitlab-ci.yml' do let(:default_branch) { project.default_branch_or_main } let(:pipeline_branch) { default_branch } let(:project) { create(:project, :custom_repo, files: { 'README.md' => '' }) } - let(:user) { project.owner } + let(:user) { project.first_owner } let(:service) { Ci::CreatePipelineService.new(project, user, ref: pipeline_branch ) } let(:pipeline) { service.execute!(:push).payload } let(:build_names) { pipeline.builds.pluck(:name) } diff --git a/spec/lib/gitlab/ci/templates/terraform_latest_gitlab_ci_yaml_spec.rb b/spec/lib/gitlab/ci/templates/terraform_latest_gitlab_ci_yaml_spec.rb index fd5d5d6af7f..6c06403adff 100644 --- a/spec/lib/gitlab/ci/templates/terraform_latest_gitlab_ci_yaml_spec.rb +++ b/spec/lib/gitlab/ci/templates/terraform_latest_gitlab_ci_yaml_spec.rb @@ -13,7 +13,7 @@ RSpec.describe 'Terraform.latest.gitlab-ci.yml' do let(:default_branch) { project.default_branch_or_main } let(:pipeline_branch) { default_branch } let(:project) { create(:project, :custom_repo, files: { 'README.md' => '' }) } - let(:user) { project.owner } + let(:user) { project.first_owner } let(:service) { Ci::CreatePipelineService.new(project, user, ref: pipeline_branch ) } let(:pipeline) { service.execute!(:push).payload } let(:build_names) { pipeline.builds.pluck(:name) } diff --git a/spec/lib/gitlab/ci/variables/builder_spec.rb b/spec/lib/gitlab/ci/variables/builder_spec.rb index 8a87cbe45c1..3ad147585dd 100644 --- a/spec/lib/gitlab/ci/variables/builder_spec.rb +++ b/spec/lib/gitlab/ci/variables/builder_spec.rb @@ -5,7 +5,7 @@ require 'spec_helper' RSpec.describe Gitlab::Ci::Variables::Builder do let_it_be(:project) { create(:project, :repository) } let_it_be(:pipeline) { create(:ci_pipeline, project: project) } - let_it_be(:user) { project.owner } + let_it_be(:user) { project.first_owner } let_it_be(:job) do create(:ci_build, pipeline: pipeline, diff --git a/spec/lib/gitlab/diff/file_spec.rb b/spec/lib/gitlab/diff/file_spec.rb index 45a49a36fe2..7c1a8f4c3c8 100644 --- a/spec/lib/gitlab/diff/file_spec.rb +++ b/spec/lib/gitlab/diff/file_spec.rb @@ -13,7 +13,7 @@ RSpec.describe Gitlab::Diff::File do def create_file(file_name, content) Files::CreateService.new( project, - project.owner, + project.first_owner, commit_message: 'Update', start_branch: branch_name, branch_name: branch_name, @@ -27,7 +27,7 @@ RSpec.describe Gitlab::Diff::File do def update_file(file_name, content) Files::UpdateService.new( project, - project.owner, + project.first_owner, commit_message: 'Update', start_branch: branch_name, branch_name: branch_name, @@ -41,7 +41,7 @@ RSpec.describe Gitlab::Diff::File do def delete_file(file_name) Files::DeleteService.new( project, - project.owner, + project.first_owner, commit_message: 'Update', start_branch: branch_name, branch_name: branch_name, diff --git a/spec/lib/gitlab/diff/position_tracer/image_strategy_spec.rb b/spec/lib/gitlab/diff/position_tracer/image_strategy_spec.rb index 7dceb64b776..1414056ad6a 100644 --- a/spec/lib/gitlab/diff/position_tracer/image_strategy_spec.rb +++ b/spec/lib/gitlab/diff/position_tracer/image_strategy_spec.rb @@ -6,7 +6,7 @@ RSpec.describe Gitlab::Diff::PositionTracer::ImageStrategy do include PositionTracerHelpers let(:project) { create(:project, :repository) } - let(:current_user) { project.owner } + let(:current_user) { project.first_owner } let(:file_name) { 'test-file' } let(:new_file_name) { "#{file_name}-new" } let(:second_file_name) { "#{file_name}-2" } diff --git a/spec/lib/gitlab/diff/position_tracer/line_strategy_spec.rb b/spec/lib/gitlab/diff/position_tracer/line_strategy_spec.rb index c46f476899e..ea56a87dec2 100644 --- a/spec/lib/gitlab/diff/position_tracer/line_strategy_spec.rb +++ b/spec/lib/gitlab/diff/position_tracer/line_strategy_spec.rb @@ -55,7 +55,7 @@ RSpec.describe Gitlab::Diff::PositionTracer::LineStrategy, :clean_gitlab_redis_c include PositionTracerHelpers let(:project) { create(:project, :repository) } - let(:current_user) { project.owner } + let(:current_user) { project.first_owner } let(:repository) { project.repository } let(:file_name) { "test-file" } let(:new_file_name) { "#{file_name}-new" } diff --git a/spec/lib/gitlab/diff/position_tracer_spec.rb b/spec/lib/gitlab/diff/position_tracer_spec.rb index fc649812b0a..9b0ea892f91 100644 --- a/spec/lib/gitlab/diff/position_tracer_spec.rb +++ b/spec/lib/gitlab/diff/position_tracer_spec.rb @@ -52,7 +52,7 @@ RSpec.describe Gitlab::Diff::PositionTracer do describe 'diffs methods' do let(:project) { create(:project, :repository) } - let(:current_user) { project.owner } + let(:current_user) { project.first_owner } let(:old_diff_refs) do diff_refs( diff --git a/spec/lib/gitlab/git/wiki_spec.rb b/spec/lib/gitlab/git/wiki_spec.rb index eb7deb08063..ee0c0e2708e 100644 --- a/spec/lib/gitlab/git/wiki_spec.rb +++ b/spec/lib/gitlab/git/wiki_spec.rb @@ -6,7 +6,7 @@ RSpec.describe Gitlab::Git::Wiki do using RSpec::Parameterized::TableSyntax let(:project) { create(:project) } - let(:user) { project.owner } + let(:user) { project.first_owner } let(:project_wiki) { ProjectWiki.new(project, user) } subject(:wiki) { project_wiki.wiki } diff --git a/spec/lib/gitlab/git_access_design_spec.rb b/spec/lib/gitlab/git_access_design_spec.rb index 9fd1f2dcb0c..c90d9802300 100644 --- a/spec/lib/gitlab/git_access_design_spec.rb +++ b/spec/lib/gitlab/git_access_design_spec.rb @@ -5,7 +5,7 @@ RSpec.describe Gitlab::GitAccessDesign do include DesignManagementTestHelpers let_it_be(:project) { create(:project) } - let_it_be(:user) { project.owner } + let_it_be(:user) { project.first_owner } let(:protocol) { 'web' } let(:actor) { user } diff --git a/spec/lib/gitlab/gl_repository/identifier_spec.rb b/spec/lib/gitlab/gl_repository/identifier_spec.rb index e0622e30e7a..0a8559dd800 100644 --- a/spec/lib/gitlab/gl_repository/identifier_spec.rb +++ b/spec/lib/gitlab/gl_repository/identifier_spec.rb @@ -4,8 +4,8 @@ require 'spec_helper' RSpec.describe Gitlab::GlRepository::Identifier do let_it_be(:project) { create(:project) } - let_it_be(:personal_snippet) { create(:personal_snippet, author: project.owner) } - let_it_be(:project_snippet) { create(:project_snippet, project: project, author: project.owner) } + let_it_be(:personal_snippet) { create(:personal_snippet, author: project.first_owner) } + let_it_be(:project_snippet) { create(:project_snippet, project: project, author: project.first_owner) } describe 'project repository' do it_behaves_like 'parsing gl_repository identifier' do diff --git a/spec/lib/gitlab/gl_repository/repo_type_spec.rb b/spec/lib/gitlab/gl_repository/repo_type_spec.rb index 71a4c693f9d..0ec94563cbb 100644 --- a/spec/lib/gitlab/gl_repository/repo_type_spec.rb +++ b/spec/lib/gitlab/gl_repository/repo_type_spec.rb @@ -3,8 +3,8 @@ require 'spec_helper' RSpec.describe Gitlab::GlRepository::RepoType do let_it_be(:project) { create(:project) } - let_it_be(:personal_snippet) { create(:personal_snippet, author: project.owner) } - let_it_be(:project_snippet) { create(:project_snippet, project: project, author: project.owner) } + let_it_be(:personal_snippet) { create(:personal_snippet, author: project.first_owner) } + let_it_be(:project_snippet) { create(:project_snippet, project: project, author: project.first_owner) } let(:project_path) { project.repository.full_path } let(:wiki_path) { project.wiki.repository.full_path } diff --git a/spec/lib/gitlab/graphql/markdown_field_spec.rb b/spec/lib/gitlab/graphql/markdown_field_spec.rb index a3fb0bbbed8..c2253811e91 100644 --- a/spec/lib/gitlab/graphql/markdown_field_spec.rb +++ b/spec/lib/gitlab/graphql/markdown_field_spec.rb @@ -73,7 +73,7 @@ RSpec.describe Gitlab::Graphql::MarkdownField do end it 'shows the reference to users that are allowed to see it' do - context = GraphQL::Query::Context.new(query: query, values: { current_user: project.owner }, object: nil) + context = GraphQL::Query::Context.new(query: query, values: { current_user: project.first_owner }, object: nil) type_instance = type_class.authorized_new(note, context) expect(field.to_graphql.resolve(type_instance, {}, context)).to include(issue_path(issue)) diff --git a/spec/lib/gitlab/project_authorizations_spec.rb b/spec/lib/gitlab/project_authorizations_spec.rb index 16066934194..517a2e3e335 100644 --- a/spec/lib/gitlab/project_authorizations_spec.rb +++ b/spec/lib/gitlab/project_authorizations_spec.rb @@ -334,7 +334,7 @@ RSpec.describe Gitlab::ProjectAuthorizations do let(:common_id) { non_existing_record_id } let!(:group) { create(:group, id: common_id) } let!(:unrelated_project) { create(:project, id: common_id) } - let(:user) { unrelated_project.owner } + let(:user) { unrelated_project.first_owner } it 'does not have access to group and its projects' do mapping = map_access_levels(authorizations) diff --git a/spec/lib/gitlab/usage_data_spec.rb b/spec/lib/gitlab/usage_data_spec.rb index 427e8e67090..725a571e385 100644 --- a/spec/lib/gitlab/usage_data_spec.rb +++ b/spec/lib/gitlab/usage_data_spec.rb @@ -556,8 +556,6 @@ RSpec.describe Gitlab::UsageData, :aggregate_failures do expect(count_data[:issues_created_from_alerts]).to eq(3) expect(count_data[:issues_created_manually_from_alerts]).to eq(1) expect(count_data[:alert_bot_incident_issues]).to eq(4) - expect(count_data[:incident_labeled_issues]).to eq(3) - expect(count_data[:clusters_enabled]).to eq(6) expect(count_data[:project_clusters_enabled]).to eq(4) expect(count_data[:group_clusters_enabled]).to eq(1) diff --git a/spec/lib/sidebars/projects/menus/analytics_menu_spec.rb b/spec/lib/sidebars/projects/menus/analytics_menu_spec.rb index 6f2ca719bc9..25a65015847 100644 --- a/spec/lib/sidebars/projects/menus/analytics_menu_spec.rb +++ b/spec/lib/sidebars/projects/menus/analytics_menu_spec.rb @@ -8,7 +8,7 @@ RSpec.describe Sidebars::Projects::Menus::AnalyticsMenu do create(:user).tap { |u| project.add_guest(u) } end - let(:owner) { project.owner } + let(:owner) { project.first_owner } let(:current_user) { owner } let(:context) { Sidebars::Projects::Context.new(current_user: current_user, container: project, current_ref: project.repository.root_ref) } diff --git a/spec/lib/sidebars/projects/menus/ci_cd_menu_spec.rb b/spec/lib/sidebars/projects/menus/ci_cd_menu_spec.rb index dee2716e4c2..2ceb9dcada9 100644 --- a/spec/lib/sidebars/projects/menus/ci_cd_menu_spec.rb +++ b/spec/lib/sidebars/projects/menus/ci_cd_menu_spec.rb @@ -4,7 +4,7 @@ require 'spec_helper' RSpec.describe Sidebars::Projects::Menus::CiCdMenu do let(:project) { build(:project) } - let(:user) { project.owner } + let(:user) { project.first_owner } let(:can_view_pipeline_editor) { true } let(:context) { Sidebars::Projects::Context.new(current_user: user, container: project, current_ref: 'master', can_view_pipeline_editor: can_view_pipeline_editor) } diff --git a/spec/lib/sidebars/projects/menus/confluence_menu_spec.rb b/spec/lib/sidebars/projects/menus/confluence_menu_spec.rb index e3ae3add4fd..836c6d26c6c 100644 --- a/spec/lib/sidebars/projects/menus/confluence_menu_spec.rb +++ b/spec/lib/sidebars/projects/menus/confluence_menu_spec.rb @@ -5,7 +5,7 @@ require 'spec_helper' RSpec.describe Sidebars::Projects::Menus::ConfluenceMenu do let_it_be_with_refind(:project) { create(:project, has_external_wiki: true) } - let(:user) { project.owner } + let(:user) { project.first_owner } let(:context) { Sidebars::Projects::Context.new(current_user: user, container: project) } subject { described_class.new(context) } diff --git a/spec/lib/sidebars/projects/menus/deployments_menu_spec.rb b/spec/lib/sidebars/projects/menus/deployments_menu_spec.rb index 3149c316c63..56eb082e101 100644 --- a/spec/lib/sidebars/projects/menus/deployments_menu_spec.rb +++ b/spec/lib/sidebars/projects/menus/deployments_menu_spec.rb @@ -5,7 +5,7 @@ require 'spec_helper' RSpec.describe Sidebars::Projects::Menus::DeploymentsMenu do let_it_be(:project) { create(:project, :repository) } - let(:user) { project.owner } + let(:user) { project.first_owner } let(:context) { Sidebars::Projects::Context.new(current_user: user, container: project) } describe '#render?' do diff --git a/spec/lib/sidebars/projects/menus/external_issue_tracker_menu_spec.rb b/spec/lib/sidebars/projects/menus/external_issue_tracker_menu_spec.rb index 0585eb2254c..2033d40897e 100644 --- a/spec/lib/sidebars/projects/menus/external_issue_tracker_menu_spec.rb +++ b/spec/lib/sidebars/projects/menus/external_issue_tracker_menu_spec.rb @@ -4,7 +4,7 @@ require 'spec_helper' RSpec.describe Sidebars::Projects::Menus::ExternalIssueTrackerMenu do let(:project) { build(:project) } - let(:user) { project.owner } + let(:user) { project.first_owner } let(:jira_issues_integration_active) { false } let(:context) { Sidebars::Projects::Context.new(current_user: user, container: project, jira_issues_integration: jira_issues_integration_active) } diff --git a/spec/lib/sidebars/projects/menus/external_wiki_menu_spec.rb b/spec/lib/sidebars/projects/menus/external_wiki_menu_spec.rb index a8f4b039b8c..9cf2d19f85c 100644 --- a/spec/lib/sidebars/projects/menus/external_wiki_menu_spec.rb +++ b/spec/lib/sidebars/projects/menus/external_wiki_menu_spec.rb @@ -4,7 +4,7 @@ require 'spec_helper' RSpec.describe Sidebars::Projects::Menus::ExternalWikiMenu do let(:project) { build(:project) } - let(:user) { project.owner } + let(:user) { project.first_owner } let(:context) { Sidebars::Projects::Context.new(current_user: user, container: project) } subject { described_class.new(context) } diff --git a/spec/lib/sidebars/projects/menus/hidden_menu_spec.rb b/spec/lib/sidebars/projects/menus/hidden_menu_spec.rb index 44013898721..e64b0de9c62 100644 --- a/spec/lib/sidebars/projects/menus/hidden_menu_spec.rb +++ b/spec/lib/sidebars/projects/menus/hidden_menu_spec.rb @@ -5,7 +5,7 @@ require 'spec_helper' RSpec.describe Sidebars::Projects::Menus::HiddenMenu do let_it_be(:project) { create(:project, :repository) } - let(:user) { project.owner } + let(:user) { project.first_owner } let(:context) { Sidebars::Projects::Context.new(current_user: user, container: project, current_ref: project.repository.root_ref) } describe '#render?' do diff --git a/spec/lib/sidebars/projects/menus/infrastructure_menu_spec.rb b/spec/lib/sidebars/projects/menus/infrastructure_menu_spec.rb index 55281171634..0e415ec6014 100644 --- a/spec/lib/sidebars/projects/menus/infrastructure_menu_spec.rb +++ b/spec/lib/sidebars/projects/menus/infrastructure_menu_spec.rb @@ -4,7 +4,7 @@ require 'spec_helper' RSpec.describe Sidebars::Projects::Menus::InfrastructureMenu do let(:project) { build(:project) } - let(:user) { project.owner } + let(:user) { project.first_owner } let(:context) { Sidebars::Projects::Context.new(current_user: user, container: project, show_cluster_hint: false) } describe '#render?' do diff --git a/spec/lib/sidebars/projects/menus/invite_team_members_menu_spec.rb b/spec/lib/sidebars/projects/menus/invite_team_members_menu_spec.rb index df9b260d211..9838aa8c3e3 100644 --- a/spec/lib/sidebars/projects/menus/invite_team_members_menu_spec.rb +++ b/spec/lib/sidebars/projects/menus/invite_team_members_menu_spec.rb @@ -11,7 +11,7 @@ RSpec.describe Sidebars::Projects::Menus::InviteTeamMembersMenu do subject(:invite_menu) { described_class.new(context) } context 'when the project is viewed by an owner of the group' do - let(:owner) { project.owner } + let(:owner) { project.first_owner } describe '#render?' do it 'renders the Invite team members link' do diff --git a/spec/lib/sidebars/projects/menus/issues_menu_spec.rb b/spec/lib/sidebars/projects/menus/issues_menu_spec.rb index e5d486bbe8f..4c0016a77a1 100644 --- a/spec/lib/sidebars/projects/menus/issues_menu_spec.rb +++ b/spec/lib/sidebars/projects/menus/issues_menu_spec.rb @@ -4,7 +4,7 @@ require 'spec_helper' RSpec.describe Sidebars::Projects::Menus::IssuesMenu do let(:project) { build(:project) } - let(:user) { project.owner } + let(:user) { project.first_owner } let(:context) { Sidebars::Projects::Context.new(current_user: user, container: project) } subject { described_class.new(context) } diff --git a/spec/lib/sidebars/projects/menus/merge_requests_menu_spec.rb b/spec/lib/sidebars/projects/menus/merge_requests_menu_spec.rb index cef303fb068..45c49500e46 100644 --- a/spec/lib/sidebars/projects/menus/merge_requests_menu_spec.rb +++ b/spec/lib/sidebars/projects/menus/merge_requests_menu_spec.rb @@ -5,7 +5,7 @@ require 'spec_helper' RSpec.describe Sidebars::Projects::Menus::MergeRequestsMenu do let_it_be(:project) { create(:project, :repository) } - let(:user) { project.owner } + let(:user) { project.first_owner } let(:context) { Sidebars::Projects::Context.new(current_user: user, container: project) } subject { described_class.new(context) } diff --git a/spec/lib/sidebars/projects/menus/monitor_menu_spec.rb b/spec/lib/sidebars/projects/menus/monitor_menu_spec.rb index 77efe99aaa9..e8c6fb790c3 100644 --- a/spec/lib/sidebars/projects/menus/monitor_menu_spec.rb +++ b/spec/lib/sidebars/projects/menus/monitor_menu_spec.rb @@ -5,7 +5,7 @@ require 'spec_helper' RSpec.describe Sidebars::Projects::Menus::MonitorMenu do let_it_be_with_refind(:project) { create(:project) } - let(:user) { project.owner } + let(:user) { project.first_owner } let(:show_cluster_hint) { true } let(:context) { Sidebars::Projects::Context.new(current_user: user, container: project, show_cluster_hint: show_cluster_hint) } diff --git a/spec/lib/sidebars/projects/menus/packages_registries_menu_spec.rb b/spec/lib/sidebars/projects/menus/packages_registries_menu_spec.rb index d6807451a25..afe0b2a8951 100644 --- a/spec/lib/sidebars/projects/menus/packages_registries_menu_spec.rb +++ b/spec/lib/sidebars/projects/menus/packages_registries_menu_spec.rb @@ -5,7 +5,7 @@ require 'spec_helper' RSpec.describe Sidebars::Projects::Menus::PackagesRegistriesMenu do let_it_be(:project) { create(:project) } - let(:user) { project.owner } + let(:user) { project.first_owner } let(:context) { Sidebars::Projects::Context.new(current_user: user, container: project) } subject { described_class.new(context) } diff --git a/spec/lib/sidebars/projects/menus/project_information_menu_spec.rb b/spec/lib/sidebars/projects/menus/project_information_menu_spec.rb index 7e8d0ab0518..7ff06ac229e 100644 --- a/spec/lib/sidebars/projects/menus/project_information_menu_spec.rb +++ b/spec/lib/sidebars/projects/menus/project_information_menu_spec.rb @@ -5,7 +5,7 @@ require 'spec_helper' RSpec.describe Sidebars::Projects::Menus::ProjectInformationMenu do let_it_be_with_reload(:project) { create(:project, :repository) } - let(:user) { project.owner } + let(:user) { project.first_owner } let(:context) { Sidebars::Projects::Context.new(current_user: user, container: project) } describe '#container_html_options' do diff --git a/spec/lib/sidebars/projects/menus/repository_menu_spec.rb b/spec/lib/sidebars/projects/menus/repository_menu_spec.rb index 554a4e3f532..fc181947e60 100644 --- a/spec/lib/sidebars/projects/menus/repository_menu_spec.rb +++ b/spec/lib/sidebars/projects/menus/repository_menu_spec.rb @@ -5,7 +5,7 @@ require 'spec_helper' RSpec.describe Sidebars::Projects::Menus::RepositoryMenu do let_it_be(:project) { create(:project, :repository) } - let(:user) { project.owner } + let(:user) { project.first_owner } let(:context) { Sidebars::Projects::Context.new(current_user: user, container: project, current_ref: 'master') } subject { described_class.new(context) } diff --git a/spec/lib/sidebars/projects/menus/scope_menu_spec.rb b/spec/lib/sidebars/projects/menus/scope_menu_spec.rb index 980ab2f7c71..4e87f3b8ead 100644 --- a/spec/lib/sidebars/projects/menus/scope_menu_spec.rb +++ b/spec/lib/sidebars/projects/menus/scope_menu_spec.rb @@ -4,7 +4,7 @@ require 'spec_helper' RSpec.describe Sidebars::Projects::Menus::ScopeMenu do let(:project) { build(:project) } - let(:user) { project.owner } + let(:user) { project.first_owner } let(:context) { Sidebars::Projects::Context.new(current_user: user, container: project) } describe '#container_html_options' do diff --git a/spec/lib/sidebars/projects/menus/security_compliance_menu_spec.rb b/spec/lib/sidebars/projects/menus/security_compliance_menu_spec.rb index 6e84beeb274..41158bd58dc 100644 --- a/spec/lib/sidebars/projects/menus/security_compliance_menu_spec.rb +++ b/spec/lib/sidebars/projects/menus/security_compliance_menu_spec.rb @@ -5,7 +5,7 @@ require 'spec_helper' RSpec.describe Sidebars::Projects::Menus::SecurityComplianceMenu do let_it_be(:project) { create(:project) } - let(:user) { project.owner } + let(:user) { project.first_owner } let(:show_promotions) { true } let(:show_discover_project_security) { true } let(:context) { Sidebars::Projects::Context.new(current_user: user, container: project, show_promotions: show_promotions, show_discover_project_security: show_discover_project_security) } diff --git a/spec/lib/sidebars/projects/menus/settings_menu_spec.rb b/spec/lib/sidebars/projects/menus/settings_menu_spec.rb index 1e5d41dfec4..d6136dddf40 100644 --- a/spec/lib/sidebars/projects/menus/settings_menu_spec.rb +++ b/spec/lib/sidebars/projects/menus/settings_menu_spec.rb @@ -5,7 +5,7 @@ require 'spec_helper' RSpec.describe Sidebars::Projects::Menus::SettingsMenu do let_it_be(:project) { create(:project) } - let(:user) { project.owner } + let(:user) { project.first_owner } let(:context) { Sidebars::Projects::Context.new(current_user: user, container: project) } subject { described_class.new(context) } diff --git a/spec/lib/sidebars/projects/menus/shimo_menu_spec.rb b/spec/lib/sidebars/projects/menus/shimo_menu_spec.rb index 534267a329e..e74647894fa 100644 --- a/spec/lib/sidebars/projects/menus/shimo_menu_spec.rb +++ b/spec/lib/sidebars/projects/menus/shimo_menu_spec.rb @@ -5,7 +5,7 @@ require 'spec_helper' RSpec.describe Sidebars::Projects::Menus::ShimoMenu do let_it_be_with_reload(:project) { create(:project) } - let(:context) { Sidebars::Projects::Context.new(current_user: project.owner, container: project) } + let(:context) { Sidebars::Projects::Context.new(current_user: project.first_owner, container: project) } subject(:shimo_menu) { described_class.new(context) } diff --git a/spec/lib/sidebars/projects/menus/snippets_menu_spec.rb b/spec/lib/sidebars/projects/menus/snippets_menu_spec.rb index af219e4a742..04b8c128e3d 100644 --- a/spec/lib/sidebars/projects/menus/snippets_menu_spec.rb +++ b/spec/lib/sidebars/projects/menus/snippets_menu_spec.rb @@ -4,7 +4,7 @@ require 'spec_helper' RSpec.describe Sidebars::Projects::Menus::SnippetsMenu do let(:project) { build(:project) } - let(:user) { project.owner } + let(:user) { project.first_owner } let(:context) { Sidebars::Projects::Context.new(current_user: user, container: project) } subject { described_class.new(context) } diff --git a/spec/lib/sidebars/projects/menus/wiki_menu_spec.rb b/spec/lib/sidebars/projects/menus/wiki_menu_spec.rb index 41447ee24a9..362da3e7b50 100644 --- a/spec/lib/sidebars/projects/menus/wiki_menu_spec.rb +++ b/spec/lib/sidebars/projects/menus/wiki_menu_spec.rb @@ -4,7 +4,7 @@ require 'spec_helper' RSpec.describe Sidebars::Projects::Menus::WikiMenu do let(:project) { build(:project) } - let(:user) { project.owner } + let(:user) { project.first_owner } let(:context) { Sidebars::Projects::Context.new(current_user: user, container: project) } subject { described_class.new(context) } diff --git a/spec/models/issue_spec.rb b/spec/models/issue_spec.rb index c105f6c3439..b91b299467d 100644 --- a/spec/models/issue_spec.rb +++ b/spec/models/issue_spec.rb @@ -1431,26 +1431,6 @@ RSpec.describe Issue do end end - describe '.with_label_attributes' do - subject { described_class.with_label_attributes(label_attributes) } - - let(:label_attributes) { { title: 'hello world', description: 'hi' } } - - it 'gets issues with given label attributes' do - label = create(:label, **label_attributes) - labeled_issue = create(:labeled_issue, project: label.project, labels: [label]) - - expect(subject).to include(labeled_issue) - end - - it 'excludes issues without given label attributes' do - label = create(:label, title: 'GitLab', description: 'tanuki') - labeled_issue = create(:labeled_issue, project: label.project, labels: [label]) - - expect(subject).not_to include(labeled_issue) - end - end - describe 'banzai_render_context' do let(:project) { build(:project_empty_repo) } let(:issue) { build :issue, project: project } diff --git a/spec/models/pages_domain_spec.rb b/spec/models/pages_domain_spec.rb index 0735bf25690..2ebc9864d9b 100644 --- a/spec/models/pages_domain_spec.rb +++ b/spec/models/pages_domain_spec.rb @@ -36,9 +36,12 @@ RSpec.describe PagesDomain do '123.456.789' => true, '0x12345.com' => true, '0123123' => true, - '_foo.com' => false, + 'a-reserved.com' => true, + 'a.b-reserved.com' => true, 'reserved.com' => false, + '_foo.com' => false, 'a.reserved.com' => false, + 'a.b.reserved.com' => false, nil => false }.each do |value, validity| context "domain #{value.inspect} validity" do diff --git a/spec/services/incident_management/create_incident_label_service_spec.rb b/spec/services/incident_management/create_incident_label_service_spec.rb deleted file mode 100644 index 441cddf1d2e..00000000000 --- a/spec/services/incident_management/create_incident_label_service_spec.rb +++ /dev/null @@ -1,7 +0,0 @@ -# frozen_string_literal: true - -require 'spec_helper' - -RSpec.describe IncidentManagement::CreateIncidentLabelService do - it_behaves_like 'incident management label service' -end diff --git a/spec/services/incident_management/incidents/create_service_spec.rb b/spec/services/incident_management/incidents/create_service_spec.rb index 47ce9d01f66..862b7de4ec8 100644 --- a/spec/services/incident_management/incidents/create_service_spec.rb +++ b/spec/services/incident_management/incidents/create_service_spec.rb @@ -14,7 +14,6 @@ RSpec.describe IncidentManagement::Incidents::CreateService do context 'when incident has title and description' do let(:title) { 'Incident title' } let(:new_issue) { Issue.last! } - let(:label_title) { attributes_for(:label, :incident)[:title] } it 'responds with success' do expect(create_incident).to be_success @@ -38,8 +37,6 @@ RSpec.describe IncidentManagement::Incidents::CreateService do end let(:issue) { new_issue } - - include_examples 'does not have incident label' end context 'with default severity' do @@ -69,20 +66,6 @@ RSpec.describe IncidentManagement::Incidents::CreateService do end end end - - context 'when incident label does not exists' do - it 'does not create incident label' do - expect { create_incident }.to not_change { project.labels.where(title: label_title).count } - end - end - - context 'when incident label already exists' do - let!(:label) { create(:label, project: project, title: label_title) } - - it 'does not create new labels' do - expect { create_incident }.not_to change(Label, :count) - end - end end context 'when incident has no title' do diff --git a/spec/services/issues/create_service_spec.rb b/spec/services/issues/create_service_spec.rb index b0dd3b9eff1..4494c1acaf7 100644 --- a/spec/services/issues/create_service_spec.rb +++ b/spec/services/issues/create_service_spec.rb @@ -100,7 +100,6 @@ RSpec.describe Issues::CreateService do end let(:current_user) { user } - let(:incident_label_attributes) { attributes_for(:label, :incident) } subject { issue } @@ -114,12 +113,6 @@ RSpec.describe Issues::CreateService do end it_behaves_like 'incident issue' - it_behaves_like 'does not have incident label' - - it 'does not create an incident label' do - expect { subject } - .to not_change { Label.where(incident_label_attributes).count } - end it 'calls IncidentManagement::Incidents::CreateEscalationStatusService' do expect_next(::IncidentManagement::IssuableEscalationStatuses::CreateService, a_kind_of(Issue)) diff --git a/spec/support/shared_examples/services/incident_shared_examples.rb b/spec/support/shared_examples/services/incident_shared_examples.rb index 36b0acf5a51..cc26cf87322 100644 --- a/spec/support/shared_examples/services/incident_shared_examples.rb +++ b/spec/support/shared_examples/services/incident_shared_examples.rb @@ -28,28 +28,15 @@ end # # include_examples 'not an incident issue' RSpec.shared_examples 'not an incident issue' do - let(:label_properties) { attributes_for(:label, :incident) } - it 'has not incident as issue type' do expect(issue.issue_type).not_to eq('incident') expect(issue.work_item_type.base_type).not_to eq('incident') end - - it_behaves_like 'does not have incident label' -end - -RSpec.shared_examples 'does not have incident label' do - let(:label_properties) { attributes_for(:label, :incident) } - - it 'has not an incident label' do - expect(issue.labels).not_to include(have_attributes(label_properties)) - end end # This shared example is to test the execution of incident management label services # For example: # - IncidentManagement::CreateIncidentSlaExceededLabelService -# - IncidentManagement::CreateIncidentLabelService # It doesn't require any defined variables |