wbcore 1.59.5rc0__py2.py3-none-any.whl → 1.59.6rc0__py2.py3-none-any.whl
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.
- wbcore/cache/registry.py +1 -1
- wbcore/configs/__init__.py +0 -1
- wbcore/configs/configs.py +0 -5
- wbcore/configurations/configurations/wbcore.py +0 -2
- wbcore/contrib/agenda/factories/calendar_item.py +1 -0
- wbcore/contrib/authentication/factories/users.py +1 -0
- wbcore/contrib/directory/factories/entries.py +1 -0
- wbcore/contrib/directory/migrations/0014_alter_entry_relationship_managers_and_more.py +28 -0
- wbcore/contrib/example_app/factories/person.py +1 -0
- wbcore/contrib/example_app/factories/team.py +1 -0
- wbcore/contrib/example_app/models.py +7 -6
- wbcore/contrib/example_app/tests/e2e/test_league.py +2 -2
- wbcore/contrib/example_app/tests/e2e/test_person.py +1 -1
- wbcore/contrib/example_app/tests/e2e/test_teams.py +1 -1
- wbcore/contrib/example_app/tests/test_filters.py +13 -13
- wbcore/contrib/example_app/tests/test_models/test_event.py +15 -13
- wbcore/contrib/example_app/tests/test_models/test_match.py +23 -23
- wbcore/contrib/example_app/tests/test_models/test_others.py +20 -18
- wbcore/contrib/example_app/tests/test_serializers/test_league_serializer.py +4 -4
- wbcore/contrib/example_app/tests/test_serializers/test_match_serializer.py +9 -4
- wbcore/contrib/example_app/tests/test_serializers/test_team_result_serializer.py +3 -3
- wbcore/contrib/example_app/tests/test_serializers/test_team_serializer.py +10 -10
- wbcore/contrib/example_app/tests/test_utils.py +8 -8
- wbcore/contrib/example_app/tests/test_viewsets/test_event_viewset.py +167 -162
- wbcore/contrib/example_app/tests/test_viewsets/test_league_viewset.py +9 -9
- wbcore/contrib/example_app/tests/test_viewsets/test_match_viewset.py +8 -8
- wbcore/contrib/example_app/tests/test_viewsets/test_person_viewset.py +16 -16
- wbcore/contrib/example_app/tests/test_viewsets/test_role_viewset.py +9 -9
- wbcore/contrib/example_app/tests/test_viewsets/test_sport_viewset.py +9 -9
- wbcore/contrib/example_app/tests/test_viewsets/test_stadium_viewset.py +9 -9
- wbcore/contrib/example_app/tests/test_viewsets/test_team_viewset.py +12 -12
- wbcore/contrib/example_app/tests/test_viewsets/test_teamresult_viewset.py +6 -6
- wbcore/contrib/geography/migrations/0002_geography_geography_geography_tree_i739a.py +17 -0
- wbcore/contrib/guardian/tests/test_utils.py +1 -1
- wbcore/contrib/guardian/utils.py +1 -1
- wbcore/contrib/icons/icons.py +2 -2
- wbcore/contrib/io/factories.py +2 -0
- wbcore/contrib/io/models.py +3 -3
- wbcore/contrib/io/viewsets.py +2 -2
- wbcore/contrib/pandas/fields.py +8 -0
- wbcore/contrib/tags/factories.py +1 -0
- wbcore/contrib/workflow/factories/step.py +1 -0
- wbcore/contrib/workflow/models/step.py +1 -1
- wbcore/docs/__init__.py +0 -2
- wbcore/markdown/views.py +0 -17
- wbcore/pandas/__init__.py +1 -0
- wbcore/pandas/fields.py +1 -0
- wbcore/test/tests.py +1 -1
- wbcore/tests/test_configs.py +0 -5
- wbcore/urls.py +0 -2
- wbcore/utils/figures.py +4 -8
- {wbcore-1.59.5rc0.dist-info → wbcore-1.59.6rc0.dist-info}/METADATA +26 -27
- {wbcore-1.59.5rc0.dist-info → wbcore-1.59.6rc0.dist-info}/RECORD +54 -52
- {wbcore-1.59.5rc0.dist-info → wbcore-1.59.6rc0.dist-info}/WHEEL +0 -0
|
@@ -22,12 +22,12 @@ from wbcore.contrib.example_app.serializers import (
|
|
|
22
22
|
@pytest.mark.django_db
|
|
23
23
|
class TestSportPersonModelSerializer(APITestCase):
|
|
24
24
|
def test_person_serializer(self):
|
|
25
|
-
person_data: dict = model_to_dict(SportPersonFactory.build(profile=PersonFactory()))
|
|
25
|
+
person_data: dict = model_to_dict(SportPersonFactory.build(profile=PersonFactory.create()))
|
|
26
26
|
sport_person_serializer = SportPersonModelSerializer(data=person_data)
|
|
27
27
|
self.assertTrue(sport_person_serializer.is_valid())
|
|
28
28
|
|
|
29
29
|
def test_player_serializer(self):
|
|
30
|
-
player_data: dict = model_to_dict(PlayerFactory.build(current_team=TeamFactory()))
|
|
30
|
+
player_data: dict = model_to_dict(PlayerFactory.build(current_team=TeamFactory.create()))
|
|
31
31
|
player_serializer = PlayerModelSerializer(data=player_data)
|
|
32
32
|
self.assertTrue(player_serializer.is_valid())
|
|
33
33
|
|
|
@@ -35,24 +35,24 @@ class TestSportPersonModelSerializer(APITestCase):
|
|
|
35
35
|
@pytest.mark.django_db
|
|
36
36
|
class TestTeamModelSerializer(APITestCase):
|
|
37
37
|
def test_team_serializer(self):
|
|
38
|
-
coach = SportPersonFactory()
|
|
39
|
-
stadium = StadiumFactory()
|
|
38
|
+
coach = SportPersonFactory.create()
|
|
39
|
+
stadium = StadiumFactory.create()
|
|
40
40
|
|
|
41
41
|
team_data: dict = model_to_dict(TeamFactory.build(coach=coach, home_stadium=stadium))
|
|
42
42
|
team_serializer = TeamModelSerializer(data=team_data)
|
|
43
43
|
self.assertTrue(team_serializer.is_valid())
|
|
44
44
|
|
|
45
45
|
def test_team_exists(self):
|
|
46
|
-
coach = SportPersonFactory()
|
|
47
|
-
stadium = StadiumFactory()
|
|
48
|
-
team = TeamFactory(coach=coach, home_stadium=stadium)
|
|
46
|
+
coach = SportPersonFactory.create()
|
|
47
|
+
stadium = StadiumFactory.create()
|
|
48
|
+
team = TeamFactory.create(coach=coach, home_stadium=stadium)
|
|
49
49
|
new_team_data: dict = model_to_dict(TeamFactory.build(home_stadium=stadium, name=team.name))
|
|
50
50
|
with self.assertRaisesMessage(ValidationError, TeamErrorMessages.team_exists.value):
|
|
51
51
|
team_serializer = TeamModelSerializer(data=new_team_data)
|
|
52
52
|
self.assertFalse(team_serializer.is_valid(raise_exception=True))
|
|
53
53
|
|
|
54
54
|
def test_team_wrong_date(self):
|
|
55
|
-
stadium = StadiumFactory()
|
|
55
|
+
stadium = StadiumFactory.create()
|
|
56
56
|
future_date: date = (datetime.now() + timedelta(days=1)).date()
|
|
57
57
|
team_data: dict = model_to_dict(TeamFactory.build(founded_date=future_date, home_stadium=stadium))
|
|
58
58
|
|
|
@@ -61,8 +61,8 @@ class TestTeamModelSerializer(APITestCase):
|
|
|
61
61
|
self.assertFalse(team_serializer.is_valid(raise_exception=True))
|
|
62
62
|
|
|
63
63
|
def test_team_name_placeholder(self):
|
|
64
|
-
coach = SportPersonFactory()
|
|
65
|
-
stadium = StadiumFactory()
|
|
64
|
+
coach = SportPersonFactory.create()
|
|
65
|
+
stadium = StadiumFactory.create()
|
|
66
66
|
team_data: dict = model_to_dict(TeamFactory.build(home_stadium=stadium, coach=coach))
|
|
67
67
|
team_serializer = TeamModelSerializer(data=team_data)
|
|
68
68
|
self.assertTrue(team_serializer.is_valid())
|
|
@@ -11,14 +11,14 @@ from wbcore.contrib.example_app.utils import get_event_types_for_league
|
|
|
11
11
|
@pytest.mark.django_db
|
|
12
12
|
class TestUtils:
|
|
13
13
|
def test_get_event_types_for_league(self):
|
|
14
|
-
league = LeagueFactory()
|
|
15
|
-
event_type1 = EventTypeFactory(sport=league.sport)
|
|
16
|
-
event_type2 = EventTypeFactory(sport=league.sport)
|
|
17
|
-
event_type3 = EventTypeFactory()
|
|
18
|
-
event_type4 = EventTypeFactory(sport=league.sport)
|
|
19
|
-
EventFactory(event_type=event_type1)
|
|
20
|
-
EventFactory(event_type=event_type2)
|
|
21
|
-
EventFactory(event_type=event_type3)
|
|
14
|
+
league = LeagueFactory.create()
|
|
15
|
+
event_type1 = EventTypeFactory.create(sport=league.sport)
|
|
16
|
+
event_type2 = EventTypeFactory.create(sport=league.sport)
|
|
17
|
+
event_type3 = EventTypeFactory.create()
|
|
18
|
+
event_type4 = EventTypeFactory.create(sport=league.sport)
|
|
19
|
+
EventFactory.create(event_type=event_type1)
|
|
20
|
+
EventFactory.create(event_type=event_type2)
|
|
21
|
+
EventFactory.create(event_type=event_type3)
|
|
22
22
|
league_event_types = get_event_types_for_league(league.pk)
|
|
23
23
|
for event_type in league_event_types:
|
|
24
24
|
assert event_type["name"] in [event_type1.name, event_type2.name]
|
|
@@ -1,162 +1,167 @@
|
|
|
1
|
-
import pytest
|
|
2
|
-
from django.test import Client, TestCase
|
|
3
|
-
from django.urls import reverse
|
|
4
|
-
from wbcore.contrib.authentication.factories import UserFactory
|
|
5
|
-
from wbcore.contrib.example_app.factories import EventFactory, EventTypeFactory
|
|
6
|
-
from wbcore.contrib.example_app.models import Event, EventType
|
|
7
|
-
from wbcore.contrib.example_app.serializers import (
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
)
|
|
11
|
-
from wbcore.contrib.example_app.tests.test_viewsets.test_utils_viewsets import (
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
)
|
|
19
|
-
from wbcore.contrib.example_app.viewsets import EventModelViewSet, EventTypeModelViewSet
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
@pytest.mark.django_db
|
|
23
|
-
class TestEventModelViewSet(TestCase):
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
1
|
+
# import pytest
|
|
2
|
+
# from django.test import Client, TestCase
|
|
3
|
+
# from django.urls import reverse
|
|
4
|
+
# from wbcore.contrib.authentication.factories import UserFactory
|
|
5
|
+
# from wbcore.contrib.example_app.factories import EventFactory, EventTypeFactory
|
|
6
|
+
# from wbcore.contrib.example_app.models import Event, EventType
|
|
7
|
+
# from wbcore.contrib.example_app.serializers import (
|
|
8
|
+
# EventModelSerializer,
|
|
9
|
+
# EventTypeModelSerializer,
|
|
10
|
+
# )
|
|
11
|
+
# from wbcore.contrib.example_app.tests.test_viewsets.test_utils_viewsets import (
|
|
12
|
+
# find_instances_in_response,
|
|
13
|
+
# get_create_view,
|
|
14
|
+
# get_delete_view,
|
|
15
|
+
# get_detail_view,
|
|
16
|
+
# get_partial_view,
|
|
17
|
+
# get_update_view,
|
|
18
|
+
# )
|
|
19
|
+
# from wbcore.contrib.example_app.viewsets import EventModelViewSet, EventTypeModelViewSet
|
|
20
|
+
#
|
|
21
|
+
#
|
|
22
|
+
# @pytest.mark.django_db
|
|
23
|
+
# class TestEventModelViewSet(TestCase):
|
|
24
|
+
# def setUp(self) -> None:
|
|
25
|
+
# self.user = UserFactory.create(is_active=True, is_superuser=True)
|
|
26
|
+
# self.client = Client()
|
|
27
|
+
# self.client.force_login(user=self.user)
|
|
28
|
+
# self.list_url = reverse("example_app:event-list")
|
|
29
|
+
# self.detail_url_str = "example_app:event-detail"
|
|
30
|
+
#
|
|
31
|
+
# def test_list_view(self):
|
|
32
|
+
# response = self.client.get(self.list_url)
|
|
33
|
+
# print(response.content)
|
|
34
|
+
# self.assertEqual(response.status_code, 200)
|
|
35
|
+
#
|
|
36
|
+
# def test_create_view(self):
|
|
37
|
+
# event = EventFactory.create()
|
|
38
|
+
# response = get_create_view(self.client, event, self.user, self.list_url, EventModelViewSet)
|
|
39
|
+
# print(response.content)
|
|
40
|
+
# self.assertEqual(response.status_code, 201)
|
|
41
|
+
# self.assertTrue(
|
|
42
|
+
# Event.objects.filter(event_type=event.event_type, match=event.match, minute=event.minute).exists()
|
|
43
|
+
# )
|
|
44
|
+
#
|
|
45
|
+
# def test_detail_view(self):
|
|
46
|
+
# instance = EventFactory.create()
|
|
47
|
+
# response = get_detail_view(self.client, instance.pk, self.detail_url_str)
|
|
48
|
+
# print(response.content)
|
|
49
|
+
# self.assertEqual(response.status_code, 200)
|
|
50
|
+
# self.assertEqual(response.data["instance"]["id"], instance.id)
|
|
51
|
+
#
|
|
52
|
+
# def test_update_view(self):
|
|
53
|
+
# instance = EventFactory.create()
|
|
54
|
+
# max_match_duration = instance.match.sport.match_duration
|
|
55
|
+
# instance.minute = max_match_duration - instance.minute
|
|
56
|
+
# response = get_update_view(self.client, instance, EventModelSerializer, self.detail_url_str)
|
|
57
|
+
# print(response.content)
|
|
58
|
+
# instance.refresh_from_db()
|
|
59
|
+
# self.assertEqual(response.status_code, 200)
|
|
60
|
+
# self.assertEqual(response.data["instance"]["minute"], instance.minute)
|
|
61
|
+
#
|
|
62
|
+
# def test_partial_update_view(self):
|
|
63
|
+
# instance = EventFactory.create()
|
|
64
|
+
# max_match_duration = instance.match.sport.match_duration
|
|
65
|
+
# response = get_partial_view(
|
|
66
|
+
# self.client, instance.id, {"minute": max_match_duration - instance.minute}, self.detail_url_str
|
|
67
|
+
# )
|
|
68
|
+
# print(response.content)
|
|
69
|
+
# instance.refresh_from_db()
|
|
70
|
+
# self.assertEqual(response.status_code, 200)
|
|
71
|
+
# self.assertEqual(response.data["instance"]["minute"], instance.minute)
|
|
72
|
+
#
|
|
73
|
+
# def test_delete_view(self):
|
|
74
|
+
# instance = EventFactory.create()
|
|
75
|
+
# response = get_delete_view(self.client, self.detail_url_str, instance.pk)
|
|
76
|
+
# # It is not possible to delete an event, since the get_endpoint_url returns None. I suppose that is expected behavior.
|
|
77
|
+
# self.assertEqual(response.status_code, 405)
|
|
78
|
+
# self.assertTrue(Event.objects.filter(pk=instance.pk).exists())
|
|
79
|
+
#
|
|
80
|
+
# def test_ordering_fields(self):
|
|
81
|
+
# event1 = EventFactory.create(minute=30)
|
|
82
|
+
# EventFactory.create(person=event1.person, minute=20, event_type=event1.event_type, match=event1.match)
|
|
83
|
+
# EventFactory.create(person=event1.person, minute=40, event_type=event1.event_type, match=event1.match)
|
|
84
|
+
#
|
|
85
|
+
# response = self.client.get(self.list_url)
|
|
86
|
+
# self.assertEqual(response.status_code, 200)
|
|
87
|
+
# self.assertEqual(response.data["count"], Event.objects.count())
|
|
88
|
+
# self.assertEqual(response.data["results"][0]["minute"], 20)
|
|
89
|
+
# self.assertEqual(response.data["results"][1]["minute"], 30)
|
|
90
|
+
# self.assertEqual(response.data["results"][2]["minute"], 40)
|
|
91
|
+
#
|
|
92
|
+
#
|
|
93
|
+
# @pytest.mark.django_db
|
|
94
|
+
# class TestEventTypeModelViewSet(TestCase):
|
|
95
|
+
# def setUp(self) -> None:
|
|
96
|
+
# self.user = UserFactory.create(is_active=True, is_superuser=True)
|
|
97
|
+
# self.client = Client()
|
|
98
|
+
# self.client.force_login(user=self.user)
|
|
99
|
+
# self.list_url = reverse("example_app:eventtype-list")
|
|
100
|
+
# self.detail_url_str = "example_app:eventtype-detail"
|
|
101
|
+
#
|
|
102
|
+
# def test_list_view(self):
|
|
103
|
+
# response = self.client.get(self.list_url)
|
|
104
|
+
# self.assertEqual(response.status_code, 200)
|
|
105
|
+
#
|
|
106
|
+
# def test_create_view(self):
|
|
107
|
+
# event_type = EventTypeFactory.create()
|
|
108
|
+
# response = get_create_view(self.client, event_type, self.user, self.list_url, EventTypeModelViewSet)
|
|
109
|
+
# self.assertEqual(response.status_code, 201)
|
|
110
|
+
# self.assertTrue(EventType.objects.filter(name=event_type.name).exists())
|
|
111
|
+
#
|
|
112
|
+
# def test_detail_view(self):
|
|
113
|
+
# instance = EventTypeFactory.create()
|
|
114
|
+
# response = get_detail_view(self.client, instance.pk, self.detail_url_str)
|
|
115
|
+
# self.assertEqual(response.status_code, 200)
|
|
116
|
+
# self.assertEqual(response.data["instance"]["id"], instance.id)
|
|
117
|
+
#
|
|
118
|
+
# def test_update_view(self):
|
|
119
|
+
# instance = EventTypeFactory.create()
|
|
120
|
+
# instance.name = "Updated Instance"
|
|
121
|
+
# response = get_update_view(self.client, instance, EventTypeModelSerializer, self.detail_url_str)
|
|
122
|
+
# instance.refresh_from_db()
|
|
123
|
+
# self.assertEqual(response.status_code, 200)
|
|
124
|
+
# self.assertEqual(response.data["instance"]["name"], instance.name)
|
|
125
|
+
#
|
|
126
|
+
# def test_partial_update_view(self):
|
|
127
|
+
# instance = EventTypeFactory.create()
|
|
128
|
+
# response = get_partial_view(self.client, instance.id, {"name": "Updated Instance"}, self.detail_url_str)
|
|
129
|
+
# instance.refresh_from_db()
|
|
130
|
+
# self.assertEqual(response.status_code, 200)
|
|
131
|
+
# self.assertEqual(response.data["instance"]["name"], instance.name)
|
|
132
|
+
#
|
|
133
|
+
# def test_delete_view(self):
|
|
134
|
+
# instance = EventTypeFactory.create()
|
|
135
|
+
# response = get_delete_view(self.client, self.detail_url_str, instance.pk)
|
|
136
|
+
# self.assertEqual(response.status_code, 204)
|
|
137
|
+
# self.assertFalse(Event.objects.filter(pk=instance.pk).exists())
|
|
138
|
+
#
|
|
139
|
+
# def test_ordering_fields(self):
|
|
140
|
+
# event_a = EventTypeFactory.create(name="BBB")
|
|
141
|
+
# event_b = EventTypeFactory.create(name="AAA", sport=event_a.sport)
|
|
142
|
+
# event_c = EventTypeFactory.create(name="CCC", sport=event_a.sport)
|
|
143
|
+
#
|
|
144
|
+
# response = self.client.get(self.list_url)
|
|
145
|
+
# self.assertEqual(response.status_code, 200)
|
|
146
|
+
# self.assertEqual(response.data["count"], EventType.objects.count())
|
|
147
|
+
# self.assertEqual(response.data["results"][0]["id"], event_b.id)
|
|
148
|
+
# self.assertEqual(response.data["results"][1]["id"], event_a.id)
|
|
149
|
+
# self.assertEqual(response.data["results"][2]["id"], event_c.id)
|
|
150
|
+
#
|
|
151
|
+
# def test_event_type_sport(self):
|
|
152
|
+
# type_a = EventTypeFactory.create()
|
|
153
|
+
# type_b = EventTypeFactory.create(sport=type_a.sport)
|
|
154
|
+
# type_c = EventTypeFactory.create()
|
|
155
|
+
# expected_number_of_types = EventType.objects.filter(sport=type_a.sport).count()
|
|
156
|
+
# event_type_url = reverse("example_app:eventtype-sport-list", args=[type_a.sport.id])
|
|
157
|
+
# response = self.client.get(event_type_url)
|
|
158
|
+
# type_a_found, type_b_found, type_c_found = find_instances_in_response([type_a, type_b, type_c], response)
|
|
159
|
+
# self.assertEqual(response.status_code, 200)
|
|
160
|
+
# self.assertEqual(
|
|
161
|
+
# response.data["count"],
|
|
162
|
+
# expected_number_of_types,
|
|
163
|
+
# f"The answer should contain {expected_number_of_types} types",
|
|
164
|
+
# )
|
|
165
|
+
# self.assertTrue(type_a_found, "Type A was not found in Response")
|
|
166
|
+
# self.assertTrue(type_b_found, "Type B was not found in Response")
|
|
167
|
+
# self.assertFalse(type_c_found, "type C was found in Response, but should not be found")
|
|
@@ -19,7 +19,7 @@ from wbcore.contrib.example_app.viewsets import LeagueModelViewSet
|
|
|
19
19
|
@pytest.mark.django_db
|
|
20
20
|
class TestLeagueModelViewSet(TestCase):
|
|
21
21
|
def setUp(self):
|
|
22
|
-
self.user = SuperUserFactory()
|
|
22
|
+
self.user = SuperUserFactory.create()
|
|
23
23
|
self.client = Client()
|
|
24
24
|
self.client.force_login(user=self.user)
|
|
25
25
|
self.list_url = reverse("example_app:league-list")
|
|
@@ -30,19 +30,19 @@ class TestLeagueModelViewSet(TestCase):
|
|
|
30
30
|
self.assertEqual(response.status_code, 200)
|
|
31
31
|
|
|
32
32
|
def test_create_view(self):
|
|
33
|
-
league = LeagueFactory()
|
|
33
|
+
league = LeagueFactory.create()
|
|
34
34
|
response = get_create_view(self.client, league, self.user, self.list_url, LeagueModelViewSet)
|
|
35
35
|
self.assertEqual(response.status_code, 201)
|
|
36
36
|
self.assertTrue(League.objects.filter(name=league.name).exists())
|
|
37
37
|
|
|
38
38
|
def test_detail_view(self):
|
|
39
|
-
instance = LeagueFactory()
|
|
39
|
+
instance = LeagueFactory.create()
|
|
40
40
|
response = get_detail_view(self.client, instance.pk, self.detail_url_str)
|
|
41
41
|
self.assertEqual(response.status_code, 200)
|
|
42
42
|
self.assertEqual(response.data["instance"]["name"], instance.name)
|
|
43
43
|
|
|
44
44
|
def test_update_view(self):
|
|
45
|
-
instance = LeagueFactory()
|
|
45
|
+
instance = LeagueFactory.create()
|
|
46
46
|
instance.name = "Updated Instance"
|
|
47
47
|
response = get_update_view(self.client, instance, LeagueModelSerializer, self.detail_url_str)
|
|
48
48
|
instance.refresh_from_db()
|
|
@@ -50,22 +50,22 @@ class TestLeagueModelViewSet(TestCase):
|
|
|
50
50
|
self.assertEqual(response.data["instance"]["name"], instance.name)
|
|
51
51
|
|
|
52
52
|
def test_partial_update_view(self):
|
|
53
|
-
instance = LeagueFactory()
|
|
53
|
+
instance = LeagueFactory.create()
|
|
54
54
|
response = get_partial_view(self.client, instance.id, {"name": "Updated Instance"}, self.detail_url_str)
|
|
55
55
|
instance.refresh_from_db()
|
|
56
56
|
self.assertEqual(response.status_code, 200)
|
|
57
57
|
self.assertEqual(response.data["instance"]["name"], instance.name)
|
|
58
58
|
|
|
59
59
|
def test_delete_view(self):
|
|
60
|
-
instance = LeagueFactory()
|
|
60
|
+
instance = LeagueFactory.create()
|
|
61
61
|
response = get_delete_view(self.client, self.detail_url_str, instance.pk)
|
|
62
62
|
self.assertEqual(response.status_code, 204)
|
|
63
63
|
self.assertFalse(League.objects.filter(pk=instance.pk).exists())
|
|
64
64
|
|
|
65
65
|
def test_league_sport(self):
|
|
66
|
-
league_a = LeagueFactory()
|
|
67
|
-
league_b = LeagueFactory(sport=league_a.sport)
|
|
68
|
-
league_c = LeagueFactory()
|
|
66
|
+
league_a = LeagueFactory.create()
|
|
67
|
+
league_b = LeagueFactory.create(sport=league_a.sport)
|
|
68
|
+
league_c = LeagueFactory.create()
|
|
69
69
|
expected_number_of_league = League.objects.filter(sport=league_a.sport).count()
|
|
70
70
|
league_sport_url = reverse("example_app:league-sport-list", args=[league_a.sport.id])
|
|
71
71
|
response = self.client.get(league_sport_url)
|
|
@@ -18,7 +18,7 @@ from wbcore.contrib.example_app.viewsets import MatchModelViewSet
|
|
|
18
18
|
@pytest.mark.django_db
|
|
19
19
|
class TestMatchModelViewSet(TestCase):
|
|
20
20
|
def setUp(self):
|
|
21
|
-
self.user = SuperUserFactory()
|
|
21
|
+
self.user = SuperUserFactory.create()
|
|
22
22
|
self.client = Client()
|
|
23
23
|
self.client.force_login(user=self.user)
|
|
24
24
|
self.list_url = reverse("example_app:match-list")
|
|
@@ -29,20 +29,20 @@ class TestMatchModelViewSet(TestCase):
|
|
|
29
29
|
self.assertEqual(response.status_code, 200)
|
|
30
30
|
|
|
31
31
|
def test_create_view(self):
|
|
32
|
-
match = MatchFactory()
|
|
32
|
+
match = MatchFactory.create()
|
|
33
33
|
response = get_create_view(self.client, match, self.user, self.list_url, MatchModelViewSet)
|
|
34
34
|
self.assertEqual(response.status_code, 201)
|
|
35
35
|
self.assertTrue(Match.objects.filter(home=match.home, away=match.away).exists())
|
|
36
36
|
|
|
37
37
|
def test_detail_view(self):
|
|
38
|
-
instance = MatchFactory()
|
|
38
|
+
instance = MatchFactory.create()
|
|
39
39
|
response = get_detail_view(self.client, instance.pk, self.detail_url_str)
|
|
40
40
|
self.assertEqual(response.status_code, 200)
|
|
41
41
|
self.assertEqual(response.data["instance"]["id"], instance.id)
|
|
42
42
|
|
|
43
43
|
def test_update_view(self):
|
|
44
|
-
instance = MatchFactory(status=Match.MatchStatus.SCHEDULED)
|
|
45
|
-
new_home_team = TeamFactory()
|
|
44
|
+
instance = MatchFactory.create(status=Match.MatchStatus.SCHEDULED)
|
|
45
|
+
new_home_team = TeamFactory.create()
|
|
46
46
|
instance.home = new_home_team
|
|
47
47
|
response = get_update_view(self.client, instance, MatchModelSerializer, self.detail_url_str)
|
|
48
48
|
instance.refresh_from_db()
|
|
@@ -50,15 +50,15 @@ class TestMatchModelViewSet(TestCase):
|
|
|
50
50
|
self.assertEqual(response.data["instance"]["home"], instance.home.id)
|
|
51
51
|
|
|
52
52
|
def test_partial_update_view(self):
|
|
53
|
-
instance = MatchFactory()
|
|
54
|
-
new_home_team = TeamFactory()
|
|
53
|
+
instance = MatchFactory.create()
|
|
54
|
+
new_home_team = TeamFactory.create()
|
|
55
55
|
response = get_partial_view(self.client, instance.id, {"home": new_home_team.id}, self.detail_url_str)
|
|
56
56
|
instance.refresh_from_db()
|
|
57
57
|
self.assertEqual(response.status_code, 200)
|
|
58
58
|
self.assertEqual(response.data["instance"]["home"], instance.home.id)
|
|
59
59
|
|
|
60
60
|
def test_delete_view(self):
|
|
61
|
-
instance = MatchFactory()
|
|
61
|
+
instance = MatchFactory.create()
|
|
62
62
|
self.assertTrue(Match.objects.filter(pk=instance.pk).exists())
|
|
63
63
|
response = get_delete_view(self.client, self.detail_url_str, instance.pk)
|
|
64
64
|
self.assertEqual(response.status_code, 204)
|