增加了用visible搜索公告的功能,并增加了相应的测试

This commit is contained in:
hohoTT
2015-08-07 20:25:06 +08:00
parent 1675eed67d
commit d64b99eed3
3 changed files with 26 additions and 2 deletions

View File

@@ -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)

View File

@@ -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)