mirror of
https://github.com/QingdaoU/OnlineJudge.git
synced 2024-09-21 08:23:20 +00:00
增加了用visible搜索公告的功能,并增加了相应的测试
This commit is contained in:
parent
1675eed67d
commit
d64b99eed3
@ -62,6 +62,25 @@ class AnnouncementAPITest(APITestCase):
|
||||
def setUp(self):
|
||||
self.client = APIClient()
|
||||
self.url = reverse("announcement_list_api")
|
||||
user = User.objects.create(username="test")
|
||||
user.set_password("test")
|
||||
user.save()
|
||||
|
||||
def test_success_get_data(self):
|
||||
self.assertEqual(self.client.get(self.url).data["code"], 0)
|
||||
|
||||
def test_keyword_announcement(self):
|
||||
Announcement.objects.create(title="aa",
|
||||
content="AA",
|
||||
created_by=User.objects.get(username="test"),
|
||||
visible=True)
|
||||
|
||||
Announcement.objects.create(title="bb",
|
||||
content="BB",
|
||||
created_by=User.objects.get(username="test"),
|
||||
visible=False)
|
||||
|
||||
response = self.client.get(self.url + "?visible=true")
|
||||
self.assertEqual(response.data["code"], 0)
|
||||
for item in response.data["data"]:
|
||||
self.assertEqual(item["visible"], True)
|
||||
|
@ -57,5 +57,8 @@ class AnnouncementAPIView(APIView):
|
||||
---
|
||||
response_serializer: AnnouncementSerializer
|
||||
"""
|
||||
announcement = Announcement.objects.all().order_by("last_update_time")
|
||||
announcement = Announcement.objects.all().order_by("-last_update_time")
|
||||
visible = request.GET.get("visible", None)
|
||||
if visible:
|
||||
announcement = announcement.filter(visible=(visible == "true"))
|
||||
return paginate(request, announcement, AnnouncementSerializer)
|
||||
|
@ -4,7 +4,7 @@ from django.contrib import admin
|
||||
from django.views.generic import TemplateView
|
||||
|
||||
from account.views import UserLoginAPIView, UsernameCheckAPIView, UserRegisterAPIView, UserChangePasswordAPIView, \
|
||||
EmailCheckAPIView
|
||||
EmailCheckAPIView, UserAPIView, UserAdminAPIView
|
||||
from announcement.views import AnnouncementAPIView, AnnouncementAdminAPIView
|
||||
from admin.views import AdminTemplateView
|
||||
|
||||
@ -21,9 +21,11 @@ urlpatterns = [
|
||||
url(r'^api/username_check/$', UsernameCheckAPIView.as_view(), name="username_check_api"),
|
||||
url(r'^api/email_check/$', EmailCheckAPIView.as_view(), name="email_check_api"),
|
||||
url(r'^api/admin/announcement/$', AnnouncementAdminAPIView.as_view(), name="announcement_admin_api"),
|
||||
url(r'^api/admin/user/$', UserAdminAPIView.as_view(), name="user_admin_api"),
|
||||
url(r'^problem/(?P<problem_id>\d+)/$', "problem.views.problem_page", name="problem_page"),
|
||||
|
||||
url(r'^api/announcements/$', AnnouncementAPIView.as_view(), name="announcement_list_api"),
|
||||
url(r'^api/users/$', UserAPIView.as_view(), name="user_list_api"),
|
||||
|
||||
url(r'^admin/contest/$', TemplateView.as_view(template_name="admin/contest/add_contest.html"), name="add_contest_page"),
|
||||
url(r'^problems/$', TemplateView.as_view(template_name="oj/problem/problem_list.html"), name="problem_list_page"),
|
||||
|
Loading…
Reference in New Issue
Block a user