Makes match_type configurable instead of only setting its state

This commit is contained in:
Daniel Schädler 2019-05-10 13:07:59 +02:00
parent 08dce6ec09
commit 9147cf94c5
2 changed files with 4 additions and 5 deletions

View File

@ -16,15 +16,14 @@ FactoryBot.define do
factory :playoff_stage do factory :playoff_stage do
level { rand(10) } level { rand(10) }
transient do transient do
match_state { :not_started } match_type { :running_playoff_match }
match_count { 4 } match_count { 4 }
end end
after(:create) do |stage, evaluator| after(:create) do |stage, evaluator|
# match_count -1 automatically generates 2 ^ stage.level matches # match_count -1 automatically generates 2 ^ stage.level matches
# (as this would be the amount of stages present in the real world) # (as this would be the amount of stages present in the real world)
stage.matches = create_list(:running_playoff_match, stage.matches = create_list(evaluator.match_type,
evaluator.match_count == -1 ? 2**stage.level : evaluator.match_count, evaluator.match_count == -1 ? 2**stage.level : evaluator.match_count)
state: evaluator.match_state)
stage.matches.each_with_index do |match, i| stage.matches.each_with_index do |match, i|
match.position = i match.position = i
match.save match.save

View File

@ -24,7 +24,7 @@ FactoryBot.define do
create(:playoff_stage, create(:playoff_stage,
level: level, level: level,
match_count: -1, match_count: -1,
match_state: level == evaluator.stage_count ? :in_progress : :not_started) match_type: level == evaluator.stage_count ? :running_playoff_match : :empty_prepared_playoff_match)
} }
end end