debian-mirror-gitlab/spec/lib/service_ping/build_payload_spec.rb

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

49 lines
1.3 KiB
Ruby
Raw Normal View History

2021-09-30 23:02:18 +05:30
# frozen_string_literal: true
require 'spec_helper'
2022-07-16 23:28:13 +05:30
RSpec.describe ServicePing::BuildPayload do
2021-09-30 23:02:18 +05:30
describe '#execute', :without_license do
subject(:service_ping_payload) { described_class.new.execute }
include_context 'stubbed service ping metrics definitions' do
let(:subscription_metrics) do
[
2022-07-16 23:28:13 +05:30
metric_attributes('active_user_count', "subscription")
2021-09-30 23:02:18 +05:30
]
end
end
context 'when usage_ping_enabled setting is false' do
before do
# Gitlab::CurrentSettings.usage_ping_enabled? == false
stub_config_setting(usage_ping_enabled: false)
end
it 'returns empty service ping payload' do
expect(service_ping_payload).to eq({})
end
end
context 'when usage_ping_enabled setting is true' do
before do
# Gitlab::CurrentSettings.usage_ping_enabled? == true
stub_config_setting(usage_ping_enabled: true)
end
it_behaves_like 'complete service ping payload'
context 'with require stats consent enabled' do
before do
2022-07-16 23:28:13 +05:30
allow(User).to receive(:single_user)
.and_return(instance_double(User, :user, requires_usage_stats_consent?: true))
2021-09-30 23:02:18 +05:30
end
it 'returns empty service ping payload' do
expect(service_ping_payload).to eq({})
end
end
end
end
end