rating-chgk-v2 1.0.0 → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +5 -0
  3. data/lib/rating_chgk_v2/endpoints/base_endpoint.rb +3 -2
  4. data/lib/rating_chgk_v2/request.rb +0 -1
  5. data/lib/rating_chgk_v2/version.rb +1 -1
  6. data/lib/rating_chgk_v2.rb +1 -1
  7. data/rating-chgk-v2.gemspec +0 -2
  8. metadata +4 -91
  9. data/spec/lib/rating_chgk_v2/collections/base_collection_spec.rb +0 -53
  10. data/spec/lib/rating_chgk_v2/collections/countries_collection_spec.rb +0 -5
  11. data/spec/lib/rating_chgk_v2/collections/player_seasons_collection_spec.rb +0 -5
  12. data/spec/lib/rating_chgk_v2/collections/player_tournaments_collection_spec.rb +0 -5
  13. data/spec/lib/rating_chgk_v2/collections/players_collection_spec.rb +0 -5
  14. data/spec/lib/rating_chgk_v2/collections/regions_collection_spec.rb +0 -5
  15. data/spec/lib/rating_chgk_v2/collections/releases_collection_spec.rb +0 -5
  16. data/spec/lib/rating_chgk_v2/collections/seasons_collection_spec.rb +0 -5
  17. data/spec/lib/rating_chgk_v2/collections/teams_collection_spec.rb +0 -5
  18. data/spec/lib/rating_chgk_v2/collections/tournaments_collection_spec.rb +0 -5
  19. data/spec/lib/rating_chgk_v2/collections/towns_collection_spec.rb +0 -5
  20. data/spec/lib/rating_chgk_v2/collections/venue_types_collection_spec.rb +0 -5
  21. data/spec/lib/rating_chgk_v2/collections/venues_collection_spec.rb +0 -5
  22. data/spec/lib/rating_chgk_v2/connection_spec.rb +0 -22
  23. data/spec/lib/rating_chgk_v2/endpoints/base_endpoint_spec.rb +0 -15
  24. data/spec/lib/rating_chgk_v2/error_spec.rb +0 -11
  25. data/spec/lib/rating_chgk_v2/models/country_model_spec.rb +0 -30
  26. data/spec/lib/rating_chgk_v2/models/player_model_spec.rb +0 -59
  27. data/spec/lib/rating_chgk_v2/models/season_model_spec.rb +0 -36
  28. data/spec/lib/rating_chgk_v2/models/team_model_spec.rb +0 -35
  29. data/spec/lib/rating_chgk_v2/models/tournament_model_spec.rb +0 -38
  30. data/spec/lib/rating_chgk_v2/models/venue_model_spec.rb +0 -30
  31. data/spec/lib/rating_chgk_v2/rest/authentication_token_spec.rb +0 -19
  32. data/spec/lib/rating_chgk_v2/rest/countries_spec.rb +0 -94
  33. data/spec/lib/rating_chgk_v2/rest/players_spec.rb +0 -126
  34. data/spec/lib/rating_chgk_v2/rest/regions_spec.rb +0 -37
  35. data/spec/lib/rating_chgk_v2/rest/releases_spec.rb +0 -34
  36. data/spec/lib/rating_chgk_v2/rest/seasons_spec.rb +0 -71
  37. data/spec/lib/rating_chgk_v2/rest/teams_spec.rb +0 -66
  38. data/spec/lib/rating_chgk_v2/rest/tournament_flags_spec.rb +0 -27
  39. data/spec/lib/rating_chgk_v2/rest/tournament_synch_appeals_spec.rb +0 -22
  40. data/spec/lib/rating_chgk_v2/rest/tournament_synch_controversials_spec.rb +0 -20
  41. data/spec/lib/rating_chgk_v2/rest/tournament_synch_requests_spec.rb +0 -20
  42. data/spec/lib/rating_chgk_v2/rest/tournament_types_spec.rb +0 -23
  43. data/spec/lib/rating_chgk_v2/rest/tournaments_spec.rb +0 -89
  44. data/spec/lib/rating_chgk_v2/rest/towns_spec.rb +0 -35
  45. data/spec/lib/rating_chgk_v2/rest/venue_types_spec.rb +0 -46
  46. data/spec/lib/rating_chgk_v2/rest/venues_spec.rb +0 -71
  47. data/spec/lib/rating_chgk_v2_spec.rb +0 -9
  48. data/spec/spec_helper.rb +0 -37
  49. data/spec/support/shared/paginated.rb +0 -41
  50. data/spec/support/test_client.rb +0 -7
  51. data/spec/support/vcr.rb +0 -15
