diff options
Diffstat (limited to 'qa/qa/specs/features/browser_ui/2_plan/issue')
9 files changed, 85 insertions, 8 deletions
diff --git a/qa/qa/specs/features/browser_ui/2_plan/issue/check_mentions_for_xss_spec.rb b/qa/qa/specs/features/browser_ui/2_plan/issue/check_mentions_for_xss_spec.rb index 57d2c02a27b..784f474a7d5 100644 --- a/qa/qa/specs/features/browser_ui/2_plan/issue/check_mentions_for_xss_spec.rb +++ b/qa/qa/specs/features/browser_ui/2_plan/issue/check_mentions_for_xss_spec.rb @@ -1,7 +1,7 @@ # frozen_string_literal: true module QA - context 'Plan', :reliable do + RSpec.describe 'Plan', :reliable do describe 'check xss occurence in @mentions in issues', :requires_admin do it 'mentions a user in a comment' do QA::Runtime::Env.personal_access_token = QA::Runtime::Env.admin_personal_access_token diff --git a/qa/qa/specs/features/browser_ui/2_plan/issue/collapse_comments_in_discussions_spec.rb b/qa/qa/specs/features/browser_ui/2_plan/issue/collapse_comments_in_discussions_spec.rb index 33d2c7026b3..478f6b8177c 100644 --- a/qa/qa/specs/features/browser_ui/2_plan/issue/collapse_comments_in_discussions_spec.rb +++ b/qa/qa/specs/features/browser_ui/2_plan/issue/collapse_comments_in_discussions_spec.rb @@ -1,7 +1,7 @@ # frozen_string_literal: true module QA - context 'Plan', :reliable do + RSpec.describe 'Plan', :reliable do describe 'collapse comments in issue discussions' do let(:my_first_reply) { 'My first reply' } diff --git a/qa/qa/specs/features/browser_ui/2_plan/issue/comment_issue_spec.rb b/qa/qa/specs/features/browser_ui/2_plan/issue/comment_issue_spec.rb index 4667eb6c587..0347de42b96 100644 --- a/qa/qa/specs/features/browser_ui/2_plan/issue/comment_issue_spec.rb +++ b/qa/qa/specs/features/browser_ui/2_plan/issue/comment_issue_spec.rb @@ -1,7 +1,7 @@ # frozen_string_literal: true module QA - context 'Plan', :reliable do + RSpec.describe 'Plan', :reliable do describe 'Issue comments' do before do Flow::Login.sign_in diff --git a/qa/qa/specs/features/browser_ui/2_plan/issue/create_issue_spec.rb b/qa/qa/specs/features/browser_ui/2_plan/issue/create_issue_spec.rb index 57b0859856e..e41024e5d14 100644 --- a/qa/qa/specs/features/browser_ui/2_plan/issue/create_issue_spec.rb +++ b/qa/qa/specs/features/browser_ui/2_plan/issue/create_issue_spec.rb @@ -1,7 +1,7 @@ # frozen_string_literal: true module QA - context 'Plan', :smoke do + RSpec.describe 'Plan', :smoke do describe 'Issue creation' do let(:closed_issue) { Resource::Issue.fabricate_via_api! } diff --git a/qa/qa/specs/features/browser_ui/2_plan/issue/export_as_csv_spec.rb b/qa/qa/specs/features/browser_ui/2_plan/issue/export_as_csv_spec.rb index 3727aae2270..aa03a514f04 100644 --- a/qa/qa/specs/features/browser_ui/2_plan/issue/export_as_csv_spec.rb +++ b/qa/qa/specs/features/browser_ui/2_plan/issue/export_as_csv_spec.rb @@ -3,7 +3,7 @@ require 'securerandom' module QA - context 'Plan', :reliable do + RSpec.describe 'Plan', :reliable do describe 'Issues list' do let(:project) do Resource::Project.fabricate_via_api! do |project| diff --git a/qa/qa/specs/features/browser_ui/2_plan/issue/filter_issue_comments_spec.rb b/qa/qa/specs/features/browser_ui/2_plan/issue/filter_issue_comments_spec.rb index b7687f785a8..082933e9878 100644 --- a/qa/qa/specs/features/browser_ui/2_plan/issue/filter_issue_comments_spec.rb +++ b/qa/qa/specs/features/browser_ui/2_plan/issue/filter_issue_comments_spec.rb @@ -1,7 +1,7 @@ # frozen_string_literal: true module QA - context 'Plan', :reliable do + RSpec.describe 'Plan', :reliable do describe 'filter issue comments activities' do before do Flow::Login.sign_in diff --git a/qa/qa/specs/features/browser_ui/2_plan/issue/issue_suggestions_spec.rb b/qa/qa/specs/features/browser_ui/2_plan/issue/issue_suggestions_spec.rb index 623573a1397..43f4415c90d 100644 --- a/qa/qa/specs/features/browser_ui/2_plan/issue/issue_suggestions_spec.rb +++ b/qa/qa/specs/features/browser_ui/2_plan/issue/issue_suggestions_spec.rb @@ -1,7 +1,7 @@ # frozen_string_literal: true module QA - context 'Plan', :reliable do + RSpec.describe 'Plan', :reliable do describe 'issue suggestions' do let(:issue_title) { 'Issue Lists are awesome' } diff --git a/qa/qa/specs/features/browser_ui/2_plan/issue/jira_issue_import_spec.rb b/qa/qa/specs/features/browser_ui/2_plan/issue/jira_issue_import_spec.rb new file mode 100644 index 00000000000..a2e7d10f313 --- /dev/null +++ b/qa/qa/specs/features/browser_ui/2_plan/issue/jira_issue_import_spec.rb @@ -0,0 +1,77 @@ +# frozen_string_literal: true + +module QA + RSpec.describe 'Plan' do + describe 'Jira issue import', :jira, :orchestrated, :requires_admin do + let(:jira_project_key) { "JITD" } + let(:jira_issue_title) { "[#{jira_project_key}-1] Jira to GitLab Test Issue" } + let(:jira_issue_description) { "This issue is for testing importing Jira issues to GitLab." } + let(:jira_issue_label_1) { "jira-import::#{jira_project_key}-1" } + let(:jira_issue_label_2) { "QA" } + let(:project) do + Resource::Project.fabricate_via_api! do |project| + project.name = "jira_issue_import" + end + end + + it 'imports issues from Jira' do + set_up_jira_integration + import_jira_issues + + QA::Support::Retrier.retry_on_exception do + Page::Project::Menu.perform(&:click_issues) + + Page::Project::Issue::Index.perform do |issues_page| + expect(issues_page).to have_content("2 issues successfully imported") + + issues_page.click_issue_link(jira_issue_title) + end + end + + expect(page).to have_content(jira_issue_description) + + Page::Project::Issue::Show.perform do |issue| + expect(issue).to have_label(jira_issue_label_1) + expect(issue).to have_label(jira_issue_label_2) + end + end + + private + + def set_up_jira_integration + # Retry is required because allow_local_requests_from_web_hooks_and_services + # takes some time to get enabled. + # Bug issue: https://gitlab.com/gitlab-org/gitlab/-/issues/217010 + QA::Support::Retrier.retry_on_exception(max_attempts: 5, sleep_interval: 3) do + Runtime::ApplicationSettings.set_application_settings(allow_local_requests_from_web_hooks_and_services: true) + + page.visit Runtime::Scenario.gitlab_address + Flow::Login.sign_in_unless_signed_in + + project.visit! + + Page::Project::Menu.perform(&:go_to_integrations_settings) + QA::Page::Project::Settings::Integrations.perform(&:click_jira_link) + + QA::Page::Project::Settings::Services::Jira.perform do |jira| + jira.setup_service_with(url: Vendor::Jira::JiraAPI.perform(&:base_url)) + end + + expect(page).not_to have_text("Url is blocked") + expect(page).to have_text("Jira activated") + end + end + + def import_jira_issues + Page::Project::Menu.perform(&:click_issues) + Page::Project::Issue::Index.perform(&:go_to_jira_import_form) + + Page::Project::Issue::JiraImport.perform do |form| + form.select_project_and_import(jira_project_key) + end + + expect(page).to have_content("Import in progress") + end + end + end +end diff --git a/qa/qa/specs/features/browser_ui/2_plan/issue/mentions_spec.rb b/qa/qa/specs/features/browser_ui/2_plan/issue/mentions_spec.rb index 3e575517ecb..50df1c3ef01 100644 --- a/qa/qa/specs/features/browser_ui/2_plan/issue/mentions_spec.rb +++ b/qa/qa/specs/features/browser_ui/2_plan/issue/mentions_spec.rb @@ -1,7 +1,7 @@ # frozen_string_literal: true module QA - context 'Plan', :smoke, :reliable do + RSpec.describe 'Plan', :smoke, :reliable do describe 'mention' do before do Flow::Login.sign_in |