Commit Graph

273 Commits

Author SHA1 Message Date
Daniel Schädler 599e36caa8 Improve Formatting in playoff_stage_service (I guess)
... Rubocop wanted it that way
2019-05-13 13:48:06 +02:00
Daniel Schädler ccb16180b0 Fix second match winner advancing, even if match is not finished 2019-05-13 13:48:06 +02:00
Daniel Schädler afd7438df3 Check for errors while populating the match below 2019-05-13 13:48:06 +02:00
Daniel Schädler dd501ab818 Implement PopulateMatchBelow Interactor & Organizer 2019-05-13 13:48:06 +02:00
Daniel Schädler c77f2c0ac9 Keep owner of Matches in variable 2019-05-13 13:48:06 +02:00
Daniel Schädler c8f50e5d16 Performance Optimization
In general this generates less unnecessary faker data
2019-05-13 13:48:06 +02:00
Daniel Schädler ba707910c2 Implement populate_match_below method 2019-05-13 13:48:06 +02:00
Daniel Schädler a32a4bf878 Test stopping of Matches 2019-05-13 13:48:06 +02:00
Daniel Schädler 667d1bdc50 Call populate_match_below when a match is finished 2019-05-13 13:16:09 +02:00
Daniel Schädler 35c86f279d Call calculate_group_points on Match_score Update 2019-05-13 13:16:09 +02:00
Daniel Schädler 28eb929fb9 Implement calculate_group_points method 2019-05-13 13:16:09 +02:00
Daniel Schädler 4f3407077c Move group_match method to public methods
This is done in order to check if a match is a group match within
Matches Controller
2019-05-13 13:16:09 +02:00
Daniel Schädler 1304f86652 Add winner method to match 2019-05-13 13:16:09 +02:00
Daniel Schädler 5c6c496d74 Add evaluate winner method 2019-05-13 13:16:09 +02:00
Daniel Schädler 072d425ee9 Revert "Add winner column to match"
This reverts commit d9bd0976
2019-05-13 13:16:09 +02:00
Daniel Schädler e2195947ea Add winner column to match 2019-05-13 13:16:09 +02:00
Daniel Schädler 0483e59490 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-13 13:16:09 +02:00
Daniel Schädler 96a9eff380 Remove unused evaluate status method 2019-05-13 13:16:09 +02:00
Daniel Schädler ea8b888673 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-13 13:16:09 +02:00
Daniel Schädler a7a02dac57 Add group_stage_only_tournament factory 2019-05-13 13:12:44 +02:00
Daniel Schädler eea1bbde12 Remove link between team.owner and tournament 2019-05-13 13:12:44 +02:00
Daniel Schädler 9ec867c07e Reduce standart amount of teams within a tournament to 8 2019-05-13 13:12:44 +02:00
Daniel Schädler 8d4cb4a443 Add dummy_stage_tournament 2019-05-13 13:12:44 +02:00
Daniel Schädler e3ce8d9202 Add position to all matches 2019-05-13 13:12:44 +02:00
Daniel Schädler 81c41b2596 Makes match_type configurable instead of only setting its state 2019-05-13 13:12:44 +02:00
Daniel Schädler e7057b8f29 Add empty_prepared_playoff_match 2019-05-13 13:12:44 +02:00
Thor77 9c6b7422bd Save match position 2019-05-13 13:12:44 +02:00
Daniel Schädler 0233ecab2c For stage tournament, first stage has running matches 2019-05-13 13:12:44 +02:00
Daniel Schädler bfaa270808 Put running playoff matches in a playoff stage (only on first level) 2019-05-13 13:12:44 +02:00
Daniel Schädler b5d71f33ca 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-13 13:12:44 +02:00
Daniel Schädler 31a57572dc Manually create the list of stages to assign stage levels correctly 2019-05-13 13:12:44 +02:00
Daniel Schädler ecafc0e258 Move group_stage tournament into stage tournament 2019-05-13 13:12:44 +02:00
Daniel Schädler 002f59ecd8 Add :undecided_group_match and :decided_playoff_match 2019-05-13 13:12:44 +02:00
Daniel Schädler a480cf3180
Merge pull request #36 from turniere/ticket/TURNIERE-180
Implement updating of Match states
2019-05-07 20:34:40 +02:00
Thor77 27c4bcacc8
Respond with 501 for state param 'finished'
(501 = NOT IMPLEMENTED)
2019-05-07 18:41:53 +02:00
Thor77 3876f57d32
Add methods and specs to update a match 2019-05-07 18:41:53 +02:00
Thor77 436adde706
Set global match var for reuse by other methods 2019-05-07 18:41:52 +02:00
Thor77 1b9db61c22
Add owner method to Stage, Group and Match 2019-05-07 18:41:52 +02:00
Thor77 be24b1bc39
Merge pull request #35 from turniere/ticket/TURNIERE-147
Implement Group Stage creation Logic
2019-05-04 21:04:50 +02:00
Daniel Schädler f7ed4b549d Destroying all Readability.
Noone will ever be able to read this code again.
2019-05-04 20:54:08 +02:00
Daniel Schädler 23249ee93b Build Matches without saving directly to database 2019-05-04 20:34:57 +02:00
Thor77 f93c714e1a Add test for empty team hashes 2019-05-04 20:34:57 +02:00
Daniel Schädler ae29427e5d Don't run "before" before each test 2019-05-04 20:34:57 +02:00
Daniel Schädler f149055965 Test teams methods of Matches, Groups and Stages 2019-05-04 20:34:57 +02:00
Daniel Schädler 6a2c71bad7 Fix stage.team method not returning teams for playoff stages 2019-05-04 20:34:57 +02:00
Daniel Schädler babc233412 Adds :playoff_stage as factory 2019-05-04 20:34:57 +02:00
Daniel Schädler db1518bdbd Raise exceptions upon error in group_stage_service 2019-05-04 20:34:57 +02:00
Daniel Schädler 0f7279de97 Add running_group_match factory 2019-05-04 20:34:57 +02:00
Daniel Schädler bfadc7a6af Dry out Tournaments Controller 2019-05-04 20:34:57 +02:00
Daniel Schädler 88d8367c47 Check the length of the match positions instead of their exact content 2019-05-04 20:34:57 +02:00