@@ -1,94 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- RSpec.describe RatingChgkV2::Rest::Countries do
4
- describe '#countries' do
5
- it 'returns a collection of countries' do
6
- countries = VCR.use_cassette('countries/all_countries') do
7
- test_client.countries
8
- end
9
-
10
- expect(countries[1].name).to eq('Австралия')
11
- expect(countries[1].id).to eq(2)
12
- end
13
-
14
- it 'returns a collection of countries with params' do
15
- countries = VCR.use_cassette('countries/all_countries_params') do
16
- test_client.countries itemsPerPage: 2, name: 'Бе'
17
- end
18
-
19
- expect(countries.items.size).to eq(2)
20
- expect(countries.first.name).to eq('Беларусь')
21
- expect(countries.first.id).to eq(5)
22
- end
23
- end
24
-
25
- describe '#create_country' do
26
- before { RatingChgkV2.reset_client! }
27
-
28
- after { RatingChgkV2.reset_client! }
29
-
30
- it 'raises an error when the token is invalid' do
31
- custom_client = RatingChgkV2.client token: 'fake_token'
32
-
33
- expect do
34
- VCR.use_cassette('countries/create_country_incorrect_token') do
35
- custom_client.create_country name: 'test'
36
- end
37
- end.to raise_error(RatingChgkV2::Error::Unauthorized)
38
- end
39
-
40
- it 'creates a country' do
41
- stub_request(:post, 'https://api.rating.chgk.net/countries').
42
- with(body: {name: 'Темерия'}).
43
- to_return(
44
- status: 200,
45
- body: '{"id":0,"name":"Темерия"}',
46
- headers: {}
47
- )
48
-
49
- country = test_client.create_country name: 'Темерия'
50
- expect(country.name).to eq('Темерия')
51
- expect(country.id).to eq(0)
52
- end
53
- end
54
-
55
- specify '#update_country' do
56
- stub_request(:put, 'https://api.rating.chgk.net/countries/0').
57
- with(body: {name: 'Лирия'}).
58
- to_return(
59
- status: 200,
60
- body: '{"id":0,"name":"Лирия"}',
61
- headers: {}
62
- )
63
-
64
- country = test_client.update_country 0, name: 'Лирия'
65
- expect(country.name).to eq('Лирия')
66
- expect(country.id).to eq(0)
67
- end
68
-
69
- describe '#delete_country' do
70
- it 'raises an error when the token is invalid' do
71
- expect do
72
- VCR.use_cassette('countries/delete_country_incorrect_token') do
73
- test_client.delete_country 1
74
- end
75
- end.to raise_error(RatingChgkV2::Error::Unauthorized)
76
- end
77
-
78
- it 'deletes a country' do
79
- stub_request(:delete, 'https://api.rating.chgk.net/countries/1').to_return(status: 204, body: '', headers: {})
80
-
81
- expect(test_client.delete_country(1)).to eq('')
82
- end
83
- end
84
-
85
- specify '#country' do
86
- id = 20
87
- country = VCR.use_cassette('countries/country') do
88
- test_client.country id
89
- end
90
-
91
- expect(country.name).to eq('Нидерланды')
92
- expect(country.id).to eq(id)
93
- end
94
- end
@@ -1,126 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- RSpec.describe RatingChgkV2::Rest::Players do
4
- let(:player_id) { 1110 }
5
-
6
- specify '#player' do
7
- player = VCR.use_cassette('players/player') do
8
- test_client.player(player_id)
9
- end
10
-
11
- expect(player.id).to eq(player_id)
12
- expect(player.name).to eq('Александр')
13
- expect(player.surname).to eq('Андрианов')
14
- expect(player.patronymic).to eq('Сергеевич')
15
- end
16
-
17
- describe '#player_tournaments' do
18
- it 'returns a collection of player tournaments' do
19
- player_tournaments = VCR.use_cassette('players/player_tournaments') do
20
- test_client.player_tournaments player_id
21
- end
22
-
23
- expect(player_tournaments).to be_an_instance_of(RatingChgkV2::Collections::PlayerTournamentsCollection)
24
- tour = player_tournaments.first
25
-
26
- expect(tour.idplayer).to eq(player_id)
27
- expect(tour.idtournament).to eq(314)
28
- expect(tour.idteam).to eq(7121)
29
- end
30
-
31
- it 'returns a collection of player tournaments next page' do
32
- player_tournaments = VCR.use_cassette('players/player_tournaments_params') do
33
- test_client.player_tournaments player_id, itemsPerPage: 2
34
- end
35
-
36
- tour = player_tournaments[1]
37
-
38
- expect(tour.idplayer).to eq(player_id)
39
- expect(tour.idtournament).to eq(400)
40
- expect(tour.idteam).to eq(7456)
41
-
42
- VCR.use_cassette('players/player_tournaments_next_page') do
43
- player_tournaments.next_page!
44
- end
45
-
46
- tour = player_tournaments[0]
47
-
48
- expect(tour.idplayer).to eq(player_id)
49
- expect(tour.idtournament).to eq(314)
50
- expect(tour.idteam).to eq(7121)
51
- expect(player_tournaments.endpoint.params[:itemsPerPage]).to eq(2)
52
- end
53
- end
54
-
55
- describe '#player_seasons' do
56
- it 'returns a collection of player seasons' do
57
- player_seasons = VCR.use_cassette('players/player_seasons') do
58
- test_client.player_seasons player_id
59
- end
60
-
61
- expect(player_seasons).to be_an_instance_of(RatingChgkV2::Collections::PlayerSeasonsCollection)
62
- season = player_seasons.first
63
-
64
- expect(season.idplayer).to eq(player_id)
65
- expect(season.idseason).to eq(7)
66
- expect(season.idteam).to eq(7121)
67
- expect(season.dateAdded).to eq('2007-09-23T00:00:00+04:00')
68
- expect(season.dateRemoved).to be_nil
69
- expect(season.playerNumber).to eq(0)
70
- end
71
-
72
- it 'returns seasons by params' do
73
- player_seasons = VCR.use_cassette('players/player_seasons_params') do
74
- test_client.player_seasons player_id, itemsPerPage: 2, idseason: 8, idteam: 7456
75
- end
76
-
77
- expect(player_seasons).to be_an_instance_of(RatingChgkV2::Collections::PlayerSeasonsCollection)
78
- season = player_seasons.first
79
-
80
- expect(season.idplayer).to eq(player_id)
81
- expect(season.idseason).to eq(8)
82
- expect(season.idteam).to eq(7456)
83
- end
84
- end
85
-
86
- describe '#players' do
87
- it 'returns a collection of players' do
88
- players = VCR.use_cassette('players/all_players') do
89
- test_client.players
90
- end
91
-
92
- expect(players[0].surname).to eq('Абабилов')
93
- expect(players[0].id).to eq(1)
94
- end
95
-
96
- it 'returns next page' do
97
- players = VCR.use_cassette('players/all_players_params') do
98
- test_client.players itemsPerPage: 3, page: 2
99
- end
100
-
101
- expect(players[0].name).to eq('Артур')
102
- expect(players[0].id).to eq(12)
103
-
104
- VCR.use_cassette('players/all_players_next_page') do
105
- players.next_page!
106
- end
107
-
108
- expect(players[0].name).to eq('Олег')
109
- expect(players[0].id).to eq(15)
110
- expect(players.endpoint.params[:itemsPerPage]).to eq(3)
111
- end
112
-
113
- it 'returns previous page' do
114
- players = VCR.use_cassette('players/all_players_params') do
115
- test_client.players itemsPerPage: 3, page: 2
116
- end
117
-
118
- VCR.use_cassette('players/all_players_prev_page') do
119
- players.prev_page!
120
- end
121
-
122
- expect(players[0].surname).to eq('Абабилов')
123
- expect(players.endpoint.params[:itemsPerPage]).to eq(3)
124
- end
125
- end
126
- end
@@ -1,37 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- RSpec.describe RatingChgkV2::Rest::Regions do
4
- describe '#regions' do
5
- it 'returns a collection of regions' do
6
- regions = VCR.use_cassette('regions/all_regions') do
7
- test_client.regions
8
- end
9
-
10
- expect(regions.last.name).to eq('Воронежская область')
11
- expect(regions.last.id).to eq(30)
12
- expect(regions.last.country['name']).to eq('Россия')
13
- end
14
-
15
- it 'returns a collection of regions with params' do
16
- regions = VCR.use_cassette('regions/all_regions_params') do
17
- test_client.regions itemsPerPage: 3, country: 'Россия'
18
- end
19
-
20
- expect(regions.items.size).to eq(3)
21
- expect(regions[1].name).to eq('Адыгея')
22
- expect(regions[1].country['name']).to eq('Россия')
23
- expect(regions[1].id).to eq(2)
24
- end
25
- end
26
-
27
- specify '#region' do
28
- id = 3
29
- region = VCR.use_cassette('regions/region') do
30
- test_client.region id
31
- end
32
-
33
- expect(region.name).to eq('Акмолинская область')
34
- expect(region.country['name']).to eq('Казахстан')
35
- expect(region.id).to eq(id)
36
- end
37
- end
@@ -1,34 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- RSpec.describe RatingChgkV2::Rest::Releases do
4
- describe '#releases' do
5
- it 'returns a collection of releases' do
6
- releases = VCR.use_cassette('releases/all_releases') do
7
- test_client.releases
8
- end
9
-
10
- expect(releases.first.date).to eq('2003-07-01T00:00:00+04:00')
11
- end
12
-
13
- it 'returns a collection of releases with params' do
14
- releases = VCR.use_cassette('releases/all_releases_params') do
15
- test_client.releases itemsPerPage: 3, page: 2
16
- end
17
-
18
- expect(releases.items.size).to eq(3)
19
- expect(releases.first.realDate).to eq('2005-04-01T00:00:00+04:00')
20
- end
21
- end
22
-
23
- specify '#release' do
24
- id = 4
25
- release = VCR.use_cassette('releases/release') do
26
- test_client.release id
27
- end
28
-
29
- expect(release.lastRunRefresh).to eq('2015-02-09T15:51:22+03:00')
30
- expect(release.realDate).to eq('2005-04-01T00:00:00+04:00')
31
- expect(release.date).to eq('2005-04-01T00:00:00+04:00')
32
- expect(release.id).to eq(id)
33
- end
34
- end
@@ -1,71 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- RSpec.describe RatingChgkV2::Rest::Seasons do
4
- describe '#seasons' do
5
- it 'returns a collection of seasons' do
6
- seasons = VCR.use_cassette('seasons/all_seasons') do
7
- test_client.seasons
8
- end
9
-
10
- expect(seasons.first.dateStart).to eq('2002-09-01T00:00:00+04:00')
11
- end
12
- end
13
-
14
- specify '#season' do
15
- id = 5
16
- season = VCR.use_cassette('seasons/season') do
17
- test_client.season id
18
- end
19
-
20
- expect(season.id).to eq(id)
21
- expect(season.dateStart).to eq('1999-09-01T00:00:00+04:00')
22
- expect(season.dateEnd).to eq('2000-08-31T00:00:00+04:00')
23
- end
24
-
25
- specify '#create_season' do
26
- data = {
27
- dateStart: '2022-02-05T19:37:45.004Z',
28
- dateEnd: '2022-02-05T19:37:45.004Z'
29
- }
30
- stub_request(:post, 'https://api.rating.chgk.net/seasons').
31
- with(body: data).
32
- to_return(
33
- status: 200,
34
- body: JSON.dump(data.merge({id: 0})),
35
- headers: {}
36
- )
37
-
38
- season = test_client.create_season data
39
-
40
- expect(season.id).to eq(0)
41
- expect(season.dateStart).to eq(data[:dateStart])
42
- expect(season.dateEnd).to eq(data[:dateEnd])
43
- end
44
-
45
- specify '#update_season' do
46
- data = {
47
- dateStart: '2021-02-05T19:37:45.004Z',
48
- dateEnd: '2021-02-05T19:37:45.004Z'
49
- }
50
-
51
- stub_request(:put, 'https://api.rating.chgk.net/seasons/0').
52
- with(body: data).
53
- to_return(
54
- status: 200,
55
- body: JSON.dump(data.merge({id: 0})),
56
- headers: {}
57
- )
58
-
59
- season = test_client.update_season 0, data
60
-
61
- expect(season.id).to eq(0)
62
- expect(season.dateStart).to eq(data[:dateStart])
63
- expect(season.dateEnd).to eq(data[:dateEnd])
64
- end
65
-
66
- specify '#delete_season' do
67
- stub_request(:delete, 'https://api.rating.chgk.net/seasons/0').to_return(status: 204, body: '', headers: {})
68
-
69
- expect(test_client.delete_season(0)).to eq('')
70
- end
71
- end
@@ -1,66 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- RSpec.describe RatingChgkV2::Rest::Teams do
4
- let(:team_id) { 2 }
5
-
6
- specify '#team' do
7
- team = VCR.use_cassette('teams/team') do
8
- test_client.team(team_id)
9
- end
10
-
11
- expect(team.id).to eq(team_id)
12
- expect(team.name).to eq('Афина')
13
- expect(team.town['id']).to eq(201)
14
- end
15
-
16
- describe '#teams' do
17
- it 'returns a collection of teams' do
18
- teams = VCR.use_cassette('teams/all_teams') do
19
- test_client.teams
20
- end
21
-
22
- expect(teams[1].name).to eq('Афина')
23
- expect(teams[1].id).to eq(2)
24
- expect(teams[1].town['id']).to eq(201)
25
- end
26
-
27
- it 'returns a collection of teams with params' do
28
- teams = VCR.use_cassette('teams/all_teams_params') do
29
- test_client.teams itemsPerPage: 2, name: 'Н', page: 3
30
- end
31
-
32
- expect(teams.count).to eq(2)
33
- expect(teams[0].name).to eq('Миллениум')
34
- expect(teams[0].id).to eq(11)
35
- expect(teams[0].town['id']).to eq(282)
36
- end
37
- end
38
-
39
- describe '#team_seasons' do
40
- it 'returns seasons by params' do
41
- team_seasons = VCR.use_cassette('teams/team_seasons_params') do
42
- test_client.team_seasons team_id, idseason: 9
43
- end
44
-
45
- expect(team_seasons).to be_an_instance_of(RatingChgkV2::Collections::PlayerSeasonsCollection)
46
- season = team_seasons.first
47
-
48
- expect(season.idplayer).to eq(707)
49
- expect(season.idseason).to eq(9)
50
- expect(season.idteam).to eq(team_id)
51
- end
52
- end
53
-
54
- describe '#team_tournaments' do
55
- it 'returns a collection of team tournaments with params' do
56
- team_tournaments = VCR.use_cassette('teams/team_tournaments_params') do
57
- test_client.team_tournaments team_id, pagination: true
58
- end
59
-
60
- tour = team_tournaments[2]
61
-
62
- expect(tour.idtournament).to eq(8)
63
- expect(tour.idteam).to eq(team_id)
64
- end
65
- end
66
- end
@@ -1,27 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- RSpec.describe RatingChgkV2::Rest::TournamentFlags do
4
- let(:id) { 2 }
5
-
6
- describe '#tournament_flags' do
7
- it 'returns a collection of tournament flags' do
8
- flag = VCR.use_cassette('tournament_flags/all_tournament_flags') do
9
- test_client.tournament_flags
10
- end.first
11
-
12
- expect(flag.id).to eq(1)
13
- expect(flag.shortName).to eq('!')
14
- expect(flag.longName).to eq('Общий зачёт')
15
- end
16
- end
17
-
18
- specify '#tournament_flag' do
19
- flag = VCR.use_cassette('tournament_flags/tournament_flag') do
20
- test_client.tournament_flag id
21
- end
22
-
23
- expect(flag.id).to eq(id)
24
- expect(flag.shortName).to eq('МШ')
25
- expect(flag.longName).to eq('Младшие школьники (5-9 классы)')
26
- end
27
- end
@@ -1,22 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- RSpec.describe RatingChgkV2::Rest::TournamentSynchAppeals do
4
- let(:id) { 1000 }
5
-
6
- specify '#tournament_synch_appeal' do
7
- appeal = VCR.use_cassette('tournament_synch_appeals/tournament_synch_appeal') do
8
- test_client.tournament_synch_appeal id
9
- end
10
-
11
- expect(appeal.id).to eq(id)
12
- expect(appeal.idtournament).to eq(2225)
13
- expect(appeal.type).to eq('A')
14
- expect(appeal.issuedAt).to eq('2013-04-19T22:28:10+04:00')
15
- expect(appeal.status).to eq('D')
16
- expect(appeal.appeal).to include('Из текста вопроса следует')
17
- expect(appeal.comment).to include('В воспоминаниях фигурирует')
18
- expect(appeal.overriddenBy).to be_nil
19
- expect(appeal.questionNumber).to eq(8)
20
- expect(appeal.answer).to be_nil
21
- end
22
- end
@@ -1,20 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- RSpec.describe RatingChgkV2::Rest::TournamentSynchControversials do
4
- let(:id) { 1000 }
5
-
6
- specify '#tournament_synch_controversial' do
7
- contr = VCR.use_cassette('tournament_synch_controversial/tournament_synch_controversia') do
8
- test_client.tournament_synch_controversial id
9
- end
10
-
11
- expect(contr.id).to eq(id)
12
- expect(contr.questionNumber).to eq(26)
13
- expect(contr.answer).to eq('валяться')
14
- expect(contr.issuedAt).to eq('2012-01-31T09:26:32+04:00')
15
- expect(contr.status).to eq('D')
16
- expect(contr.comment).to eq('')
17
- expect(contr.resolvedAt).to eq('2012-01-31T15:26:32+04:00')
18
- expect(contr.appealJuryComment).to be_nil
19
- end
20
- end
@@ -1,20 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- RSpec.describe RatingChgkV2::Rest::TournamentSynchRequests do
4
- let(:id) { 1000 }
5
-
6
- specify '#tournament_synch_requests' do
7
- req = VCR.use_cassette('tournament_synch_requests/tournament_synch_request') do
8
- test_client.tournament_synch_request id
9
- end
10
-
11
- expect(req.id).to eq(id)
12
- expect(req.status).to eq('A')
13
- expect(req.venue['name']).to eq('Павлодар')
14
- expect(req.representative['name']).to eq('Айбек')
15
- expect(req.narrators.first['surname']).to eq('Логвиненко')
16
- expect(req.approximateTeamsCount).to be_nil
17
- expect(req.issuedAt).to eq('2012-09-21T10:30:14+04:00')
18
- expect(req.tournamentId).to eq(2180)
19
- end
20
- end
@@ -1,23 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- RSpec.describe RatingChgkV2::Rest::TournamentTypes do
4
- let(:id) { 3 }
5
-
6
- specify '#tournament_types' do
7
- t_type = VCR.use_cassette('tournament_types/tournament_types') do
8
- test_client.tournament_types
9
- end.first
10
-
11
- expect(t_type.id).to eq(1)
12
- expect(t_type.name).to eq('Неизвестный')
13
- end
14
-
15
- specify '#tournament_type' do
16
- t_type = VCR.use_cassette('tournament_types/tournament_type') do
17
- test_client.tournament_type id
18
- end
19
-
20
- expect(t_type.id).to eq(id)
21
- expect(t_type.name).to eq('Синхрон')
22
- end
23
- end
@@ -1,89 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- RSpec.describe RatingChgkV2::Rest::Tournaments do
4
- let(:tournament_id) { 7798 }
5
-
6
- # rubocop:disable RSpec/MultipleExpectations
7
- specify '#tournament' do
8
- tournament = VCR.use_cassette('tournaments/tournament') do
9
- test_client.tournament(tournament_id)
10
- end
11
-
12
- expect(tournament.id).to eq(tournament_id)
13
- expect(tournament.name).to eq('Игры доброй воли')
14
- expect(tournament.lastEditDate).to eq('2022-03-30T09:34:21+03:00')
15
- expect(tournament.dateStart).to eq('2022-03-13T13:00:00+03:00')
16
- expect(tournament.dateEnd).to eq('2022-03-20T13:00:00+03:00')
17
- expect(tournament.type['id']).to eq(3)
18
- expect(tournament.orgcommittee.first['id']).to eq(14_450)
19
- expect(tournament.synchData['dateRequestsAllowedTo']).to eq('2022-03-19T23:55:00+03:00')
20
- expect(tournament.mainPayment).to eq(300)
21
- expect(tournament.discountedPayment).to eq(100)
22
- expect(tournament.discountedPaymentReason).to eq('школьные команды')
23
- expect(tournament.currency).to eq('r')
24
- expect(tournament.editors.first['id']).to eq(14_450)
25
- expect(tournament.tournamentInRatingBalanced).to be(true)
26
- expect(tournament.difficultyForecast).to eq(2.5)
27
- expect(tournament.maiiAegis).to be(true)
28
- expect(tournament.maiiAegisUpdatedAt).to eq('2022-02-12T08:35:02.372430Z')
29
- expect(tournament.maiiRating).to be(true)
30
- expect(tournament.maiiRatingUpdatedAt).to eq('2022-02-12T08:35:02.372192Z')
31
- expect(tournament.questionQty['1']).to eq(9)
32
- end
33
- # rubocop:enable RSpec/MultipleExpectations
34
-
35
- describe '#tournaments' do
36
- it 'returns a collection of tournaments' do
37
- tournaments = VCR.use_cassette('tournaments/all_tournaments') do
38
- test_client.tournaments
39
- end
40
-
41
- expect(tournaments[0].name).to eq('Чемпионат Южного Кавказа')
42
- end
43
-
44
- it 'returns a collection of tournaments with params' do
45
- tournaments = VCR.use_cassette('tournaments/all_tournaments_params') do
46
- test_client.tournaments itemsPerPage: 2, page: 3
47
- end
48
-
49
- expect(tournaments.count).to eq(2)
50
- expect(tournaments[0].name).to eq('Бостонское чаепитие')
51
- end
52
- end
53
-
54
- specify '#tournament_appeals' do
55
- appeals = VCR.use_cassette('tournaments/appeals') do
56
- test_client.tournament_appeals tournament_id
57
- end
58
-
59
- expect(appeals[0].id).to eq(12_153)
60
- expect(appeals[0].questionNumber).to eq(20)
61
- end
62
-
63
- specify '#tournament_requests' do
64
- requests = VCR.use_cassette('tournaments/requests') do
65
- test_client.tournament_requests tournament_id
66
- end
67
-
68
- expect(requests[0].id).to eq(101_060)
69
- expect(requests[0].status).to eq('A')
70
- end
71
-
72
- specify '#tournament_results' do
73
- results = VCR.use_cassette('tournaments/results') do
74
- test_client.tournament_results tournament_id, includeTeamMembers: 1, includeMasksAndControversials: 1,
75
- includeTeamFlags: 1, includeRatingB: 1, town: 202
76
- end.first
77
-
78
- expect(results.team['id']).to eq(53_341)
79
- expect(results.mask).to eq('011111111111011110001000000011111110111011111')
80
- expect(results.current['name']).to eq('Парадные ватники')
81
- expect(results.rating['b']).to eq(1216)
82
- expect(results.controversials).to be_empty
83
- expect(results.flags).to be_empty
84
- expect(results.teamMembers.first['flag']).to eq('Б')
85
- expect(results.questionsTotal).to eq(31)
86
- expect(results.synchRequest['id']).to eq(103_475)
87
- expect(results.position).to eq(1)
88
- end
89
- end
@@ -1,35 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- RSpec.describe RatingChgkV2::Rest::Towns do
4
- let(:town_id) { 1 }
5
-
6
- specify '#town' do
7
- town = VCR.use_cassette('towns/town') do
8
- test_client.town(town_id)
9
- end
10
-
11
- expect(town.id).to eq(town_id)
12
- expect(town.name).to eq('Абакан')
13
- expect(town.region['name']).to eq('Хакасия')
14
- expect(town.country['name']).to eq('Россия')
15
- end
16
-
17
- describe '#towns' do
18
- it 'returns a collection of towns' do
19
- towns = VCR.use_cassette('towns/all_towns') do
20
- test_client.towns
21
- end
22
-
23
- expect(towns[0].name).to eq('Абакан')
24
- end
25
-
26
- it 'returns a collection of towns with params' do
27
- towns = VCR.use_cassette('towns/all_towns_params') do
28
- test_client.towns itemsPerPage: 2, page: 3
29
- end
30
-
31
- expect(towns.count).to eq(2)
32
- expect(towns[0].name).to eq('Анапа')
33
- end
34
- end
35
- end