From 1b0812bce676bc93f243d33f68d6c2de61fbd7df Mon Sep 17 00:00:00 2001 From: Malaber <32635600+Malaber@users.noreply.github.com> Date: Thu, 30 May 2019 00:04:47 +0200 Subject: [PATCH] Make Match Factory configurable for group_stage and group factory --- spec/factories/groups.rb | 3 ++- spec/factories/matches.rb | 8 ++++++-- spec/factories/stages.rb | 3 ++- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/spec/factories/groups.rb b/spec/factories/groups.rb index 428bb79..ba375c5 100644 --- a/spec/factories/groups.rb +++ b/spec/factories/groups.rb @@ -4,13 +4,14 @@ FactoryBot.define do factory :group do transient do match_count { 4 } + match_factory { :group_match } end sequence(:number) stage after(:create) do |group, evaluator| - create_list(:group_match, evaluator.match_count, group: group) + create_list(evaluator.match_factory, evaluator.match_count, group: group) group.group_scores = group.teams.map do |team| create(:group_score, team: team, group: group) end diff --git a/spec/factories/matches.rb b/spec/factories/matches.rb index 43fb55d..b200839 100644 --- a/spec/factories/matches.rb +++ b/spec/factories/matches.rb @@ -34,14 +34,18 @@ FactoryBot.define do factory :group_match, class: Match do group position { 0 } - factory :running_group_match do + factory :filled_group_match do transient do match_scores_count { 2 } end + + factory :running_group_match do + state { :in_progress } + end + after(:create) do |match, evaluator| match.match_scores = create_list(:match_score, evaluator.match_scores_count) end - state { :in_progress } end factory :undecided_group_match do diff --git a/spec/factories/stages.rb b/spec/factories/stages.rb index b5736cd..c2d1e2b 100644 --- a/spec/factories/stages.rb +++ b/spec/factories/stages.rb @@ -7,9 +7,10 @@ FactoryBot.define do level { -1 } transient do group_count { 4 } + match_factory { :group_match } end after(:create) do |stage, evaluator| - stage.groups = create_list(:group, evaluator.group_count) + stage.groups = create_list(:group, evaluator.group_count, match_factory: evaluator.match_factory) end end