|
1 | | -# from django.test import TestCase |
2 | | -# from rest_framework.test import APIRequestFactory, force_authenticate |
3 | | -# from tests.constants import USER_CREATE_DATA |
4 | | -# from users.models import CustomUser |
5 | | -# from users.views import UserList |
6 | | -# |
7 | | -# from news.models import News |
8 | | -# from news.views import NewsDetail, NewsList |
9 | | -# |
10 | | -# |
11 | | -# class NewsTestCase(TestCase): |
12 | | -# def setUp(self): |
13 | | -# self.factory = APIRequestFactory() |
14 | | -# |
15 | | -# self.user_list_view = UserList.as_view() |
16 | | -# |
17 | | -# self.news_list_view = NewsList.as_view() |
18 | | -# self.news_detail_view = NewsDetail.as_view() |
19 | | -# |
20 | | -# self.TITLE = "Test News title" |
21 | | -# self.TEXT = "Test News text" |
22 | | -# self.SHORT_TEXT = "Test News short text" |
23 | | -# self.COVER_URL = "https://example.com/" |
24 | | -# |
25 | | -# self.CREATE_DATA = { |
26 | | -# "title": self.TITLE, |
27 | | -# "text": self.TEXT, |
28 | | -# "short_text": self.SHORT_TEXT, |
29 | | -# "cover_url": self.COVER_URL, |
30 | | -# } |
31 | | -# |
32 | | -# def test_news_creation(self): |
33 | | -# user = self._user_create(is_staff=True) |
34 | | -# request = self.factory.post("news/", self.CREATE_DATA) |
35 | | -# force_authenticate(request, user=user) |
36 | | -# response = self.news_list_view(request) |
37 | | -# |
38 | | -# self.assertEqual(response.status_code, 201) |
39 | | -# self.assertEqual(response.data["title"], self.TITLE) |
40 | | -# self.assertEqual(response.data["short_text"], self.SHORT_TEXT) |
41 | | -# self.assertEqual(response.data["cover_url"], self.COVER_URL) |
42 | | -# |
43 | | -# def test_news_creation_by_not_staff_user(self): |
44 | | -# user = self._user_create(is_staff=False) |
45 | | -# request = self.factory.post("news/", self.CREATE_DATA) |
46 | | -# force_authenticate(request, user=user) |
47 | | -# response = self.news_list_view(request) |
48 | | -# |
49 | | -# self.assertEqual(response.status_code, 403) |
50 | | -# |
51 | | -# def test_news_creation_with_too_long_title(self): |
52 | | -# user = self._user_create(is_staff=True) |
53 | | -# new_data = self.CREATE_DATA |
54 | | -# new_data["title"] = "too_long_string_" * 257 |
55 | | -# |
56 | | -# request = self.factory.post("news/", new_data) |
57 | | -# force_authenticate(request, user=user) |
58 | | -# response = self.news_list_view(request) |
59 | | -# self.assertEqual(response.status_code, 400) |
60 | | -# |
61 | | -# def test_news_creation_with_empty_title(self): |
62 | | -# user = self._user_create(is_staff=True) |
63 | | -# new_data = self.CREATE_DATA |
64 | | -# new_data["title"] = "" |
65 | | -# |
66 | | -# request = self.factory.post("news/", new_data) |
67 | | -# force_authenticate(request, user=user) |
68 | | -# response = self.news_list_view(request) |
69 | | -# self.assertEqual(response.status_code, 400) |
70 | | -# |
71 | | -# def test_news_creation_with_wrong_data(self): |
72 | | -# user = self._user_create(is_staff=True) |
73 | | -# request = self.factory.post("news/", {"wrong_field": "wrong_value"}) |
74 | | -# |
75 | | -# force_authenticate(request, user=user) |
76 | | -# response = self.news_list_view(request) |
77 | | -# self.assertEqual(response.status_code, 400) |
78 | | -# |
79 | | -# def test_news_creation_with_empty_data(self): |
80 | | -# user = self._user_create(is_staff=True) |
81 | | -# request = self.factory.post("news/", {}) |
82 | | -# |
83 | | -# force_authenticate(request, user=user) |
84 | | -# response = self.news_list_view(request) |
85 | | -# self.assertEqual(response.status_code, 400) |
86 | | -# |
87 | | -# def test_news_update(self): |
88 | | -# user = self._user_create(is_staff=True) |
89 | | -# request = self.factory.post("news/", self.CREATE_DATA) |
90 | | -# force_authenticate(request, user=user) |
91 | | -# response = self.news_list_view(request) |
92 | | -# |
93 | | -# news_id = response.data["id"] |
94 | | -# news = News.objects.get(id=news_id) |
95 | | -# |
96 | | -# request = self.factory.patch(f"news/{news.pk}/", {"title": "New title"}) |
97 | | -# force_authenticate(request, user=user) |
98 | | -# response = self.news_detail_view(request, pk=news.pk) |
99 | | -# |
100 | | -# self.assertEqual(response.status_code, 200) |
101 | | -# self.assertEqual(response.data["title"], "New title") |
102 | | -# |
103 | | -# def test_news_update_with_wrong_data(self): |
104 | | -# user = self._user_create(is_staff=True) |
105 | | -# request = self.factory.post("news/", self.CREATE_DATA) |
106 | | -# force_authenticate(request, user=user) |
107 | | -# response = self.news_list_view(request) |
108 | | -# |
109 | | -# news_id = response.data["id"] |
110 | | -# news = News.objects.get(id=news_id) |
111 | | -# |
112 | | -# new_data = self.CREATE_DATA |
113 | | -# new_data["title"] = "" |
114 | | -# |
115 | | -# request = self.factory.patch(f"news/{news.pk}/", new_data) |
116 | | -# force_authenticate(request, user=user) |
117 | | -# response = self.news_detail_view(request, pk=news.pk) |
118 | | -# |
119 | | -# self.assertEqual(response.status_code, 400) |
120 | | -# |
121 | | -# def _user_create(self, is_staff=False): |
122 | | -# request = self.factory.post("auth/users/", USER_CREATE_DATA) |
123 | | -# response = self.user_list_view(request) |
124 | | -# user_id = response.data["id"] |
125 | | -# user = CustomUser.objects.get(id=user_id) |
126 | | -# user.is_staff = is_staff |
127 | | -# user.is_active = True |
128 | | -# user.save() |
129 | | -# return user |
| 1 | +from django.test import TestCase |
| 2 | + |
| 3 | + |
| 4 | +class NewsTestCase(TestCase): |
| 5 | + pass |
0 commit comments