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/lib/gitlab/tracking/docs/helper_spec.rb')
-rw-r--r--spec/lib/gitlab/tracking/docs/helper_spec.rb91
1 files changed, 91 insertions, 0 deletions
diff --git a/spec/lib/gitlab/tracking/docs/helper_spec.rb b/spec/lib/gitlab/tracking/docs/helper_spec.rb
new file mode 100644
index 00000000000..5f7965502f1
--- /dev/null
+++ b/spec/lib/gitlab/tracking/docs/helper_spec.rb
@@ -0,0 +1,91 @@
+# frozen_string_literal: true
+
+require 'spec_helper'
+
+RSpec.describe Gitlab::Tracking::Docs::Helper do
+ let_it_be(:klass) do
+ Class.new do
+ include Gitlab::Tracking::Docs::Helper
+ end
+ end
+
+ describe '#auto_generated_comment' do
+ it 'renders information about missing description' do
+ expect(klass.new.auto_generated_comment).to match /This documentation is auto generated by a script/
+ end
+ end
+
+ describe '#render_description' do
+ context 'description is empty' do
+ it 'renders information about missing description' do
+ object = double(description: '')
+
+ expect(klass.new.render_description(object)).to eq('Missing description')
+ end
+ end
+
+ context 'description is present' do
+ it 'render description' do
+ object = double(description: 'some description')
+
+ expect(klass.new.render_description(object)).to eq('some description')
+ end
+ end
+ end
+
+ describe '#render_event_taxonomy' do
+ it 'render table with event taxonomy' do
+ attributes = {
+ category: 'epics',
+ action: 'promote',
+ label: nil,
+ property_description: 'String with issue id',
+ value_description: 'Integer issue id'
+ }
+ object = double(attributes: attributes)
+ event_taxonomy = <<~MD.chomp
+ | category | action | label | property | value |
+ |---|---|---|---|---|
+ | `epics` | `promote` | `` | `String with issue id` | `Integer issue id` |
+ MD
+
+ expect(klass.new.render_event_taxonomy(object)).to eq(event_taxonomy)
+ end
+ end
+
+ describe '#md_link_to' do
+ it 'render link in md format' do
+ expect(klass.new.md_link_to('zelda', 'link')).to eq('[zelda](link)')
+ end
+ end
+
+ describe '#render_owner' do
+ it 'render information about group owning event' do
+ object = double(product_group: "group::product intelligence")
+
+ expect(klass.new.render_owner(object)).to eq("Owner: `group::product intelligence`")
+ end
+ end
+
+ describe '#render_tiers' do
+ it 'render information about tiers' do
+ object = double(tiers: %w[bronze silver gold])
+
+ expect(klass.new.render_tiers(object)).to eq("Tiers: `bronze`, `silver`, `gold`")
+ end
+ end
+
+ describe '#render_yaml_definition_path' do
+ it 'render relative location of yaml definition' do
+ object = double(yaml_path: 'config/events/button_click.yaml')
+
+ expect(klass.new.render_yaml_definition_path(object)).to eq("YAML definition: `config/events/button_click.yaml`")
+ end
+ end
+
+ describe '#backtick' do
+ it 'wraps string in backticks chars' do
+ expect(klass.new.backtick('test')).to eql("`test`")
+ end
+ end
+end