Commit Graph

354 Commits

Author SHA1 Message Date
Daniel Schädler 155ce57723 Add state to stage
This state is required to stop the group stage and trigger playoff
generation, it is (for now) irrelevant for anything other than that.
2019-06-10 18:49:07 +02:00
Daniel Schädler 0e52663d46 Fix two typos 2019-06-10 18:49:07 +02:00
Daniel Schädler 0c64839319 Test returning unprocessable entity when error occurs in match population 2019-06-10 18:49:07 +02:00
Daniel Schädler 0d85c057b6 Test unprocessable entity response on a match that is not ready
Unprocessable entity is returned when you try to start a match that is
not ready yet.
2019-06-10 18:49:07 +02:00
Daniel Schädler cbf7917e15 Test returning unprocessable entity response
We now test sending a senseless state and also what happens when the
match.update method fails for some reason.
2019-06-10 18:49:07 +02:00
Daniel Schädler 84a1ce2329 Simplify controller code
Matches update now gets rolled back via a Transaction
2019-06-10 18:49:07 +02:00
Daniel Schädler f7a46cf21e Split test methods for failed stopping of matches 2019-06-10 18:49:07 +02:00
Daniel Schädler 0afe6badcc Prevent matches from being stopped without a winner in playoffs 2019-06-10 18:49:07 +02:00
Daniel Schädler 03355d4e7e Correct state of empty_prepared_playoff_match factory 2019-06-10 18:49:07 +02:00
Daniel Schädler b8ce4d66c8 Add field to tournament containing playoff_teams_amount
This field represents how many teams advance into playoff stage after
the group stage has ended.
2019-06-10 18:49:07 +02:00
Daniel Schädler c9c47fa0e5 Test returning unprocessable entity when match_score update fails 2019-06-10 18:49:07 +02:00
Daniel Schädler 41f5295a50 Test update_group_scores method 2019-06-10 18:49:07 +02:00
Daniel Schädler 6d85c1128e 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-10 18:49:07 +02:00
Daniel Schädler a1515fc4c7 Remove unused Variable stage 2019-06-10 18:49:07 +02:00
Daniel Schädler 40cfa479f0 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-10 18:49:07 +02:00
Daniel Schädler b89e2c58d4 Dry out code with shared_examples 2019-06-10 18:49:07 +02:00
Daniel Schädler 9e66bfa1d7 Overwrite owner of tournament manually 2019-06-10 18:49:07 +02:00
Daniel Schädler e567d12ca2 Test if match_score point change triggers group score calculation 2019-06-10 18:49:07 +02:00
Daniel Schädler 4a0e9a78ec Remove unnecessary :group_stage_only tournament 2019-06-10 18:49:07 +02:00
Daniel Schädler 1b0812bce6 Make Match Factory configurable for group_stage and group factory 2019-06-10 18:49:07 +02:00
Daniel Schädler 474a52a0a3 Add group_scores to groups factory, one for every team 2019-06-10 18:49:07 +02:00
Daniel Schädler 037c9ebcf1 Add GroupScore objects for every team to the group stage 2019-06-10 18:49:07 +02:00
Daniel Schädler 3c98fd0545 Update group_scores on match_score change if match is a group match 2019-06-10 18:49:07 +02:00
Daniel Schädler 084c9bb1fc Add method to check if match_score is part of a group match 2019-06-10 18:49:07 +02:00
Daniel Schädler 8a01134ede Implement update_group_score method
This method calculates all the group scores of the group given to it
2019-06-10 18:49:07 +02:00
Daniel Schädler 2cabd1ea7d Correctly handle matches that are not started yet 2019-06-10 18:49:07 +02:00
Daniel Schädler 5b7d8d8a7d Fix typo in received_points 2019-06-10 18:49:07 +02:00
Daniel Schädler 3f73f7d656 Replace guard clauses with ternary operator
@thor77 apparently thinks this is better then it was before.. i don't
really care so here we go ¯\_(ツ)_/¯
2019-06-10 18:49:07 +02:00
Daniel Schädler a8744c6987 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-10 18:49:07 +02:00
Daniel Schädler e222669321 Move self methods into self block 2019-06-10 18:49:07 +02:00
Daniel Schädler 3ace826180 Add Link to quick install guide 2019-06-04 17:35:47 +02:00
Thor77 91e646e518
Merge pull request #49 from turniere/ticket/TURNIERE-210
Permit username key for account update
2019-06-04 10:26:54 +02:00
Thor77 b07447aaae Permit username key for account update 2019-06-04 09:55:45 +02:00
Thor77 08eabcd0f9
Merge pull request #47 from turniere/ticket/TURNIERE-225
Add winner attribute to match serializer
2019-05-28 23:32:11 +02:00
Thor77 91fe9dba16
Add winner attribute to match serializer 2019-05-28 23:18:55 +02:00
Daniel Schädler 4e0da7f8ab
Merge pull request #46 from turniere/ticket/TURNIERE-223
Fix group scores not serialized correctly
2019-05-28 23:08:29 +02:00
Thor77 12005b95fa
Fix group score not serialized correctly
when returned from statistics endpoint
2019-05-28 22:24:03 +02:00
Daniel Schädler e281b1b23f
Merge pull request #38 from turniere/ticket/TURNIERE-190
Implement stopping of matches
2019-05-27 14:38:45 +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 9f3fb532a5 Move sonar-scanner to bottom of travis scripts
This is necessary to correctly submit coverage result to sonarqube
2019-05-26 20:24:47 +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 8bdcd51e66 Move all methods in playoff_stage_service into self block 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