diff options
Diffstat (limited to 'spec/lib/gitlab/monitor')
-rw-r--r-- | spec/lib/gitlab/monitor/demo_projects_spec.rb | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/spec/lib/gitlab/monitor/demo_projects_spec.rb b/spec/lib/gitlab/monitor/demo_projects_spec.rb new file mode 100644 index 00000000000..92024a3f9c1 --- /dev/null +++ b/spec/lib/gitlab/monitor/demo_projects_spec.rb @@ -0,0 +1,37 @@ +# frozen_string_literal: true + +require 'spec_helper' + +describe Gitlab::Monitor::DemoProjects do + describe '#primary_keys' do + subject { described_class.primary_keys } + + it 'fetches primary_keys when on gitlab.com' do + allow(Gitlab).to receive(:com?).and_return(true) + allow(Gitlab).to receive(:staging?).and_return(false) + + expect(subject).to eq(Gitlab::Monitor::DemoProjects::DOT_COM_IDS) + end + + it 'fetches primary_keys when on staging' do + allow(Gitlab).to receive(:com?).and_return(true) + allow(Gitlab).to receive(:staging?).and_return(true) + + expect(subject).to eq(Gitlab::Monitor::DemoProjects::STAGING_IDS) + end + + it 'fetches all keys when in the dev or test env' do + project = create(:project) + allow(Gitlab).to receive(:dev_or_test_env?).and_return(true) + + expect(subject).to eq([project.id]) + end + + it 'falls back on empty array' do + stub_config_setting(url: 'https://helloworld') + allow(Gitlab).to receive(:dev_or_test_env?).and_return(false) + + expect(subject).to eq([]) + end + end +end |