From a30ff860e90b4fe5964f160feb0679b8f4ce344c Mon Sep 17 00:00:00 2001 From: Malaber <32635600+Malaber@users.noreply.github.com> Date: Thu, 18 Apr 2019 14:19:50 +0200 Subject: [PATCH] Return a valid list of matches for 1 team --- app/services/match_service.rb | 9 ++++++++- spec/services/match_service_spec.rb | 4 ---- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/app/services/match_service.rb b/app/services/match_service.rb index 29fffdb..90c5290 100644 --- a/app/services/match_service.rb +++ b/app/services/match_service.rb @@ -6,11 +6,18 @@ class MatchService # @param teams [Array] the teams to generate matches with # @return [Array] the generated matches def self.generate_matches(teams) - if teams.size < 2 + if teams.empty? # should be prevented by controller return end + if teams.size == 1 + matches = [] + match = Match.new state: :single_team, position: 1, match_scores: [MatchScore.create(team: teams.first)] + matches << match + return matches + end + # normal_games = number of matches with two teams attending # needed_games = number of matches to generate in total for the given number of teams if Utils.po2?(teams.size) diff --git a/spec/services/match_service_spec.rb b/spec/services/match_service_spec.rb index e1e2731..bdb844e 100644 --- a/spec/services/match_service_spec.rb +++ b/spec/services/match_service_spec.rb @@ -117,9 +117,5 @@ RSpec.describe MatchService do it 'generates no matches for 0 teams' do expect(MatchService.generate_matches([])). to eq(nil) end - - it 'generates no matches for 1 team' do - expect(MatchService.generate_matches(build_list(:team, 1))). to eq(nil) - end end end