Commit 0c73cee5 authored by Robert Speicher's avatar Robert Speicher

CE-EE parity for Markdown (Banzai) feature specs

Moves EE-specific GFM tests (in this case, just Epic references) into
the `ee/` path.
parent 2b37156d
# frozen_string_literal: true
require 'spec_helper'
describe 'EE-specific GitLab Markdown', :aggregate_failures do
include Capybara::Node::Matchers
include MarkupHelper
include MarkdownMatchers
def doc(html = @html)
@doc ||= Nokogiri::HTML::DocumentFragment.parse(html)
end
before do
stub_licensed_features(epics: true)
@feat = ::EE::MarkdownFeature
.new(Rails.root.join('ee/spec/fixtures/markdown.md.erb'))
# `markdown` helper expects a `@project` and `@group` variable
@project = @feat.project
@group = @feat.group
end
context 'default pipeline' do
before do
@html = markdown(@feat.raw_markdown)
end
it 'includes custom filters' do
aggregate_failures 'all reference filters' do
expect(doc).to reference_epics
end
end
end
end
# EE-specific GitLab Markdown
## EpicReferenceFilter
- Epic by ID: <%= epic.to_reference %>
- Epic in another group: <%= epic_other_group.to_reference(group) %>
- Epic by url: <%= urls.group_epic_url(epic.group, epic) %>
- Link to epic by reference: [Epic](<%= epic.to_reference(group) %>)
- Link to epic by URL: [Epic](<%= urls.group_epic_url(epic.group, epic) %>)
# frozen_string_literal: true
require 'support/helpers/markdown_feature'
module EE
class MarkdownFeature < ::MarkdownFeature
def epic
@epic ||= create(:epic, title: 'epic', group: group)
end
def epic_other_group
@epic ||= create(:epic, title: 'epic')
end
end
end
...@@ -42,15 +42,6 @@ describe 'GitLab Markdown', :aggregate_failures do ...@@ -42,15 +42,6 @@ describe 'GitLab Markdown', :aggregate_failures do
@doc ||= Nokogiri::HTML::DocumentFragment.parse(html) @doc ||= Nokogiri::HTML::DocumentFragment.parse(html)
end end
before do
stub_licensed_features(epics: true)
@feat = MarkdownFeature.new
# `markdown` helper expects a `@project` and `@group` variable
@project = @feat.project
@group = @feat.group
end
# Shared behavior that all pipelines should exhibit # Shared behavior that all pipelines should exhibit
shared_examples 'all pipelines' do shared_examples 'all pipelines' do
it 'includes extensions' do it 'includes extensions' do
...@@ -207,6 +198,14 @@ describe 'GitLab Markdown', :aggregate_failures do ...@@ -207,6 +198,14 @@ describe 'GitLab Markdown', :aggregate_failures do
end end
end end
before do
@feat = MarkdownFeature.new
# `markdown` helper expects a `@project` and `@group` variable
@project = @feat.project
@group = @feat.group
end
context 'default pipeline' do context 'default pipeline' do
before do before do
@html = markdown(@feat.raw_markdown) @html = markdown(@feat.raw_markdown)
...@@ -240,7 +239,6 @@ describe 'GitLab Markdown', :aggregate_failures do ...@@ -240,7 +239,6 @@ describe 'GitLab Markdown', :aggregate_failures do
expect(doc).to reference_commits expect(doc).to reference_commits
expect(doc).to reference_labels expect(doc).to reference_labels
expect(doc).to reference_milestones expect(doc).to reference_milestones
expect(doc).to reference_epics
end end
aggregate_failures 'TaskListFilter' do aggregate_failures 'TaskListFilter' do
...@@ -302,7 +300,6 @@ describe 'GitLab Markdown', :aggregate_failures do ...@@ -302,7 +300,6 @@ describe 'GitLab Markdown', :aggregate_failures do
expect(doc).to reference_commits expect(doc).to reference_commits
expect(doc).to reference_labels expect(doc).to reference_labels
expect(doc).to reference_milestones expect(doc).to reference_milestones
expect(doc).to reference_epics
end end
aggregate_failures 'TaskListFilter' do aggregate_failures 'TaskListFilter' do
......
...@@ -239,14 +239,6 @@ References should be parseable even inside _<%= merge_request.to_reference %>_ e ...@@ -239,14 +239,6 @@ References should be parseable even inside _<%= merge_request.to_reference %>_ e
- Group milestone by name in quotes: <%= group_milestone.to_reference(format: :name) %> - Group milestone by name in quotes: <%= group_milestone.to_reference(format: :name) %>
- Group milestone by URL is ignore: <%= urls.milestone_url(group_milestone) %> - Group milestone by URL is ignore: <%= urls.milestone_url(group_milestone) %>
#### EpicReferenceFilter
- Epic by ID: <%= epic.to_reference %>
- Epic in another group: <%= epic_other_group.to_reference(group) %>
- Epic by url: <%= urls.group_epic_url(epic.group, epic) %>
- Link to epic by reference: [Epic](<%= epic.to_reference(group) %>)
- Link to epic by URL: [Epic](<%= urls.group_epic_url(epic.group, epic) %>)
### Task Lists ### Task Lists
- [ ] Incomplete task 1 - [ ] Incomplete task 1
......
...@@ -85,14 +85,6 @@ class MarkdownFeature ...@@ -85,14 +85,6 @@ class MarkdownFeature
@group_milestone ||= create(:milestone, name: 'group-milestone', group: group) @group_milestone ||= create(:milestone, name: 'group-milestone', group: group)
end end
def epic
@epic ||= create(:epic, title: 'epic', group: group)
end
def epic_other_group
@epic ||= create(:epic, title: 'epic')
end
# Cross-references ----------------------------------------------------------- # Cross-references -----------------------------------------------------------
def xproject def xproject
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment