diff --git a/app/controllers/tournaments_controller.rb b/app/controllers/tournaments_controller.rb index 9fa7f18..78bcfee 100644 --- a/app/controllers/tournaments_controller.rb +++ b/app/controllers/tournaments_controller.rb @@ -41,6 +41,8 @@ class TournamentsController < ApplicationController groups = organize_teams_in_groups(teams) # add groups to tournament result = AddGroupStageToTournamentAndSave.call(tournament: tournament, groups: groups) + # associate provided teams with tournament on success + tournament.teams = groups.flatten if result.success? else # convert teams parameter into Team objects teams = teams.map(&method(:find_or_create_team)) diff --git a/spec/controllers/tournaments_controller_spec.rb b/spec/controllers/tournaments_controller_spec.rb index 06e05dc..cb1ef87 100644 --- a/spec/controllers/tournaments_controller_spec.rb +++ b/spec/controllers/tournaments_controller_spec.rb @@ -195,6 +195,10 @@ RSpec.describe TournamentsController, type: :controller do .to eq(create_group_tournament_data[:playoff_teams_amount]) end + it 'associates the given teams with the created tournament' do + expect(@group_stage_tournament.teams).to match_array(@teams16) + end + context 'playoff_teams_amount unacceptable' do shared_examples_for 'wrong playoff_teams_amount' do it 'fails' do