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:
authorGitLab Bot <gitlab-bot@gitlab.com>2021-11-18 16:16:36 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2021-11-18 16:16:36 +0300
commit311b0269b4eb9839fa63f80c8d7a58f32b8138a0 (patch)
tree07e7870bca8aed6d61fdcc810731c50d2c40af47 /spec/experiments
parent27909cef6c4170ed9205afa7426b8d3de47cbb0c (diff)
Add latest changes from gitlab-org/gitlab@14-5-stable-eev14.5.0-rc42
Diffstat (limited to 'spec/experiments')
-rw-r--r--spec/experiments/change_continuous_onboarding_link_urls_experiment_spec.rb53
-rw-r--r--spec/experiments/empty_repo_upload_experiment_spec.rb49
2 files changed, 53 insertions, 49 deletions
diff --git a/spec/experiments/change_continuous_onboarding_link_urls_experiment_spec.rb b/spec/experiments/change_continuous_onboarding_link_urls_experiment_spec.rb
new file mode 100644
index 00000000000..815aaf7c397
--- /dev/null
+++ b/spec/experiments/change_continuous_onboarding_link_urls_experiment_spec.rb
@@ -0,0 +1,53 @@
+# frozen_string_literal: true
+
+require 'spec_helper'
+
+RSpec.describe ChangeContinuousOnboardingLinkUrlsExperiment, :snowplow do
+ before do
+ stub_experiments(change_continuous_onboarding_link_urls: 'control')
+ end
+
+ describe '#track' do
+ context 'when no namespace has been set' do
+ it 'tracks the action as normal' do
+ subject.track(:some_action)
+
+ expect_snowplow_event(
+ category: subject.name,
+ action: 'some_action',
+ namespace: nil,
+ context: [
+ {
+ schema: 'iglu:com.gitlab/gitlab_experiment/jsonschema/1-0-0',
+ data: an_instance_of(Hash)
+ }
+ ]
+ )
+ end
+ end
+
+ context 'when a namespace has been set' do
+ let_it_be(:namespace) { create(:namespace) }
+
+ before do
+ subject.namespace = namespace
+ end
+
+ it 'tracks the action and merges the namespace into the event args' do
+ subject.track(:some_action)
+
+ expect_snowplow_event(
+ category: subject.name,
+ action: 'some_action',
+ namespace: namespace,
+ context: [
+ {
+ schema: 'iglu:com.gitlab/gitlab_experiment/jsonschema/1-0-0',
+ data: an_instance_of(Hash)
+ }
+ ]
+ )
+ end
+ end
+ end
+end
diff --git a/spec/experiments/empty_repo_upload_experiment_spec.rb b/spec/experiments/empty_repo_upload_experiment_spec.rb
deleted file mode 100644
index 10cbedbe8ba..00000000000
--- a/spec/experiments/empty_repo_upload_experiment_spec.rb
+++ /dev/null
@@ -1,49 +0,0 @@
-# frozen_string_literal: true
-
-require 'spec_helper'
-
-RSpec.describe EmptyRepoUploadExperiment, :experiment do
- subject { described_class.new(project: project) }
-
- let(:project) { create(:project, :repository) }
-
- describe '#track_initial_write' do
- context 'when experiment is turned on' do
- before do
- stub_experiments(empty_repo_upload: :control)
- end
-
- it "tracks an event for the first commit on a project" do
- expect(subject).to receive(:commit_count_for).with(project, max_count: described_class::INITIAL_COMMIT_COUNT, experiment: 'empty_repo_upload').and_return(1)
-
- expect(subject).to receive(:track).with(:initial_write, project: project).and_call_original
-
- subject.track_initial_write
- end
-
- it "doesn't track an event for projects with a commit count more than 1" do
- expect(subject).to receive(:commit_count_for).and_return(2)
-
- expect(subject).not_to receive(:track)
-
- subject.track_initial_write
- end
-
- it "doesn't track if the project is older" do
- expect(project).to receive(:created_at).and_return(described_class::TRACKING_START_DATE - 1.minute)
-
- expect(subject).not_to receive(:track)
-
- subject.track_initial_write
- end
- end
-
- context 'when experiment is turned off' do
- it "doesn't track when we generally shouldn't" do
- expect(subject).not_to receive(:track)
-
- subject.track_initial_write
- end
- end
- end
-end