diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2021-03-05 21:09:17 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2021-03-05 21:09:17 +0300 |
commit | 6ba372cf11e46ec9841b511f327155968f51f2ac (patch) | |
tree | a94d622bb3a92093bc522a52c0ebbf505f70109f /spec/lib/generators | |
parent | e2937892231e082f4981c31e25cb8d1cca36ea60 (diff) |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'spec/lib/generators')
-rw-r--r-- | spec/lib/generators/gitlab/usage_metric_definition_generator_spec.rb | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/spec/lib/generators/gitlab/usage_metric_definition_generator_spec.rb b/spec/lib/generators/gitlab/usage_metric_definition_generator_spec.rb new file mode 100644 index 00000000000..d2999eb7379 --- /dev/null +++ b/spec/lib/generators/gitlab/usage_metric_definition_generator_spec.rb @@ -0,0 +1,36 @@ +# frozen_string_literal: true + +require 'spec_helper' +require 'rails/generators/testing/behaviour' + +RSpec.describe Gitlab::UsageMetricDefinitionGenerator do + let(:temp_dir) { Dir.mktmpdir } + + before do + stub_const("#{described_class}::TOP_LEVEL_DIR", temp_dir) + end + + context 'with product_intelligence_metrics_names_suggestions feature ON' do + it 'adds name key to metric definition' do + stub_feature_flags(product_intelligence_metrics_names_suggestions: true) + + expect(::Gitlab::Usage::Metrics::NamesSuggestions::Generator).to receive(:generate).and_return('some name') + described_class.new(['counts_weekly.test_metric'], { 'dir' => '7d' }).invoke_all + metric_definition_path = Dir.glob(File.join(temp_dir, 'metrics/counts_7d/*_test_metric.yml')).first + + expect(YAML.safe_load(File.read(metric_definition_path))).to include("name" => "some name") + end + end + + context 'with product_intelligence_metrics_names_suggestions feature OFF' do + it 'adds name key to metric definition' do + stub_feature_flags(product_intelligence_metrics_names_suggestions: false) + + expect(::Gitlab::Usage::Metrics::NamesSuggestions::Generator).not_to receive(:generate) + described_class.new(['counts_weekly.test_metric'], { 'dir' => '7d' }).invoke_all + metric_definition_path = Dir.glob(File.join(temp_dir, 'metrics/counts_7d/*_test_metric.yml')).first + + expect(YAML.safe_load(File.read(metric_definition_path)).keys).not_to include(:name) + end + end +end |