Thor77
48fc9fab57
Refactor spec to use let instead of class vars
2019-06-17 13:48:50 +02:00
Thor77
167a2116f1
Prevent duplicate bets on the same match
2019-06-17 13:48:50 +02:00
Thor77
ba758c73ff
Fix mock using throw instead of raise
2019-06-17 13:48:50 +02:00
Thor77
f08c4693ad
Expect UserServiceError in spec
2019-06-17 13:48:49 +02:00
Thor77
45ede9029e
Add :bet factory
2019-06-17 13:48:49 +02:00
Thor77
76e301e920
Add BetsController
2019-06-17 13:48:49 +02:00
Thor77
b9aaccb487
Raise UserServiceError instead of StandardError
2019-06-17 13:48:49 +02:00
Thor77
a9cee1d651
Add routes for bets controller
2019-06-17 13:48:49 +02:00
Thor77
2f0127897e
Add UserService
2019-06-17 13:48:49 +02:00
Thor77
f3431e8442
Add bet model
...
* has_many relations in all belonging models
* specs for relations in existing models
* association specs for bet model
2019-06-17 13:48:49 +02:00
Thor77
7e2567a8cf
Merge pull request #60 from turniere/ticket/TURNIERE-252
...
Assign unique number to each group
2019-06-17 13:47:00 +02:00
Daniel Schädler
db70e33882
Assign number to each group
2019-06-17 13:37:06 +02:00
Daniel Schädler
c2056df1ba
Remove accidental focus: true
2019-06-17 13:37:06 +02:00
Thor77
39d564be58
Merge pull request #59 from turniere/ticket/TURNIERE-251
...
Implement Group GET Endpoint
2019-06-17 13:27:08 +02:00
Daniel Schädler
a74030a7ef
Implement GroupsController
2019-06-16 13:22:15 +02:00
Thor77
b8116e9614
Merge pull request #57 from turniere/ticket/TURNIERE-250
...
Correctly raise exceptions in mock
2019-06-14 19:09:19 +02:00
Daniel Schädler
fc96b8f788
Correctly raise exceptions in mock
2019-06-14 15:53:12 +02:00
Daniel Schädler
33c7ce9695
Merge pull request #55 from turniere/ticket/TURNIERE-234
...
Implement variables relevant for group stage to playoff transition
2019-06-13 22:52:34 +02:00
Daniel Schädler
41194ee181
Test group_stage state being assigned correctly
2019-06-13 16:13:06 +02:00
Daniel Schädler
bb1b8798d8
DRY out group_stage_service_spec
2019-06-13 16:09:38 +02:00
Daniel Schädler
63db00b9ff
Actually test if correct field gets set in error response
2019-06-13 13:28:34 +02:00
Daniel Schädler
c8f69ccb16
Dry out tests for unacceptable playoff_teams_amount
2019-06-13 13:21:24 +02:00
Daniel Schädler
07f5388f6d
Add Tests for TournamentService
2019-06-13 13:21:24 +02:00
Daniel Schädler
2e336262aa
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-13 13:21:24 +02:00
Daniel Schädler
4f64afd5fe
Assign values to playoff transition relevant variables in factory
2019-06-13 13:21:24 +02:00
Daniel Schädler
5004dec39a
Change playoff transition relevant attributes of tournament on update
...
They are only updated when playoff_teams_amount changed alone
2019-06-13 13:21:24 +02:00
Daniel Schädler
e936fd40b2
Convert integer parameters to actual integers
...
Apparently rails thinks this is the way to do it.
2019-06-13 13:21:24 +02:00
Daniel Schädler
3e04584e9f
Test changing group_stage transition relevant parameters
2019-06-13 13:21:24 +02:00
Daniel Schädler
b408d1dd37
Ignore validity of matching params if only playoff_teams_amount changed
...
If only playoff_teams_amount changed, the other two will be overwritten
anyways.
2019-06-13 13:21:24 +02:00
Daniel Schädler
6a060651a4
Validate update parameters
...
playoff_teams_amount, instant_finalists_amount and
intermediate_round_participants_amount need to make sense together
2019-06-13 13:21:24 +02:00
Daniel Schädler
36bdfbae28
Add default for playoff_teams_amount to tournament factory
2019-06-13 13:21:24 +02:00
Daniel Schädler
f04c11427a
Assign default values on Group Stage creation
...
default values are assigned to instant_finalists_amount and
intermediate_round_participants_amount depending on playoff_teams_amount and group amount
2019-06-13 13:21:24 +02:00
Daniel Schädler
4d5d7bc812
Only allow positive powers of two for playoff_teams_amount
2019-06-13 13:21:24 +02:00
Daniel Schädler
f5b610703c
Add two new parameters to tournament
...
instant_finalists_amount is the amount of teams that instantly are in
the finals after the group stage ends.
intermediate_round_participants_amount is the amount of teams that have
a chance to advance after group stage but must play a relegation game to
actually do so.
Both of these values need to match, so that
instant_finalists_amount + (intermediate_round_participants_amount / 2)
is a power of 2. Or to be more precise, the power of two that is saved
in playoff_teams_amount of the tournament.
2019-06-13 13:21:24 +02:00
Daniel Schädler
d8a9b27ab3
Add test type to all interactor tests
2019-06-13 13:21:24 +02:00
Thor77
42ee77d0ee
Merge pull request #48 from turniere/ticket/TURNIERE-226
...
Fix Playoff Matches ending without a winner
2019-06-05 17:56:49 +02:00
Daniel Schädler
5d47ae5426
Fix two typos
2019-06-05 17:05:58 +02:00
Daniel Schädler
9c9a856265
Test returning unprocessable entity when error occurs in match population
2019-06-05 17:05:58 +02:00
Daniel Schädler
41b8bdce77
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-05 17:05:58 +02:00
Daniel Schädler
d03ceeffa4
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-05 17:05:58 +02:00
Daniel Schädler
c1b2b72ca3
Simplify controller code
...
Matches update now gets rolled back via a Transaction
2019-06-05 17:05:58 +02:00
Daniel Schädler
ab33ec157d
Split test methods for failed stopping of matches
2019-06-05 17:05:58 +02:00
Daniel Schädler
68535b89fc
Prevent matches from being stopped without a winner in playoffs
2019-06-05 17:05:58 +02:00
Daniel Schädler
2b7d0edf74
Correct state of empty_prepared_playoff_match factory
2019-06-05 17:05:58 +02:00
Daniel Schädler
b9d4c77db0
Merge pull request #52 from turniere/ticket/TURNIERE-199
...
Add field to tournament containing playoff_teams_amount
2019-06-05 17:05:25 +02:00
Daniel Schädler
bd2af09339
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-05 16:46:06 +02:00
Daniel Schädler
fc13634769
Merge pull request #50 from turniere/ticket/TURNIERE-216
...
Implement Group Score Update on match_score points change
2019-06-05 10:24:19 +02:00
Daniel Schädler
15e344fa2e
Test returning unprocessable entity when match_score update fails
2019-06-05 10:13:26 +02:00
Daniel Schädler
24ce5b7a62
Test update_group_scores method
2019-06-05 09:49:22 +02:00
Daniel Schädler
258e1ceb1c
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-05 09:49:22 +02:00