Daniel Schädler
9028d29b41
Test update_group_scores method
2019-06-04 14:14:44 +02:00
Daniel Schädler
75b4a797d4
Rename @groups to @prepared_groups
...
This is done because @prepared_groups only represents hashes of groups
that still need to be generated rather then actual group objects.
2019-06-04 14:14:44 +02:00
Daniel Schädler
73e4ae7c01
Remove unused Variable @stage
2019-06-04 14:14:44 +02:00
Daniel Schädler
8cdc920338
Move scope of tournament creation in match_score controller test
...
This fixes the problem we had with the update of the match score
returning :forbidden because the @owner variable was not set properly.
Also names of the tests should now be easier to read.
2019-06-04 14:14:44 +02:00
Daniel Schädler
0e2e7dffb7
Dry out code with shared_examples
2019-06-04 14:14:44 +02:00
Daniel Schädler
b9e0c38929
Overwrite owner of tournament manually
2019-06-04 14:14:44 +02:00
Daniel Schädler
25ea2f03d4
Test if match_score point change triggers group score calculation
2019-06-04 14:14:44 +02:00
Daniel Schädler
9f8e81bd7e
Remove unnecessary :group_stage_only tournament
2019-06-04 14:14:44 +02:00
Daniel Schädler
65ec60c02e
Make Match Factory configurable for group_stage and group factory
2019-06-04 14:14:44 +02:00
Daniel Schädler
227493f4c7
Revert "A group_match always has match_scores attached"
...
This reverts commit 78617793
2019-06-04 14:14:44 +02:00
Daniel Schädler
dabddd6702
A group_match always has match_scores attached
2019-06-04 14:14:44 +02:00
Daniel Schädler
d50cd66b24
Add group_scores to groups factory, one for every team
2019-06-04 14:14:44 +02:00
Daniel Schädler
cde4934c48
Add GroupScore objects for every team to the group stage
2019-06-04 14:14:44 +02:00
Daniel Schädler
aefac8bc63
Update group_scores on match_score change if match is a group match
2019-06-04 14:14:44 +02:00
Daniel Schädler
5d705eeac3
Add method to check if match_score is part of a group match
2019-06-04 14:14:44 +02:00
Daniel Schädler
65ff6a830e
Correctly handle matches that are not started yet
2019-05-29 23:02:59 +02:00
Daniel Schädler
cfdda077eb
Implement Methods returning points of teams per match
...
These methods return group_points scored_points and received_points
respectively when given a team that is present in the match
They return 0 when given a team that isn't contesting in that match
2019-05-29 23:02:59 +02:00
Daniel Schädler
990361a25b
Fix comparison that got lost in refactoring
2019-05-27 13:25:14 +02:00
Daniel Schädler
a710addde7
Create :stage_tournaments with realistic match positions
2019-05-26 22:03:22 +02:00
Daniel Schädler
537cccfa9e
Force save match_scores
2019-05-26 20:15:59 +02:00
Daniel Schädler
6f44823bc6
Change match state of match below
2019-05-26 20:15:59 +02:00
Daniel Schädler
8dd1f0b07c
Rearrange Test Code
2019-05-26 20:15:59 +02:00
Daniel Schädler
9f92ca7e5b
Move stopping of matches test
2019-05-26 20:15:59 +02:00
Daniel Schädler
d61b3b2b63
Fix factory name for stageless tournament
2019-05-26 20:15:59 +02:00
Daniel Schädler
21c79665e1
Check if .winner returns a Team
...
This is done to prevent Test from succeeding if both
.winner and .teams return nil
2019-05-26 20:15:59 +02:00
Daniel Schädler
74b345dce4
Fix factory name for stage tournament
2019-05-26 20:15:59 +02:00
Daniel Schädler
5457d50277
Simplify code finding the tournament
...
Co-Authored-By: Thor77 <thor77@thor77.org>
2019-05-26 20:15:59 +02:00
Daniel Schädler
0337b6fad8
Save match_scores after editing them in tests
2019-05-26 20:15:59 +02:00
Daniel Schädler
d0d38a7972
Test populate_match_below Interactor
2019-05-26 20:15:58 +02:00
Daniel Schädler
e0ef39cc4b
Test populate_match_below method
2019-05-26 20:15:58 +02:00
Daniel Schädler
d2f5d3594e
Test performance optimization
...
In general this generates less unnecessary faker data
2019-05-26 20:15:16 +02:00
Daniel Schädler
bc055843d9
Test stopping of Matches
2019-05-26 20:14:13 +02:00
Daniel Schädler
2f77d2d25b
Add winner method to match
2019-05-26 20:14:13 +02:00
Daniel Schädler
280b0c1dec
Change status of Match to only represent being finished
...
The winner will be a attribute of the Match instead of something
that is written in its status.
2019-05-26 20:14:13 +02:00
Daniel Schädler
8388af20f0
Generalize tournament save interactor
...
It now is responsible for saving all ApplicationRecord objects to the
database. This will reduce code duplication one we have other objects
that need to be saved. (As we will soon need to save individual matches)
2019-05-26 20:14:13 +02:00
Daniel Schädler
51056d340c
Save the whole stage instead of the single matches
2019-05-22 09:25:07 +02:00
Daniel Schädler
b36e3c4251
Delegate owner of team to tournament again
2019-05-22 09:25:07 +02:00
Daniel Schädler
27709f0136
This change will basically solve climate change as it saves all
...
the computing power in the whole world.
2019-05-22 09:25:07 +02:00
Thor77
b5377db1f3
Reformat indention
2019-05-22 09:25:07 +02:00
Daniel Schädler
d548eee245
Change .map to .each
2019-05-22 09:25:07 +02:00
Daniel Schädler
dcb19461be
Add group_stage_only_tournament factory
2019-05-22 09:25:07 +02:00
Daniel Schädler
03d7369a1c
Remove link between team.owner and tournament
2019-05-22 09:25:07 +02:00
Daniel Schädler
f73820f2f2
Reduce standart amount of teams within a tournament to 8
2019-05-22 09:25:07 +02:00
Daniel Schädler
3f4c6336c2
Add dummy_stage_tournament
2019-05-22 09:25:07 +02:00
Daniel Schädler
c55b45bdc1
Add position to all matches
2019-05-22 09:25:07 +02:00
Daniel Schädler
80b14900d0
Makes match_type configurable instead of only setting its state
2019-05-22 09:25:07 +02:00
Daniel Schädler
b9afa956ce
Add empty_prepared_playoff_match
2019-05-22 09:25:07 +02:00
Thor77
42d9b0957f
Save match position
2019-05-22 09:25:07 +02:00
Daniel Schädler
8a70d5f333
For stage tournament, first stage has running matches
2019-05-22 09:25:07 +02:00
Daniel Schädler
cb82ca44d8
Put running playoff matches in a playoff stage (only on first level)
2019-05-22 09:25:07 +02:00