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/api/helpers_spec.rb')
-rw-r--r--spec/lib/api/helpers_spec.rb77
1 files changed, 62 insertions, 15 deletions
diff --git a/spec/lib/api/helpers_spec.rb b/spec/lib/api/helpers_spec.rb
index dd62343890e..5d343ec2777 100644
--- a/spec/lib/api/helpers_spec.rb
+++ b/spec/lib/api/helpers_spec.rb
@@ -773,21 +773,43 @@ RSpec.describe API::Helpers, feature_category: :shared do
end
describe '#track_event' do
- let(:user_id) { 345 }
- let(:namespace_id) { 12 }
- let(:project_id) { 56 }
+ let_it_be(:user) { create(:user) }
+ let_it_be(:namespace) { create(:namespace) }
+ let_it_be(:project) { create(:project) }
let(:event_name) { 'i_compliance_dashboard' }
let(:unknown_event) { 'unknown' }
it 'tracks internal event' do
expect(Gitlab::InternalEvents).to receive(:track_event).with(
event_name,
- user_id: user_id,
- namespace_id: namespace_id,
- project_id: project_id
+ send_snowplow_event: true,
+ user: user,
+ namespace: namespace,
+ project: project
)
- helper.track_event(event_name, user_id: user_id, namespace_id: namespace_id, project_id: project_id)
+ helper.track_event(event_name,
+ user: user,
+ namespace_id: namespace.id,
+ project_id: project.id
+ )
+ end
+
+ it 'passes send_snowplow_event on to InternalEvents.track_event' do
+ expect(Gitlab::InternalEvents).to receive(:track_event).with(
+ event_name,
+ send_snowplow_event: false,
+ user: user,
+ namespace: namespace,
+ project: project
+ )
+
+ helper.track_event(event_name,
+ send_snowplow_event: false,
+ user: user,
+ namespace_id: namespace.id,
+ project_id: project.id
+ )
end
it 'logs an exception for unknown event' do
@@ -797,18 +819,29 @@ RSpec.describe API::Helpers, feature_category: :shared do
instance_of(Gitlab::InternalEvents::UnknownEventError),
event_name: unknown_event
)
- helper.track_event(unknown_event, user_id: user_id, namespace_id: namespace_id, project_id: project_id)
+
+ helper.track_event(unknown_event,
+ user: user,
+ namespace_id: namespace.id,
+ project_id: project.id
+ )
end
- it 'does not track event for nil user_id' do
+ it 'does not track event for nil user' do
expect(Gitlab::InternalEvents).not_to receive(:track_event)
- helper.track_event(unknown_event, user_id: nil, namespace_id: namespace_id, project_id: project_id)
+ helper.track_event(unknown_event,
+ user: nil,
+ namespace_id: namespace.id,
+ project_id: project.id
+ )
end
end
shared_examples '#order_options_with_tie_breaker' do
- subject { Class.new.include(described_class).new.order_options_with_tie_breaker }
+ subject { Class.new.include(described_class).new.order_options_with_tie_breaker(**reorder_params) }
+
+ let(:reorder_params) { {} }
before do
allow_any_instance_of(described_class).to receive(:params).and_return(params)
@@ -852,11 +885,25 @@ RSpec.describe API::Helpers, feature_category: :shared do
describe '#order_options_with_tie_breaker' do
include_examples '#order_options_with_tie_breaker'
- context 'with created_at order given' do
- let(:params) { { order_by: 'created_at', sort: 'asc' } }
+ context 'by default' do
+ context 'with created_at order given' do
+ let(:params) { { order_by: 'created_at', sort: 'asc' } }
- it 'converts to id' do
- is_expected.to eq({ 'id' => 'asc' })
+ it 'converts to id' do
+ is_expected.to eq({ 'id' => 'asc' })
+ end
+ end
+ end
+
+ context 'when override_created_at is false' do
+ let(:reorder_params) { { override_created_at: false } }
+
+ context 'with created_at order given' do
+ let(:params) { { order_by: 'created_at', sort: 'asc' } }
+
+ it 'does not convert to id' do
+ is_expected.to eq({ "created_at" => "asc", "id" => "asc" })
+ end
end
end
end