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:
Diffstat (limited to 'spec/features/markdown')
-rw-r--r--spec/features/markdown/copy_as_gfm_spec.rb12
-rw-r--r--spec/features/markdown/gitlab_flavored_markdown_spec.rb2
-rw-r--r--spec/features/markdown/json_table_spec.rb2
-rw-r--r--spec/features/markdown/keyboard_shortcuts_spec.rb2
-rw-r--r--spec/features/markdown/kroki_spec.rb2
-rw-r--r--spec/features/markdown/markdown_spec.rb9
-rw-r--r--spec/features/markdown/math_spec.rb2
-rw-r--r--spec/features/markdown/metrics_spec.rb2
-rw-r--r--spec/features/markdown/observability_spec.rb83
-rw-r--r--spec/features/markdown/sandboxed_mermaid_spec.rb2
10 files changed, 104 insertions, 14 deletions
diff --git a/spec/features/markdown/copy_as_gfm_spec.rb b/spec/features/markdown/copy_as_gfm_spec.rb
index b5bf9279371..8073e7e9556 100644
--- a/spec/features/markdown/copy_as_gfm_spec.rb
+++ b/spec/features/markdown/copy_as_gfm_spec.rb
@@ -2,7 +2,7 @@
require 'spec_helper'
-RSpec.describe 'Copy as GFM', :js do
+RSpec.describe 'Copy as GFM', :js, feature_category: :team_planning do
include MarkupHelper
include RepoHelpers
include ActionView::Helpers::JavaScriptHelper
@@ -26,7 +26,7 @@ RSpec.describe 'Copy as GFM', :js do
# by verifying (`html_to_gfm(gfm_to_html(gfm)) == gfm`) for a number of examples of GFM for every filter, using the `verify` helper.
# These are all in a single `it` for performance reasons.
- it 'works', :aggregate_failures do
+ it 'transforms HTML to GFM', :aggregate_failures do
verify(
'nesting',
'> 1. [x] **[$`2 + 2`$ {-=-}{+=+} 2^2 ~~:thumbsup:~~](http://google.com)**'
@@ -459,25 +459,25 @@ RSpec.describe 'Copy as GFM', :js do
</a>
</div>
<!---->
- <button type="button" class="btn qa-apply-btn js-apply-btn">Apply suggestion</button>
+ <button type="button" class="btn js-apply-btn">Apply suggestion</button>
</div>
<table class="mb-3 md-suggestion-diff js-syntax-highlight code white">
<tbody>
<tr class="line_holder old">
- <td class="diff-line-num old_line qa-old-diff-line-number old">9</td>
+ <td class="diff-line-num old_line old">9</td>
<td class="diff-line-num new_line old"></td>
<td class="line_content old"><span>Old
</span></td>
</tr>
<tr class="line_holder new">
<td class="diff-line-num old_line new"></td>
- <td class="diff-line-num new_line qa-new-diff-line-number new">9</td>
+ <td class="diff-line-num new_line new">9</td>
<td class="line_content new"><span>New
</span></td>
</tr>
<tr class="line_holder new">
<td class="diff-line-num old_line new"></td>
- <td class="diff-line-num new_line qa-new-diff-line-number new">10</td>
+ <td class="diff-line-num new_line new">10</td>
<td class="line_content new"><span> And newer
</span></td>
</tr>
diff --git a/spec/features/markdown/gitlab_flavored_markdown_spec.rb b/spec/features/markdown/gitlab_flavored_markdown_spec.rb
index 17fe2dab8f7..36b02b17924 100644
--- a/spec/features/markdown/gitlab_flavored_markdown_spec.rb
+++ b/spec/features/markdown/gitlab_flavored_markdown_spec.rb
@@ -2,7 +2,7 @@
require 'spec_helper'
-RSpec.describe "GitLab Flavored Markdown" do
+RSpec.describe "GitLab Flavored Markdown", feature_category: :team_planning do
let(:user) { create(:user) }
let(:project) { create(:project) }
let(:issue) { create(:issue, project: project) }
diff --git a/spec/features/markdown/json_table_spec.rb b/spec/features/markdown/json_table_spec.rb
index 6b74dbac255..a9afbe1fc57 100644
--- a/spec/features/markdown/json_table_spec.rb
+++ b/spec/features/markdown/json_table_spec.rb
@@ -2,7 +2,7 @@
require 'spec_helper'
-RSpec.describe 'Rendering json:table code block in markdown', :js do
+RSpec.describe 'Rendering json:table code block in markdown', :js, feature_category: :team_planning do
let_it_be(:project) { create(:project, :public) }
it 'creates table correctly' do
diff --git a/spec/features/markdown/keyboard_shortcuts_spec.rb b/spec/features/markdown/keyboard_shortcuts_spec.rb
index 82288af1f9f..cfb8e61689f 100644
--- a/spec/features/markdown/keyboard_shortcuts_spec.rb
+++ b/spec/features/markdown/keyboard_shortcuts_spec.rb
@@ -2,7 +2,7 @@
require 'spec_helper'
-RSpec.describe 'Markdown keyboard shortcuts', :js do
+RSpec.describe 'Markdown keyboard shortcuts', :js, feature_category: :team_planning do
let_it_be(:project) { create(:project, :repository) }
let_it_be(:user) { create(:user) }
diff --git a/spec/features/markdown/kroki_spec.rb b/spec/features/markdown/kroki_spec.rb
index f02f5d44244..dca00c5f2fa 100644
--- a/spec/features/markdown/kroki_spec.rb
+++ b/spec/features/markdown/kroki_spec.rb
@@ -2,7 +2,7 @@
require 'spec_helper'
-RSpec.describe 'kroki rendering', :js do
+RSpec.describe 'kroki rendering', :js, feature_category: :team_planning do
let_it_be(:project) { create(:project, :public) }
before do
diff --git a/spec/features/markdown/markdown_spec.rb b/spec/features/markdown/markdown_spec.rb
index 08f9b8eda13..132a03877f8 100644
--- a/spec/features/markdown/markdown_spec.rb
+++ b/spec/features/markdown/markdown_spec.rb
@@ -26,7 +26,7 @@ require 'erb'
#
# See the MarkdownFeature class for setup details.
-RSpec.describe 'GitLab Markdown', :aggregate_failures do
+RSpec.describe 'GitLab Markdown', :aggregate_failures, feature_category: :team_planning do
include Capybara::Node::Matchers
include MarkupHelper
include MarkdownMatchers
@@ -290,6 +290,13 @@ RSpec.describe 'GitLab Markdown', :aggregate_failures do
aggregate_failures 'KrokiFilter' do
expect(doc).to parse_kroki
end
+
+ aggregate_failures 'AttributeFilter' do
+ img = doc.at_css('img[alt="Sized Image"]')
+
+ expect(img.attr('width')).to eq('75%')
+ expect(img.attr('height')).to eq('100')
+ end
end
end
diff --git a/spec/features/markdown/math_spec.rb b/spec/features/markdown/math_spec.rb
index 1f219886818..0c77bd2a8ff 100644
--- a/spec/features/markdown/math_spec.rb
+++ b/spec/features/markdown/math_spec.rb
@@ -2,7 +2,7 @@
require 'spec_helper'
-RSpec.describe 'Math rendering', :js do
+RSpec.describe 'Math rendering', :js, feature_category: :team_planning do
let!(:project) { create(:project, :public) }
it 'renders inline and display math correctly' do
diff --git a/spec/features/markdown/metrics_spec.rb b/spec/features/markdown/metrics_spec.rb
index 61dd41204f8..b5e42b16f87 100644
--- a/spec/features/markdown/metrics_spec.rb
+++ b/spec/features/markdown/metrics_spec.rb
@@ -2,7 +2,7 @@
require 'spec_helper'
-RSpec.describe 'Metrics rendering', :js, :kubeclient, :use_clean_rails_memory_store_caching, :sidekiq_inline do
+RSpec.describe 'Metrics rendering', :js, :kubeclient, :use_clean_rails_memory_store_caching, :sidekiq_inline, feature_category: :team_planning do
include PrometheusHelpers
include KubernetesHelpers
include GrafanaApiHelpers
diff --git a/spec/features/markdown/observability_spec.rb b/spec/features/markdown/observability_spec.rb
new file mode 100644
index 00000000000..0c7d8cc006b
--- /dev/null
+++ b/spec/features/markdown/observability_spec.rb
@@ -0,0 +1,83 @@
+# frozen_string_literal: true
+
+require 'spec_helper'
+
+RSpec.describe 'Observability rendering', :js do
+ let_it_be(:group) { create(:group, :public) }
+ let_it_be(:project) { create(:project, :repository, group: group) }
+ let_it_be(:user) { create(:user) }
+ let_it_be(:observable_url) { "https://observe.gitlab.com/" }
+
+ let_it_be(:expected) do
+ %(<iframe src="#{observable_url}?theme=light&amp;kiosk" frameborder="0")
+ end
+
+ before do
+ project.add_maintainer(user)
+ sign_in(user)
+ end
+
+ context 'when embedding in an issue' do
+ let(:issue) do
+ create(:issue, project: project, description: observable_url)
+ end
+
+ before do
+ visit project_issue_path(project, issue)
+ wait_for_requests
+ end
+
+ it 'renders iframe in description' do
+ page.within('.description') do
+ expect(page.html).to include(expected)
+ end
+ end
+
+ it 'renders iframe in comment' do
+ expect(page).not_to have_css('.note-text')
+
+ page.within('.js-main-target-form') do
+ fill_in('note[note]', with: observable_url)
+ click_button('Comment')
+ end
+
+ wait_for_requests
+
+ page.within('.note-text') do
+ expect(page.html).to include(expected)
+ end
+ end
+ end
+
+ context 'when embedding in an MR' do
+ let(:merge_request) do
+ create(:merge_request, source_project: project, target_project: project, description: observable_url)
+ end
+
+ before do
+ visit merge_request_path(merge_request)
+ wait_for_requests
+ end
+
+ it 'renders iframe in description' do
+ page.within('.description') do
+ expect(page.html).to include(expected)
+ end
+ end
+
+ it 'renders iframe in comment' do
+ expect(page).not_to have_css('.note-text')
+
+ page.within('.js-main-target-form') do
+ fill_in('note[note]', with: observable_url)
+ click_button('Comment')
+ end
+
+ wait_for_requests
+
+ page.within('.note-text') do
+ expect(page.html).to include(expected)
+ end
+ end
+ end
+end
diff --git a/spec/features/markdown/sandboxed_mermaid_spec.rb b/spec/features/markdown/sandboxed_mermaid_spec.rb
index 2bf88d7882d..26b397a1fd5 100644
--- a/spec/features/markdown/sandboxed_mermaid_spec.rb
+++ b/spec/features/markdown/sandboxed_mermaid_spec.rb
@@ -2,7 +2,7 @@
require 'spec_helper'
-RSpec.describe 'Sandboxed Mermaid rendering', :js do
+RSpec.describe 'Sandboxed Mermaid rendering', :js, feature_category: :team_planning do
let_it_be(:project) { create(:project, :public, :repository) }
let_it_be(:description) do
<<~MERMAID