Daniel Schädler
3d8abe449a
Test update_group_scores method
2019-06-04 15:09:21 +02:00
Daniel Schädler
b1af138ed8
Make Hound woof happily
2019-06-04 15:09:21 +02:00
Daniel Schädler
688e2da706
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 15:09:21 +02:00
Daniel Schädler
2bc471082e
Remove unused Variable @stage
2019-06-04 15:09:21 +02:00
Daniel Schädler
b1ff7d2e96
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 15:09:21 +02:00
Daniel Schädler
71976ba550
Dry out code with shared_examples
2019-06-04 15:09:21 +02:00
Daniel Schädler
f2a18ec08e
Overwrite owner of tournament manually
2019-06-04 15:09:21 +02:00
Daniel Schädler
23d167e04d
Test if match_score point change triggers group score calculation
2019-06-04 15:09:21 +02:00
Daniel Schädler
79b4008082
Remove unnecessary :group_stage_only tournament
2019-06-04 15:09:21 +02:00
Daniel Schädler
8a95f24211
Make Match Factory configurable for group_stage and group factory
2019-06-04 15:09:21 +02:00
Daniel Schädler
133cbffc71
Add group_scores to groups factory, one for every team
2019-06-04 15:09:21 +02:00
Daniel Schädler
5809a062a6
Add GroupScore objects for every team to the group stage
2019-06-04 15:09:21 +02:00
Daniel Schädler
3cad50776f
Update group_scores on match_score change if match is a group match
2019-06-04 15:09:21 +02:00
Daniel Schädler
b94bb9cdcd
Add method to check if match_score is part of a group match
2019-06-04 15:09:21 +02:00
Daniel Schädler
5406f393d3
Correctly handle matches that are not started yet
2019-06-04 15:09:21 +02:00
Daniel Schädler
6d7cdbc317
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-06-04 15:09:21 +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
Daniel Schädler
7afb5ae552
Create realistic number of Matches
...
When match_count is -1 the number of matches generated is automatically
2 ^ stage.level -> This is the amount of stages present in a "real"
tournament stage. When supplying a positive number, it generates that
many matches like before.
This also now adds the position to the match list after creating them
2019-05-22 09:25:07 +02:00