diff --git a/spec/factories/stages.rb b/spec/factories/stages.rb index a8e55b9..8348817 100644 --- a/spec/factories/stages.rb +++ b/spec/factories/stages.rb @@ -16,15 +16,14 @@ FactoryBot.define do factory :playoff_stage do level { rand(10) } transient do - match_state { :not_started } + match_type { :running_playoff_match } match_count { 4 } end after(:create) do |stage, evaluator| # match_count -1 automatically generates 2 ^ stage.level matches # (as this would be the amount of stages present in the real world) - stage.matches = create_list(:running_playoff_match, - evaluator.match_count == -1 ? 2**stage.level : evaluator.match_count, - state: evaluator.match_state) + stage.matches = create_list(evaluator.match_type, + evaluator.match_count == -1 ? 2**stage.level : evaluator.match_count) stage.matches.each_with_index do |match, i| match.position = i match.save diff --git a/spec/factories/tournaments.rb b/spec/factories/tournaments.rb index 8b62bb5..2360ff9 100644 --- a/spec/factories/tournaments.rb +++ b/spec/factories/tournaments.rb @@ -19,13 +19,17 @@ FactoryBot.define do after(:create) do |tournament, evaluator| # this is basically a manual create_list as we need to count up the level of the stage levels = 1..evaluator.stage_count - tournament.stages.concat levels - .map { |level| - create(:playoff_stage, - level: level, - match_count: -1, - match_state: level == evaluator.stage_count ? :in_progress : :not_started) - } + + tournament.stages.concat(levels.map do |level| + create(:playoff_stage, + level: level, + match_count: -1, + match_type: if evaluator.stage_count + :running_playoff_match + else + :empty_prepared_playoff_match + end) + end) end factory :group_stage_tournament do