Skip to content
Snippets Groups Projects
Commit aecd3f6a authored by charlie ablett's avatar charlie ablett :red_circle:
Browse files

Deterministic ordering of value streams

Changelog: added
parent bdd873de
No related branches found
No related tags found
1 merge request!121962Deterministic ordering of group value streams
......@@ -21,6 +21,7 @@ class ValueStream < ApplicationRecord
scope :preload_associated_models, -> {
includes(:namespace, stages: [:namespace, :end_event_label, :start_event_label])
}
scope :order_by_name_asc, -> { order(arel_table[:name].lower.asc) }
after_save :ensure_aggregation_record_presence
......
......@@ -105,7 +105,7 @@ def stage_update_params
end
def value_streams
@value_streams ||= namespace.value_streams.preload_associated_models
@value_streams ||= namespace.value_streams.preload_associated_models.order_by_name_asc
end
def serialize_value_stream(result)
......
......@@ -27,6 +27,20 @@
end
end
describe 'scopes' do
let_it_be(:group) { create(:group) }
describe '.order_by_name_asc' do
let_it_be(:stream1) { create(:cycle_analytics_value_stream, namespace: group, name: 'Bbb') }
let_it_be(:stream2) { create(:cycle_analytics_value_stream, namespace: group, name: 'aaa') }
let_it_be(:stream3) { create(:cycle_analytics_value_stream, namespace: group, name: 'Aaa') }
it 'returns in case-insensitive alphabetical order' do
expect(described_class.order_by_name_asc).to eq [stream2, stream3, stream1]
end
end
end
describe 'ordering of stages' do
let(:group) { create(:group) }
let(:value_stream) do
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment