Commit Graph

79 Commits

Author SHA1 Message Date
Daniel Schädler 1a2a808384 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-11 08:54:23 +02:00
Thor77 3876f57d32
Add methods and specs to update a match 2019-05-07 18:41:53 +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 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 88d8367c47 Check the length of the match positions instead of their exact content 2019-05-04 20:34:57 +02:00
Daniel Schädler bbeda07028 Change test / context / describe names 2019-05-04 20:34:57 +02:00
Daniel Schädler 22f0204f29 Add missing factory specs 2019-05-04 20:34:57 +02:00
Daniel Schädler 3fc344249d Add multiple factories 2019-05-04 20:34:57 +02:00
Daniel Schädler 6811c9e7eb Corrects Test name 2019-05-04 20:34:57 +02:00
Daniel Schädler acfc388da4 Implements group stage tournament creation 2019-05-04 20:34:57 +02:00
Daniel Schädler 300f16b4c2 Rename create_data to create_playoff_tournament_data
This is done in preparation for the addition of group stage data
within the next few commits
2019-05-04 20:34:57 +02:00
Daniel Schädler 6dba0ec738 Test GroupStageService 2019-05-04 20:34:57 +02:00
Daniel Schädler f47ffebcd4 Makes Groups have different incrementing numbers 2019-05-04 20:34:57 +02:00
Daniel Schädler 04b0476603 Test Add Group Stage Interactor 2019-05-04 20:34:57 +02:00
Thor77 6d40d091a4 Modify tournament index spec for "type" parameter 2019-04-24 22:49:48 +02:00
Thor77 c4d03b52c3 Fix tournament index spec apply wrong auth header
because the user @owner doesn't have any private tournaments, therefore
the spec was pointless
2019-04-24 22:49:48 +02:00
Thor77 09ca262ab1 Move index specs into without parameters context 2019-04-24 22:49:48 +02:00
Daniel Schädler d3d572ea1b Change return for 0 teams to exception 2019-04-23 14:21:29 +02:00
Daniel Schädler a449e0193a Use match_array instead of eq
This is the proper way to compare arrays
2019-04-23 14:19:36 +02:00
Daniel Schädler a30ff860e9 Return a valid list of matches for 1 team 2019-04-23 14:19:36 +02:00
Daniel Schädler d221928a12 Test generation of playoff stages for 1 2 and 3 teams 2019-04-23 14:19:36 +02:00
Daniel Schädler 8b11f73a58 Add another Test Case 2019-04-23 14:19:36 +02:00
Daniel Schädler 9918b4a71c Improve test readability in logs 2019-04-23 14:19:36 +02:00
Daniel Schädler 6baaebddd9 Add Test for team numbers that are not powers of 2 2019-04-23 14:19:36 +02:00
Daniel Schädler 00bc8c82e3 Correct Expected Test results
(I am bad at quick math)
2019-04-23 14:19:36 +02:00
Thor77 847f4a1c69 Add password to User factory 2019-04-23 10:48:25 +02:00
Thor77 3ef3b6985f Add spec for custom username validation 2019-04-23 10:46:36 +02:00
Thor77 a14a5224e5 Add spec for tournament-creation with invalid team 2019-04-16 13:24:58 +02:00
Thor77 2b2fccf076 Add tests checking generated stage 2019-04-09 10:47:17 +02:00
Thor77 cdd6b6737f Add test for non-existing team and names 2019-04-08 11:15:24 +02:00
Thor77 2385650be0
Adapt tests to updated tournament controller 2019-04-07 19:27:28 +02:00
Thor77 12c14303f2
Validate exact tournament lists instead of sizes 2019-04-07 18:46:48 +02:00
Thor77 667d6a028c
Test controller params as they're documented 2019-04-07 13:40:34 +02:00
Thor77 a99ae0e248 Assert tournament/stage/group relations optional 2019-04-03 10:03:45 +02:00
Thor77 d7a8504b45 Replace deprecated Faker::Dog 2019-04-03 09:45:56 +02:00
Thor77 c38066408f Adapt deserialization methods to new schema 2018-12-11 17:14:43 +01:00
Thor77 945c499de7 Skip spec for tournament creation for now
because we need to find a proper way to implement it in a RESTful way
2018-12-11 17:14:43 +01:00
Thor77 dcb8e6b216 Adapt controller specs to new api schema 2018-12-11 17:14:43 +01:00
Thor77 8261a919fa
Add workaround for shoulda-matchers#1067
https://github.com/thoughtbot/shoulda-matchers/issues/1067
This issue led to the failure of the solution I implemented before in 8f88362264.
Because of it shoulda-matchers will just ignore the given record for the
validation check and just take the first existing one which in this case
can still contain a only-digits code, because it was generated in the
before-block.
2018-12-02 21:16:24 +01:00
Thor77 8f88362264 Use code with only alphas for unqiue-validation
Because in some ocassions a tournament code with only digits is
generated which would fail this test because shoulda is not able to
convert it to an uppercase version to test for case-sensitivity of the
validation.
2018-12-02 13:54:27 +01:00
Daniel Schädler dd2f66f49d Score is now MatchScore & Score Attribute is Points Attribute 2018-11-30 15:10:33 +01:00
Thor77 e763f14719 Add ScoresController and their specs 2018-11-30 14:42:12 +01:00
Daniel Schädler 68f9b3b2b3 Change Score to MatchScore & MatchScore score attribute to points
This is done to improve the naming and therefore make things easier to understand.
2018-11-30 14:15:48 +01:00
Daniel Schädler 7ba1f98fb4 Implements Adding Tournaments to Database 2018-11-29 11:58:27 +01:00
Daniel Schädler 26bcc3dc88 Implement Adding Playoffs to a tournament 2018-11-29 11:10:15 +01:00
Daniel Schädler 7f243b06a2 Implement Utils Class 2018-11-29 11:03:44 +01:00