From 4925ea9d83aad3ad1de26edff903f5742638d7cd Mon Sep 17 00:00:00 2001 From: Malaber <32635600+Malaber@users.noreply.github.com> Date: Mon, 17 Jun 2019 12:47:33 +0200 Subject: [PATCH] Make teams added to PlayoffStage configurable --- app/controllers/tournaments_controller.rb | 2 +- app/interactors/add_playoffs_to_tournament.rb | 3 +-- app/services/playoff_stage_service.rb | 8 -------- .../add_playoffs_to_tournament_interactor_spec.rb | 10 +++++----- 4 files changed, 7 insertions(+), 16 deletions(-) diff --git a/app/controllers/tournaments_controller.rb b/app/controllers/tournaments_controller.rb index 78bcfee..5d225b7 100644 --- a/app/controllers/tournaments_controller.rb +++ b/app/controllers/tournaments_controller.rb @@ -49,7 +49,7 @@ class TournamentsController < ApplicationController # associate provided teams with tournament tournament.teams = teams # add playoff stage to tournament - result = AddPlayoffsToTournamentAndSave.call(tournament: tournament) + result = AddPlayoffsToTournamentAndSave.call(tournament: tournament, teams: tournament.teams) end # validate tournament unless tournament.valid? diff --git a/app/interactors/add_playoffs_to_tournament.rb b/app/interactors/add_playoffs_to_tournament.rb index 51b1d18..9abecdf 100644 --- a/app/interactors/add_playoffs_to_tournament.rb +++ b/app/interactors/add_playoffs_to_tournament.rb @@ -6,8 +6,7 @@ class AddPlayoffsToTournament def call tournament = context.tournament context.fail! if tournament.stages.size > 1 - if (playoff_stages = PlayoffStageService.generate_playoff_stages_from_tournament(tournament, - context.randomize_matches)) + if (playoff_stages = PlayoffStageService.generate_playoff_stages(context.teams, context.randomize_matches)) if tournament.stages.empty? tournament.stages = playoff_stages else diff --git a/app/services/playoff_stage_service.rb b/app/services/playoff_stage_service.rb index effafd8..e12ae2c 100644 --- a/app/services/playoff_stage_service.rb +++ b/app/services/playoff_stage_service.rb @@ -21,14 +21,6 @@ class PlayoffStageService playoffs end - # Generates the playoff stage given the tournament - # - # @param tournament [Tournament] The tournament to generate the playoff stages from - # @return [Array] the generated playoff stages - def generate_playoff_stages_from_tournament(tournament, randomize_matches) - generate_playoff_stages(tournament.teams, randomize_matches) - end - # Generates given number of empty stages # # @param stage_count [Integer] number of stages to generate diff --git a/spec/interactors/add_playoffs_to_tournament_interactor_spec.rb b/spec/interactors/add_playoffs_to_tournament_interactor_spec.rb index 0ee2cbc..e1cebfc 100644 --- a/spec/interactors/add_playoffs_to_tournament_interactor_spec.rb +++ b/spec/interactors/add_playoffs_to_tournament_interactor_spec.rb @@ -2,15 +2,15 @@ RSpec.describe AddPlayoffsToTournament, type: :interactor do let(:group_stage_tournament_context) do - AddPlayoffsToTournament.call(tournament: @group_stage_tournament) + AddPlayoffsToTournament.call(tournament: @group_stage_tournament, teams: @group_stage_tournament.teams) end let(:playoff_stage_tournament_context) do - AddPlayoffsToTournament.call(tournament: @playoff_stage_tournament) + AddPlayoffsToTournament.call(tournament: @playoff_stage_tournament, teams: @playoff_stage_tournament.teams) end let(:full_tournament_context) do - AddPlayoffsToTournament.call(tournament: @full_tournament) + AddPlayoffsToTournament.call(tournament: @full_tournament, teams: @full_tournament.teams) end before do @@ -23,7 +23,7 @@ RSpec.describe AddPlayoffsToTournament, type: :interactor do context 'PlayoffStageService mocked' do before do expect(class_double('PlayoffStageService').as_stubbed_const(transfer_nested_constants: true)) - .to receive(:generate_playoff_stages_from_tournament) + .to receive(:generate_playoff_stages) .and_return(@stages) end @@ -53,7 +53,7 @@ RSpec.describe AddPlayoffsToTournament, type: :interactor do context 'playoff generation fails' do before do expect(class_double('PlayoffStageService').as_stubbed_const(transfer_nested_constants: true)) - .to receive(:generate_playoff_stages_from_tournament) + .to receive(:generate_playoff_stages) .and_return(nil) end