Assign number to each group
This commit is contained in:
parent
c2056df1ba
commit
db70e33882
|
|
@ -8,7 +8,7 @@ class GroupStageService
|
||||||
# raise an error if the average group size is not a whole number
|
# raise an error if the average group size is not a whole number
|
||||||
raise 'Groups need to be equal size' unless (groups.flatten.length.to_f / groups.length.to_f % 1).zero?
|
raise 'Groups need to be equal size' unless (groups.flatten.length.to_f / groups.length.to_f % 1).zero?
|
||||||
|
|
||||||
groups = groups.map(&method(:get_group_object_from))
|
groups = groups.map(&method(:get_group_object_from)).each_with_index { |group, i| group.number = i + 1 }
|
||||||
Stage.new level: -1, groups: groups, state: :in_progress
|
Stage.new level: -1, groups: groups, state: :in_progress
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -19,6 +19,13 @@ RSpec.describe GroupStageService do
|
||||||
expect(prepared_groups_groupstage.state).to eq('in_progress')
|
expect(prepared_groups_groupstage.state).to eq('in_progress')
|
||||||
end
|
end
|
||||||
|
|
||||||
|
it 'assigns unique numbers to each group' do
|
||||||
|
groups = prepared_groups_groupstage.groups
|
||||||
|
groups.sort_by(&:number).each_with_index do |group, i|
|
||||||
|
expect(group.number).to eq(i + 1)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
it 'returns a stage object with level -1' do
|
it 'returns a stage object with level -1' do
|
||||||
expect(prepared_groups_groupstage.level).to be(-1)
|
expect(prepared_groups_groupstage.level).to be(-1)
|
||||||
end
|
end
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue