增加了用visible搜索公告的功能,并增加了相应的测试
This commit is contained in:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user