Tobias Huber
58267b6b3a
Fix timer timezone handling
2026-04-14 07:10:51 +02:00
Tobias Huber
19f744daeb
Add Beamer entity with CRUD API and name-based lookup
...
New Beamer model scoped to tournaments for multi-projector display control.
Includes migration, validations, serializer, controller with by_name
fallback endpoint, routing, and full RSpec test coverage.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-14 07:10:44 +02:00
Daniel Schädler
bbb1ad97ef
Make follower sync asynchronous
2026-04-13 20:54:28 +02:00
Daniel Schädler
133ebae847
Add read-only tournament follower sync
2026-04-13 20:32:34 +02:00
Daniel Schädler
4713a020fa
Implement TUR-58 group stage decider matches
2026-04-12 19:13:52 +02:00
Daniel Schädler
11b1004053
Stabilize match controller failure spec
2026-04-12 18:19:28 +02:00
Daniel Schädler
6d21dad5d7
Fix final match completion after group stage
2026-04-12 18:07:08 +02:00
Daniel Schädler
a484ed164f
Fix direct comparison E2E expectation
2026-04-12 17:48:12 +02:00
Daniel Schädler
eedafe1276
Add ranking decision metadata for group scores
2026-04-12 17:47:28 +02:00
Daniel Schädler
7cef4a9b5e
Fix group score direct comparison tiebreak
2026-04-12 17:03:33 +02:00
Daniel Schädler
c32d944d87
Fix blackbox HTTP E2E bootstrap coverage
2026-04-12 16:12:41 +02:00
Daniel Schädler
7f04e75649
Expand backend HTTP E2E API coverage
2026-04-12 16:06:23 +02:00
Daniel Schädler
eca1ba5622
Skip HTTP E2E outside dedicated env
2026-04-11 14:15:18 +02:00
Daniel Schädler
39ba1cff22
Run backend E2E over HTTP
2026-04-11 13:40:12 +02:00
Daniel Schädler
71be61791a
Add backend lifecycle E2E coverage
2026-04-11 13:12:49 +02:00
Daniel Schädler
2b0eccf9bd
Skip profiling by default
2025-03-16 13:45:10 +01:00
Daniel Schädler
060f3d0422
Hopefully 🤞 fix flaky test
2025-03-16 13:44:37 +01:00
Daniel Schädler
99b6500e5f
Install and configure rubyprof
2025-03-16 13:22:08 +01:00
Daniel Schädler
954b62e06e
Debugging for slowest specs
2025-03-16 12:44:07 +01:00
Daniel Schädler
cccb8cc806
Mock groupstageservice when changing playoff params
2025-03-16 12:41:28 +01:00
Daniel Schädler
f00c5ac8dc
Merge branch 'annotate_advancing_teams' into 'master'
...
Annotate advancing teams
See merge request turniere/turniere-backend!28
2025-03-14 14:23:58 +00:00
Daniel Schädler
b1cc300d98
Merge branch 'first_vs_second_with_offset' into 'master'
...
First vs second with offset
See merge request turniere/turniere-backend!29
2025-03-14 12:35:17 +00:00
Daniel Schädler
4d62f6777a
Adjust tests to match new version of advancing teams
2025-03-14 13:32:15 +01:00
Daniel Schädler
34814a837a
Merge remote-tracking branch 'origin/master' into annotate_advancing_teams
2025-03-14 13:27:03 +01:00
Daniel Schädler
f71c7ec57f
Merge branch 'timer' into 'master'
...
Timer
See merge request turniere/turniere-backend!30
2025-03-14 12:00:29 +00:00
Daniel Schädler
9f1807ab4b
Test timer_end is in show tournament
2025-03-14 12:47:06 +01:00
Daniel Schädler
d1c6ee2da5
Fix split and rotate call
2025-03-13 12:56:20 +01:00
Daniel Schädler
d1cbe8a354
Fix tests
2025-03-13 12:52:12 +01:00
Daniel Schädler
41fbf654df
Add todo
2025-03-13 12:41:48 +01:00
Daniel Schädler
4d1e2c5164
Add option to also pass seconds to timer_end
2025-03-10 12:37:19 +01:00
Daniel Schädler
bdcc6e1182
Fix tests
2025-03-10 11:51:36 +01:00
Daniel Schädler
3bb8afeae6
Remove focused tests
2025-03-09 21:14:18 +01:00
Daniel Schädler
4449314cf6
Improve "normal" controller tests
2025-03-09 21:07:36 +01:00
Daniel Schädler
79bafec693
Add advancing teams into tournaments show endpoint
2025-03-09 21:05:41 +01:00
Daniel Schädler
cf3cc9cebb
Add tests about the advancing teams
2025-03-09 20:14:34 +01:00
Daniel Schädler
5786607b7f
Reload group_scores from database after update
2025-03-09 20:04:00 +01:00
Daniel Schädler
a74236982d
Generate a valid tournament like at bpwstr
2025-03-09 19:34:49 +01:00
Daniel Schädler
5c6b683526
All groups are created equal
2025-03-08 17:46:55 +01:00
Daniel Schädler
119cffc4ff
Remove coveralls for good
2025-03-08 17:39:46 +01:00
Daniel Schädler
322d1e2ed4
Add dummy tournament with group stage
2025-03-08 17:39:36 +01:00
Tobias Huber
3c1168212e
add timer_end to tournaments model
2025-03-08 17:08:48 +01:00
Daniel Schädler
7edf1c5140
REVERT ME run only focused tests
2025-03-08 16:27:35 +01:00
Daniel Schädler
0d30886168
REVERT ME run only focused tests
2025-03-08 16:12:01 +01:00
Daniel Schädler
834b3ca433
REVERT ME run only focused tests
2025-03-04 21:59:57 +01:00
Daniel Schädler
6fcdeac054
Move array splitting and rotating to utils
2025-03-04 21:34:16 +01:00
Daniel Schädler
938ae92f59
Revert "Add test data for beerpong"
...
This reverts commit c708b86c35 .
2025-03-02 12:20:29 +01:00
Daniel Schädler
c708b86c35
Add test data for beerpong
2025-02-12 22:29:11 +01:00
Daniel Schädler
cac378ff5c
Add file to report test runtimes
2022-07-01 22:30:14 +02:00
Daniel Schädler
e448f9ccc3
Remove specific bet specs
2022-06-25 17:34:43 +02:00
Daniel Schädler
0518f6691b
Remove expensive tests
2022-06-12 21:42:20 +00:00
Daniel Schädler
eb5c3b5faf
Test huge playoff stage generation
2022-05-29 23:58:07 +02:00
Daniel Schädler
c3af6f9232
Rubocop -A
2021-08-15 14:31:50 +02:00
Thor77
bb4a950138
Fix warning about content/media type for Rails 6
2020-06-05 20:41:33 +02:00
Daniel Schädler
777ee95281
Readability +4
2019-10-26 01:38:06 +02:00
Daniel Schädler
b8f8ffb411
More space for hound to be happy with
2019-10-26 01:35:46 +02:00
Daniel Schädler
b37f510534
Unnecessary Variables
2019-10-26 01:35:00 +02:00
Daniel Schädler
400a396f00
Test match index controller with filter
2019-10-26 01:23:15 +02:00
Daniel Schädler
82e4ff90dc
Test tournament.matches method
2019-10-26 01:22:52 +02:00
Thor77
d317585168
Add "simple" parameter to tournament show
2019-10-25 23:17:08 +02:00
Daniel Schädler
945ab4981a
Use let more effectively
2019-06-18 22:35:17 +02:00
Daniel Schädler
fa9f47903b
Test trying to change the state to something other than :finished
2019-06-18 22:22:10 +02:00
Daniel Schädler
90d97962a3
Test trying to finish a group stage with unfinished matches
2019-06-18 22:22:10 +02:00
Daniel Schädler
fd8ff20ce8
Test for correct error on finishing already finished stages
2019-06-18 22:22:10 +02:00
Daniel Schädler
8873e7a95b
Test stage.teams returning [] on empty stage
2019-06-18 22:22:10 +02:00
Daniel Schädler
b28561043e
Implement stages controller (GET UPDATE)
2019-06-18 22:22:10 +02:00
Daniel Schädler
3dfeae8bf3
Test #teams_sorted_by_group_scores
2019-06-18 22:22:10 +02:00
Daniel Schädler
15e2bd830f
Randomize points in group_scores factory
2019-06-18 22:22:10 +02:00
Daniel Schädler
4925ea9d83
Make teams added to PlayoffStage configurable
2019-06-18 22:22:10 +02:00
Daniel Schädler
748ac18b35
Implement finished_group_match factory
2019-06-18 22:22:10 +02:00
Daniel Schädler
4e72d015ff
Implement method to check if stage is over
2019-06-18 19:22:05 +02:00
Daniel Schädler
68efd3caae
Add factory for a finished_playoff_match
2019-06-18 19:22:05 +02:00
Daniel Schädler
bc0c7fddc3
Make match position randomizable
2019-06-18 19:22:05 +02:00
Daniel Schädler
386155a690
Fix last Match not being stopped correctly
2019-06-18 14:09:29 +02:00
Thor77
3109308817
Fix teams not associated with created tournament
...
when choosing a group stage
2019-06-18 13:29:31 +02:00
Daniel Schädler
7630f6b432
Fix Typo
2019-06-17 15:02:30 +02:00
Daniel Schädler
6dff05b5e6
Test AdvanceTeamsInIntermediateStage Interactor
2019-06-17 15:02:30 +02:00
Daniel Schädler
f35ba5c745
Create factory for :single_team_match
2019-06-17 15:02:30 +02:00
Daniel Schädler
e0da9ff7b5
Assign empty array if object_to_save is nil before pushing values to it
...
https://stackoverflow.com/questions/12163625/create-or-append-to-array-in-ruby
2019-06-17 15:02:30 +02:00
Daniel Schädler
c9e1e153df
Add interactor to advance all teams stuck in single team matches
...
After playoffs are created, before saving the stage this interactor
goes to the intermediate stage, looks for all the matches that are
:single_team matches and populates the match below with their respective
"winner".
2019-06-17 15:02:30 +02:00
Daniel Schädler
98319e9625
Assign :intermediate_stage to first stage if single_team matches present
2019-06-17 15:02:30 +02:00
Daniel Schädler
62f3ccba31
Rename method test
2019-06-17 15:02:30 +02:00
Daniel Schädler
5f378f27b2
Correct position for :single_team matches
2019-06-17 15:02:30 +02:00
Thor77
ce154a821c
Fix error message not changed in spec
2019-06-17 13:48:50 +02:00
Thor77
175870ab42
Prevent betting on running/finished matches
2019-06-17 13:48:50 +02:00
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
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
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
Daniel Schädler
a74030a7ef
Implement GroupsController
2019-06-16 13:22:15 +02:00
Daniel Schädler
fc96b8f788
Correctly raise exceptions in mock
2019-06-14 15:53:12 +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